程序與執行緒 1 程序狀態 PCB

2021-08-07 18:07:54 字數 825 閱讀 8352

參考哈工大李治軍老師公開課。

程序:就是正在被計算機執行的程式,比如word,ppt等,都是乙個程序。

計算機系統在某乙個時刻,當只有乙個cpu工作時,它只執行乙個程序,但是使用者在使用計算機時回開啟多個進行,這樣就涉及到了程序的不同狀態。程序可以被分為5個狀態,分別是:新建態、就緒態、執行態、終止態、阻塞態。他們之間的轉換關係如下圖所示:

圖一:程序狀態的轉換關係

對於每乙個程序,作業系統都使用乙個特定的程序控制塊(pcb)來表示,它包含了許多與乙個特定程序相關的資訊,例子如下:

圖二:程序控制塊(pcb)

在pcb中,一般包括如下資訊:

1、 程序的狀態:狀態科包括新建態、就緒態、執行態、終止態、阻塞態。

3、 cpu暫存器這些資訊cpu暫存器包括累加器,索引暫存器,堆疊指標,通用暫存器和其他一些條件碼資訊暫存器。這些資訊描述了程式執行的狀態,與程式計數器一起儲存,以便程序以後的正確執行。

4、 cpu排程資訊:這類資訊包括程序的優先順序,排程佇列的指標和其他排程引數,為作業系統管理程序並進行排程提供支援。

5、 記憶體管理資訊:根據作業系統對記憶體的使用情況,記錄下基址,界限暫存器,頁表、段表等資訊。

6、 記賬資訊:包括cpu時間,實際使用時間,時間界限,使用資料,記賬資料,作業和程序數量等。

7、 i/o狀態資訊包括分配給程序的i/o裝置表,開啟的檔案列表等。

程序,執行緒與執行緒池(1)

傳統方法 建立乙個新的執行緒,由該執行緒執行任務,任務執行完畢後執行緒退出 即時建立,即時銷毀 如果提交給執行緒的任務是執行時間較短,執行次數頻繁,那麼不斷銷毀和不斷建立的開銷則是不可忽略的。執行緒池採用預建立技術,在應用程式啟動之後,立即建立一定數量的執行緒,放入空閒佇列中,這些執行緒處於阻塞狀態...

執行緒 程序(1)

一 併發 程序 執行緒 併發 在乙個時間段內,乙個cpu通過切換的方式,來執行不同的任務 並行 在同一時間,多個cpu執行不同的任務 每個cpu切換執行不同任務 1000s,每個任務執行4s,來回切換 程序 乙個可執行程式在執行中,即為乙個程序 執行緒 1 每個程序都有唯一乙個主線程,執行緒來執行程...

pcb結構鍊錶 程序1 0 程序的概念與PCB

程序就是執行中的程式,但這個概念是抽象的,我們應該更深入 更具體的學習程序 在學習程序之前,我們首先應該對作業系統有乙個初步的了解 任何計算機系統都包含乙個基本的程式集合,稱為作業系統 operator system 作業系統的乙個主要功能就是管理所有的軟硬體資源,我們可以通過乙個例子來理解 管理 ...