0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

閑談進程控制塊PCB的五大作用

如意 ? 來源:CSDN ? 作者:jiaomubai ? 2020-08-21 16:58 ? 次閱讀

為了使參與并發(fā)執(zhí)行的每個程序,包含數(shù)據(jù)都能獨立地運行,在操作系統(tǒng)中必須為之配置一個專門的數(shù)據(jù)結(jié)構(gòu),稱為進程控制塊(PCB,Process Control Block)。進程與PCB是一一對應(yīng)的,用戶進程不能修改。

進程控制塊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服務(wù)的權(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í)行時恢復(fù)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)存或外存中的始址指針,找到相應(yīng)的程序和數(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è)置有相應(yīng)的用于同步的信號量。在PCB中還具有用于實現(xiàn)進程通信的區(qū)域或通信隊列指針等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • pcb
    pcb
    +關(guān)注

    關(guān)注

    4321

    文章

    23119

    瀏覽量

    398460
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6846

    瀏覽量

    123419
  • 進程
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    13964
收藏 人收藏

    評論

    相關(guān)推薦

    深入解析Linux程序與進程

    關(guān)于某個數(shù)據(jù)集合的一次運行活動。作為系統(tǒng)進行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。 程序與進程的關(guān)系 進程的狀態(tài) 基礎(chǔ)進程狀態(tài) 創(chuàng)建狀態(tài):進程在創(chuàng)建時需要申請一個空白
    的頭像 發(fā)表于 12-18 11:01 ?103次閱讀
    深入解析Linux程序與<b class='flag-5'>進程</b>

    一文搞懂Linux進程的睡眠和喚醒

    一、常見的進程狀態(tài)與理解 在操作系統(tǒng)內(nèi)部,有專門用來管理進程的結(jié)構(gòu)體,叫做struct task_struct,也稱作進程控制PCB
    發(fā)表于 11-04 15:15

    極管的作用與原理是什么

    的設(shè)計和工作原理相對復(fù)雜,但它們在電子放大和信號處理方面非常有效。 極管的作用大作用極管可以放大電信號,這是其最基本的功能。通過控制
    的頭像 發(fā)表于 09-24 15:23 ?612次閱讀

    drv594輸入信號的輸入電壓范圍是多少才有放大作用?

    drv594評估板,供電加上3.3v電壓,沒給輸入信號,輸出端為什么也輸出3.3v電壓,另外輸入信號的輸入電壓范圍是多少才有放大作用(在供電電壓為3.3v的情況)下?drv594 可以引入電流反饋嗎,用來保證輸出電流不受負載變化的影響,有好的建議嗎
    發(fā)表于 09-14 07:13

    vca821兩級級聯(lián)為什么后一級放大作用幾乎沒有,為什么?

    vca821兩級級聯(lián)為什么后一級放大作用幾乎沒有?
    發(fā)表于 09-05 07:45

    TRF37D73對發(fā)送的射頻信號可以起放大作用,對接收的射頻信號可以起放大作用嗎?

    1、TRF37D73對發(fā)送的射頻信號可以起放大作用,對接收的射頻信號可以起放大作用嗎? 2、TRF37D73和CC430配合使用,請問有相關(guān)的電路設(shè)計資料嗎?TRF37D73放在射頻電路的哪個部位?
    發(fā)表于 09-04 07:37

    聚徽觸控-工控主板的五大優(yōu)勢分別是什么

    工控主板的五大優(yōu)勢主要如下:
    的頭像 發(fā)表于 07-17 09:58 ?337次閱讀

    EVASH Ultra EEPROM:被Google認定為五大硬件廠商之一

    EVASH Ultra EEPROM:被Google認定為五大硬件廠商之一
    的頭像 發(fā)表于 07-01 12:47 ?342次閱讀

    運動控制和過程控制的區(qū)別和聯(lián)系

    運動控制和過程控制是自動化技術(shù)領(lǐng)域中的兩個重要分支,它們在工業(yè)生產(chǎn)和智能制造中發(fā)揮著關(guān)鍵作用。盡管它們在某些方面存在相似之處,但它們在目標、方法和應(yīng)用領(lǐng)域上有著明顯的區(qū)別。本文將詳細介紹運動
    的頭像 發(fā)表于 06-13 09:19 ?3086次閱讀

    PCB抄板的幾個必要步驟

    一站式PCBA智造廠家今天為大家講講PCB抄板的五大步驟有哪些?PCB抄板的五大步驟。PCB抄板是一種逆向工程技術(shù),旨在復(fù)制已有電子產(chǎn)品和電
    的頭像 發(fā)表于 06-11 10:59 ?529次閱讀

    PCB印刷電路板試驗條件-Lab Companion

    ? ? ? 為了描述控制進程的運行,系統(tǒng)中存放進程的管理和控制信息的數(shù)據(jù)結(jié)構(gòu)稱為進程控制
    的頭像 發(fā)表于 03-28 14:30 ?448次閱讀
    <b class='flag-5'>PCB</b>印刷電路板試驗條件-Lab Companion

    影響pcb蝕刻性能的五大因素有哪些?

    一站式PCBA智造廠家今天為大家講講影響pcb蝕刻性能的因素有哪些方面?影響pcb蝕刻性能的因素。PCB蝕刻是PCB制造過程中的關(guān)鍵步驟之一,影響蝕刻性能的因素有很多。深圳領(lǐng)卓電子是專
    的頭像 發(fā)表于 03-28 09:37 ?989次閱讀
    影響<b class='flag-5'>pcb</b>蝕刻性能的<b class='flag-5'>五大</b>因素有哪些?

    pcb等離子處理的5大作用

    pcb等離子處理的5大作用
    的頭像 發(fā)表于 03-05 10:24 ?981次閱讀

    2024年鋰電行業(yè)五大投資變化及未來三大投資新機會

    GGII梳理了2023年鋰電行業(yè)五大投資變化及未來三大投資新機會。
    的頭像 發(fā)表于 01-15 09:27 ?1179次閱讀
    2024年鋰電行業(yè)<b class='flag-5'>五大</b>投資變化及未來三大投資新機會

    電機的五大啟動方式

    自動化小白必學(xué)!電機的五大啟動方式
    的頭像 發(fā)表于 01-09 10:39 ?888次閱讀
    電機的<b class='flag-5'>五大</b>啟動方式