操作系統筆記(1)

對於進程和線程

進程

進程的定義:

①一個正在執行的程序
②一個正在計算機上執行的程序實例
③能分配給處理器並由處理器執行的實體
④由一組執行的指令、一個當前狀態和一組相關的系統資源表徵的活動單元

我們可以把進程視爲由一組元素組成的實體,進程的兩個基本元素是程序代碼和與代碼相關聯的數據集
處理器開始執行這個程序代碼,並且我們把這個執行實體稱爲進程。

進程執行的任意過程,都可以由如下元素對應:

標識符:與進程有關的唯一標識符,用於區分其他進程
狀態:若進程正在執行,則進程處於運行態
優先級:相對於其他進程的優先順序
程序計數器:程序中即將進行的下一條指令的地址
內存指針:包括程序代碼和進程相關數據的指針,以及與其他進程共享內存塊的指針
上下文數據:進程執行時處理器的寄存器中的數據
I/O狀態信息:包括顯世I/O請求、分配給進程的I/O設備和被進程使用的文件列表等
記賬信息:包括處理器時間總和、使用的時鐘數總和、時間限制、記帳號等

這些信息存在於一個名爲進程控制塊的數據結構中


進程特點

資源所有權

進程包括存放進程映像的虛擬地址空間;進程影響是程序、數據、棧、和數據控制塊中定義的屬性集。進程總具有對資源的控制權或所有權。而操作系統具有預防進程間發生不必要資源衝突的保護功能。

調度/執行

進程執行採用一個或者多程序的執行路徑(軌跡),不同進程的執行過程會交替進行。因此,進程具有執行態(運行、就緒等)和分配給其的優先級,是可以被操作系統調度和分配的實體。


進程狀態

列出爲進程執行的指令序列,可描述單個進程的行爲,這樣的序列稱爲進程軌跡。給出各個進程軌跡的交替方式,可描述處理器的行爲。

線程

上述進程的兩個特點是獨立的,因此操作系統應該能分別處理它們。很多操作系統,特別是近期開發的操作系統已在這樣做。爲了區分這兩個特點,我們通常將分派的單位稱爲線程或者輕量級進程,而將擁有資源所有權的單位稱之爲進程任務

多線程

多線程是指操作系統在單個進程內支持多個併發執行路徑的能力。每個進程中僅僅執行單個進程的傳統方法,稱爲單線程方法

線程分類

線程分類分爲用戶級和內核級分類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章