原文:我是如何學習寫一個操作系統(五):故事的高潮之進程和線程1

前言 為什么取這個標題呢 一是進程和線程是作為操作系統里最重要最核心的一部分。二是確實吃冰棍拉冰棍,沒話,強行湊標題和之前的標題差不多字數。 前一章寫了系統調用的過程,算是一個小插曲,這個部分不管在哪里應該都是可以的。 現在的這個系列已經和之前的標題漸行漸遠了,原本是想以之前寫的一個玩具型操作系統FragileOS為主線,但是在看書學習的過程中稍微改了一下方向,已經不是特別關注一個操作系統的實現的 ...

2019-08-27 11:59 0 474 推薦指數:

查看詳情

我是如何學習一個操作系統(六):進程的調度

前言 既然引進了多進程,其實也就是在進程之間來回切換,那么就會有進程之間的調度問題。實則是在可運行進程之間分配有限的處理器時間資源的內核子系統。 幾個簡單的CPU調度算法 First Come, First Served(FCFS) 其實就是一個先進先出隊列了,也就是說先申請 ...

Wed Aug 28 18:25:00 CST 2019 0 445
我是如何學習一個操作系統(一):開篇

前言 有人說程序員的三大浪漫分別是編譯原理、操作系統和計算機網絡 在之前完成了一兩個小軟件和網站后遇見了編譯原理,也不知道為什么就傻傻的學,還寫了一個從零編譯器的系列學習筆記,不過都是小打小鬧,只能算作摸到了一點點入門的門檻。再后來想深入學習的時候,因為暑假在家很多書買來的話再帶 ...

Sat Aug 24 06:17:00 CST 2019 8 1765
我是如何學習一個操作系統(七):進程的同步與信號量

前言 在多進程的運行環境下,進程是並發執行的,不同進程間存在着不同的相互制約關系。為了協調進程之間的相互制約關系,達到資源共享和進程協作,避免進程之間的沖突,引入了進程同步的概念。 臨界資源 多個進程可以共享系統中的各種資源,但其中許多資源一次只能為一個進程所使用,我們把一次只允許一個進程 ...

Thu Aug 29 19:33:00 CST 2019 0 491
操作系統線程進程

以下內容轉自於 https://www.cnblogs.com/coder-programming/p/10595804.html 1.進程線程之間有什么區別? 2.進程線程都各有什么特點? 3.進程之間的是怎么進行交互的呢? 4.什么是緩沖區溢出? 5.進程 ...

Tue Nov 05 18:35:00 CST 2019 0 390
我是如何學習一個操作系統(九):文件系統

前言 這個應該是這個系列的尾聲了,一個完整的操作系統可能最主要的也就是分成這幾大模塊:進程管理、內存管理和文件系統。計算機以進程為基本單位進行資源的調度和分配;而與用戶的交互,基本單位則是文件 生磁盤 文件正是對生磁盤的抽象 磁盤的組成 一個磁盤由多個盤面串聯而成,而一個盤面 ...

Mon Sep 02 00:17:00 CST 2019 0 919
操作系統學習筆記(一) 進程線程模型

進程可以說是操作系統最為核心的一個抽象,而線程可以認為是一種輕量級的進程,或者說一個進程內的多個迷你進程。 一、進程的模型 進程(process):進程一個正在運行的程序的實例。對於一個單核的處理器,每個時刻只能運行一個程序,但在每一個時間段,它可能運行多個進程,這樣就產生了並行的錯覺 ...

Wed Oct 11 06:29:00 CST 2017 0 1176
操作系統學習筆記(三) 進程線程的調度

對於多道程序設計的系統,就會有多個進程或者線程在同時競爭CPU。對於單核系統,調度問題,就是選擇下一個要運行的進程或者線程是哪一個線程的調度與進程類似,對於按內核級別的調度,與線程所屬的進程基本沒有關系。 進程切換的代價是比較大的,包括用戶態到內核態的切換、保存當前進程的狀態、內存映像 ...

Mon Oct 23 20:31:00 CST 2017 0 5867
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM