進程控制塊是什么意思?進程控制塊PCB的作用是什么?
進程控制塊是什么意思?
操作系統(tǒng)內(nèi)的每個進程表示,釆用進程控制塊(Process Control Block,PCB),也稱為任務控制塊。
每個進程控制塊包含許多與當前進程相關(guān)的信息:
進程狀態(tài):狀態(tài)可以包括新的、就緒、運行、等待、停止等。
程序計數(shù)器:計數(shù)器表示進程將要執(zhí)行的下個指令的地址。
CPU 寄存器:根據(jù)計算機體系結(jié)構(gòu)的不同,寄存器的類型和數(shù)量也會不同。它們包括累加器、索引寄存器、堆棧指針、通用寄存器和其他條件碼信息寄存器。在發(fā)生中斷時,這些狀態(tài)信息與程序計數(shù)器一起需要保存,以便進程以后能正確地繼續(xù)執(zhí)行。
CPU 調(diào)度信息:這類信息包括進程優(yōu)先級、調(diào)度隊列的指針和其他調(diào)度參數(shù)。
內(nèi)存管理信息:根據(jù)操作系統(tǒng)使用的內(nèi)存系統(tǒng),這類信息可以包括基地址和界限寄存器的值、頁表或段表。
記賬信息:這類信息包括 CPU 時間、實際使用時間、時間期限、記賬數(shù)據(jù)、作業(yè)或進程數(shù)量等。
I/O 狀態(tài)信息:這類信息包括分配給進程的 I/O 設(shè)備列表、打開文件列表等。
進程控制塊PCB的作用:
為了便于系統(tǒng)描述和管理進程的運行,在OS的核心為每個進程專門定義了一個數(shù)據(jù)結(jié)構(gòu)——進程控制塊PCB(ProcessControlBlock)。PCB作為進程實體的一部分,記錄了操作系統(tǒng)所需的,用于描述進程的當前情況以及管理進程運行的全部信息,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。PCB的作用是使一個在多道程序環(huán)境下不能獨立運行的程序(含數(shù)據(jù))成為一個能獨立運行的基本單位,一個能與其他進程并發(fā)執(zhí)行的進程。
(1)PCB作為獨立運行基本單位的標志。當一個程序(含數(shù)據(jù))配置了PCB后,就表示它已經(jīng)是一個能在多道程序環(huán)境下獨立運行的、合法的基本單位,也就具有取得OS服務的權(quán)力,如打開文件系統(tǒng)中的文件,請求獲得系統(tǒng)中的I/O設(shè)備,以及與其它相關(guān)進程的進行通信等。因此,當系統(tǒng)創(chuàng)建一個新進程時,就為它建立了一個PCB。進程結(jié)束時又回收其PCB,進程于是也隨之消亡。系統(tǒng)是通過PCB感知進程的存在的。事實上,PCB已成為進程存在于系統(tǒng)中的唯一標志。
(2)PCB能實現(xiàn)間斷性運行方式。在多道程序環(huán)境下,程序是采用停停走走間斷性的運行方式運行的。當進程因阻塞而暫停運行時,它必須保留自己運行時的CPU現(xiàn)場信息。在有了PCB后,系統(tǒng)就可以將CPU現(xiàn)場信息保存在被中斷進程的PCB中,供該進程再次被調(diào)度執(zhí)行時恢復CPU現(xiàn)場時使用。由此,可再次明確,在多道程序環(huán)境下,作為傳統(tǒng)意義上的靜態(tài)程序,因其并不具有保護或保存自己運行現(xiàn)場的手段,無法保證其運行結(jié)果的可再現(xiàn)性,從而失去運行的意義。
(3)PCB提供進程管理所需要的信息。當調(diào)度程序調(diào)度到某進程運行時,只能根據(jù)該進程PCB中記錄的程序和數(shù)據(jù)在內(nèi)存或外存中的始址指針,找到相應的程序和數(shù)據(jù);在進程運行過程中,當需要訪問文件系統(tǒng)中的文件或I/O設(shè)備時,也都需要借助于PCB中的信息。另外,還可根據(jù)PCB中的資源清單了解到該進程所需的全部資源等。可見,在進程的整個生命周期中,操作系統(tǒng)總是根據(jù)PCB實施對進程的控制和管理。
(4)PCB提供進程調(diào)度所需要的信息。只有處于就緒狀態(tài)的進程才能被調(diào)度執(zhí)行,而在PCB中就提供了進程出于何種狀態(tài)的信息。如果進程處于就緒狀態(tài),系統(tǒng)便將它插入到進程就緒隊列中,等待著調(diào)度程序的調(diào)度;另外在進行調(diào)度時往往還需要了解進程的其他信息,如在優(yōu)先級調(diào)度算法中,就需要知道進程的優(yōu)先級。在有些較為公平的調(diào)度算法中,還需要知道進程的等待時間和已執(zhí)行過的事件等。
(5)PCB實現(xiàn)與其他進程的同步與通信。進程同步機制是用于實現(xiàn)諸進程的協(xié)調(diào)運行的,在采用信號量機制時,它要求在每個進程中都設(shè)置有相應的用于同步的信號量。在PCB中還具有用于實現(xiàn)進程通信的區(qū)域或通信隊列指針等。
關(guān)鍵詞: 進程控制塊 進程控制塊PCB的作用 CPU
責任編輯:hnmd004
- 進程控制塊是什么意思?進程控制塊PCB的作用2023-06-02
- 死亡賠償金分城鎮(zhèn)和農(nóng)村嗎?死亡賠償金怎么2023-06-02
- 河津古今天下景區(qū)門票價格 老年人免門票嗎2023-06-02
- 建行定投基金如何贖回?建行定投解約后多久2023-06-02
- 你知道微信怎樣設(shè)置到賬提醒嗎?到賬提醒提2023-06-02
- 股票左側(cè)加倉是指什么?股票右側(cè)加倉是指什2023-06-02
- 什么是量比?量比在k線中怎么看?2023-06-02
- 看到家里人因為自己的陋習而深受影響 雙子2023-06-02
- 婚前房產(chǎn)加上女方名字有效嗎?婚前房產(chǎn)是夫2023-06-02
- 地役權(quán)人是什么意思?地役權(quán)人有哪些權(quán)利和2023-06-02
- 環(huán)球快報:膏藥什么原理一貼就不疼?仙佑膏2023-06-02
- 天津市津南區(qū)八里臺鎮(zhèn)局部發(fā)生地面沉降,受2023-06-02
- 天天熱訊:最新!湖南省政府任免國家工作人2023-06-02
- 文旅部:暑期、汛期出游謹慎參與涉水活動,2023-06-02
- 冀東水泥每年水泥用量?冀東水泥重組的利與2023-06-02
- 宇航員返回地球需要多長時間?航天員返回地2023-06-02
- 對手盤什么意思?股票怎么看對手盤?2023-06-02
- 房產(chǎn)稅開征時間是什么時候?房產(chǎn)稅征收對象2023-06-02
- 遺囑無法鑒定真?zhèn)伟捶ǘɡ^承辦理嗎?法定繼2023-06-02
- 玉米煮還是蒸 玉米水煮和蒸哪個好吃?2023-06-02
- 域名解析服務器是什么意思?域名怎樣才能解2023-06-02
- 天蝎座就是想要多存點錢 因為身上沒有安全2023-06-02
- qq飛車多少才能抽到水晶?qq飛車水晶許愿池2023-06-02
- 期貨多空對手盤怎么解釋?期貨同一對手盤可2023-06-02
- 怎么辦理房屋繼承權(quán)?辦理房屋繼承權(quán)方式2023-06-02
- 信陽市委書記蔡松濤深入羅山縣、息縣調(diào)研“2023-06-02
- 清蒸魚用什么魚做好吃一點?清蒸魚最正宗的2023-06-02
- 哆啦A夢臺詞反日咋回事 哆啦A夢臺詞日本戰(zhàn)2023-06-02
- 滅火器損壞怎么處罰?滅火器損壞是什么意思2023-06-02
- 還等嗎?14代酷睿桌面版馬甲登場 支持Wi-F2023-06-02