国産精品久久久久久久,国产亚洲精品第一综合麻豆,国产精品国产三级国产av中文,国产性色av高清在线观看,国产精品久久人妻互换毛片

首頁 > 購物 > 正文

進(jìn)程控制塊是什么意思?進(jìn)程控制塊PCB的作用是什么?

2023-06-02 10:02:11來源:世界金屬報(bào)網(wǎng)

進(jìn)程控制塊是什么意思?操作系統(tǒng)內(nèi)的每個(gè)進(jìn)程表示,釆用進(jìn)程控制塊(Process Control Block,PCB),也稱...

進(jìn)程控制塊是什么意思?

操作系統(tǒng)內(nèi)的每個(gè)進(jìn)程表示,釆用進(jìn)程控制塊(Process Control Block,PCB),也稱為任務(wù)控制塊。

每個(gè)進(jìn)程控制塊包含許多與當(dāng)前進(jìn)程相關(guān)的信息:

進(jìn)程狀態(tài):狀態(tài)可以包括新的、就緒、運(yùn)行、等待、停止等。

程序計(jì)數(shù)器:計(jì)數(shù)器表示進(jìn)程將要執(zhí)行的下個(gè)指令的地址。

CPU 寄存器:根據(jù)計(jì)算機(jī)體系結(jié)構(gòu)的不同,寄存器的類型和數(shù)量也會(huì)不同。它們包括累加器、索引寄存器、堆棧指針、通用寄存器和其他條件碼信息寄存器。在發(fā)生中斷時(shí),這些狀態(tài)信息與程序計(jì)數(shù)器一起需要保存,以便進(jìn)程以后能正確地繼續(xù)執(zhí)行。

CPU 調(diào)度信息:這類信息包括進(jìn)程優(yōu)先級(jí)、調(diào)度隊(duì)列的指針和其他調(diào)度參數(shù)。

內(nèi)存管理信息:根據(jù)操作系統(tǒng)使用的內(nèi)存系統(tǒng),這類信息可以包括基地址和界限寄存器的值、頁表或段表。

記賬信息:這類信息包括 CPU 時(shí)間、實(shí)際使用時(shí)間、時(shí)間期限、記賬數(shù)據(jù)、作業(yè)或進(jìn)程數(shù)量等。

I/O 狀態(tài)信息:這類信息包括分配給進(jìn)程的 I/O 設(shè)備列表、打開文件列表等。

進(jìn)程控制塊PCB的作用:

為了便于系統(tǒng)描述和管理進(jìn)程的運(yùn)行,在OS的核心為每個(gè)進(jìn)程專門定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)——進(jìn)程控制塊PCB(ProcessControlBlock)。PCB作為進(jìn)程實(shí)體的一部分,記錄了操作系統(tǒng)所需的,用于描述進(jìn)程的當(dāng)前情況以及管理進(jìn)程運(yùn)行的全部信息,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。PCB的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù))成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程。

(1)PCB作為獨(dú)立運(yùn)行基本單位的標(biāo)志。當(dāng)一個(gè)程序(含數(shù)據(jù))配置了PCB后,就表示它已經(jīng)是一個(gè)能在多道程序環(huán)境下獨(dú)立運(yùn)行的、合法的基本單位,也就具有取得OS服務(wù)的權(quán)力,如打開文件系統(tǒng)中的文件,請(qǐng)求獲得系統(tǒng)中的I/O設(shè)備,以及與其它相關(guān)進(jìn)程的進(jìn)行通信等。因此,當(dāng)系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程時(shí),就為它建立了一個(gè)PCB。進(jìn)程結(jié)束時(shí)又回收其PCB,進(jìn)程于是也隨之消亡。系統(tǒng)是通過PCB感知進(jìn)程的存在的。事實(shí)上,PCB已成為進(jìn)程存在于系統(tǒng)中的唯一標(biāo)志。

(2)PCB能實(shí)現(xiàn)間斷性運(yùn)行方式。在多道程序環(huán)境下,程序是采用停停走走間斷性的運(yùn)行方式運(yùn)行的。當(dāng)進(jìn)程因阻塞而暫停運(yùn)行時(shí),它必須保留自己運(yùn)行時(shí)的CPU現(xiàn)場(chǎng)信息。在有了PCB后,系統(tǒng)就可以將CPU現(xiàn)場(chǎng)信息保存在被中斷進(jìn)程的PCB中,供該進(jìn)程再次被調(diào)度執(zhí)行時(shí)恢復(fù)CPU現(xiàn)場(chǎng)時(shí)使用。由此,可再次明確,在多道程序環(huán)境下,作為傳統(tǒng)意義上的靜態(tài)程序,因其并不具有保護(hù)或保存自己運(yùn)行現(xiàn)場(chǎng)的手段,無法保證其運(yùn)行結(jié)果的可再現(xiàn)性,從而失去運(yùn)行的意義。

(3)PCB提供進(jìn)程管理所需要的信息。當(dāng)調(diào)度程序調(diào)度到某進(jìn)程運(yùn)行時(shí),只能根據(jù)該進(jìn)程PCB中記錄的程序和數(shù)據(jù)在內(nèi)存或外存中的始址指針,找到相應(yīng)的程序和數(shù)據(jù);在進(jìn)程運(yùn)行過程中,當(dāng)需要訪問文件系統(tǒng)中的文件或I/O設(shè)備時(shí),也都需要借助于PCB中的信息。另外,還可根據(jù)PCB中的資源清單了解到該進(jìn)程所需的全部資源等??梢?,在進(jìn)程的整個(gè)生命周期中,操作系統(tǒng)總是根據(jù)PCB實(shí)施對(duì)進(jìn)程的控制和管理。

(4)PCB提供進(jìn)程調(diào)度所需要的信息。只有處于就緒狀態(tài)的進(jìn)程才能被調(diào)度執(zhí)行,而在PCB中就提供了進(jìn)程出于何種狀態(tài)的信息。如果進(jìn)程處于就緒狀態(tài),系統(tǒng)便將它插入到進(jìn)程就緒隊(duì)列中,等待著調(diào)度程序的調(diào)度;另外在進(jìn)行調(diào)度時(shí)往往還需要了解進(jìn)程的其他信息,如在優(yōu)先級(jí)調(diào)度算法中,就需要知道進(jìn)程的優(yōu)先級(jí)。在有些較為公平的調(diào)度算法中,還需要知道進(jìn)程的等待時(shí)間和已執(zhí)行過的事件等。

(5)PCB實(shí)現(xiàn)與其他進(jìn)程的同步與通信。進(jìn)程同步機(jī)制是用于實(shí)現(xiàn)諸進(jìn)程的協(xié)調(diào)運(yùn)行的,在采用信號(hào)量機(jī)制時(shí),它要求在每個(gè)進(jìn)程中都設(shè)置有相應(yīng)的用于同步的信號(hào)量。在PCB中還具有用于實(shí)現(xiàn)進(jìn)程通信的區(qū)域或通信隊(duì)列指針等。

關(guān)鍵詞: 進(jìn)程控制塊 進(jìn)程控制塊PCB的作用 CPU

責(zé)任編輯:hnmd004