91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

PCB進程的創(chuàng)建和終止過程

麥辣雞腿堡 ? 來源:盼盼編程 ? 作者:晨夢思雨 ? 2023-10-08 15:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PCB進程控制塊

獨立運行基本單位的標志:創(chuàng)建進程時創(chuàng)建PCB,進程結束時回PCB,進程隨之消亡。系統(tǒng)是通過PCB,感知進程的存在。PCB已成為,進程存在于系統(tǒng)中的唯一標志。

實現(xiàn)間斷性運行方式:進程暫停運行時,必須保留,運行時的CPU等相關信息。進程被再次運行時,需恢復CPU等相關信息。

提供進程管理需要的信息:當進程開始運行時,根據(jù)該進程PCB中,記錄的程序和數(shù)據(jù),在內存或外存中起始地址指針,找到相應的程序和數(shù)據(jù)。

提供進程調度需要的信息:只有處于就緒狀態(tài)的進程,才能被調度。而進程的狀態(tài)就記錄在PCB中、以及優(yōu)先級、等待時間、已執(zhí)行時間等其他信息。

實現(xiàn)與其他進程的同步與通信:進程同步機制,用于實現(xiàn)多進程協(xié)調運行。在PCB中,具有實現(xiàn)進程通信的區(qū)域或通信隊列指針等。

PCB進程控制塊中的信息:PCB中的信息大致上可分為4類,分別是:進程標識符、CPU狀態(tài)、調度信息、控制信息。

進程標識符:分外部標識符和內部標識符,外部標識符即進程名稱,可由父進程指定,通常包括字符和數(shù)字的組成。內部標識符,由操作系統(tǒng)提供的,具有唯一性的進程ID。

CPU狀態(tài):主要由各種寄存器中內容組成,如通用寄存器、指令計數(shù)器(下一條指令的地址)、程序狀態(tài)(狀態(tài)信息、條件碼、執(zhí)行方式、屏蔽中斷等標志)和棧指針(指向用于存放過程和系統(tǒng)調用參數(shù)及調用地址的系統(tǒng)棧的棧頂)構成。

調度信息:包含進程狀態(tài)、進程優(yōu)先級、其他信息、事件(阻塞原因)。

進程狀態(tài),是進程調度和對換時的依據(jù),優(yōu)先級高的進程,應優(yōu)先獲得CPU執(zhí)行。

控制進程所必須的信息,包括程序和數(shù)據(jù)的存儲地址,以便調度該進程執(zhí)行時,能從PCB中找到其程序和數(shù)據(jù),進程同步和通信機制,如消息隊列、信號量等。

進程的創(chuàng)建和終止過程

創(chuàng)建進程過程:向操作系統(tǒng)申請空白PCB及進程ID、分配運行所需的資源、初始化PCB、等待插入進程調度就緒隊列。

相關資源或從操作系統(tǒng)或從父進程獲得,資源需求需提前告知,操作系統(tǒng)或父進程好為其分配資源。

PCB至少有2種信息需要初始化

1.標識信息,即將本進程ID和父進程ID填入PCB控制塊中

2.狀態(tài)信息,指令計數(shù)器指向程序的入口地址、棧指針指向棧頂控制信息。

進程的終止分為:讀取進程狀態(tài)、終止進程、終止子孫進程、釋放資源、移出PCB隊列。

操作系統(tǒng)通過進程ID從PCB集合中檢索出該進程的PCB,從中讀出該進程的狀態(tài)。

如果該進程狀態(tài)為執(zhí)行態(tài),則終止進程的執(zhí)行,并重置調度標志位真。

如果該進程擁有子孫進程,則一并將所有子孫進程終止,防止子孫進程成為僵尸進程等不可控的進程。

接著釋放資源,將資源歸還給操作系統(tǒng)或父進程。最后就是移出PCB隊列了,等待其他進程搜集信息。

進程阻塞和喚醒的事件

1.請求系統(tǒng)服務而得不到滿足時,如問系統(tǒng)請求打印。

2.啟動的操作需同步時:如該操作和請求該操作的進程需同步運行。

3.新數(shù)據(jù)尚未到達:如進程A寫,進程B讀,則A未寫,完B不能讀。

4.無新工作可做。

進程的掛起和激活

1.進程的掛起過程,由進程自己,或其父進程suspend原語完成。將該進程PCB移到指定區(qū)域,注意狀態(tài)的改變,有可能要重新調度。

2.進程的激活過程,激活active原語激活進程。激活原語將進程從外存調入內存,檢查該進程的現(xiàn)行狀態(tài)并進行相應操作。

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

    關注

    37

    文章

    7402

    瀏覽量

    129299
  • 進程
    +關注

    關注

    0

    文章

    211

    瀏覽量

    14536
  • 系統(tǒng)
    +關注

    關注

    1

    文章

    1046

    瀏覽量

    22312
  • PCB
    PCB
    +關注

    關注

    1

    文章

    2308

    瀏覽量

    13204
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    解析Linux的進程、線程和協(xié)程

    系統(tǒng)的穩(wěn)定性和安全性。 (3)創(chuàng)建與銷毀:Linux使用fork()系統(tǒng)調用來創(chuàng)建進程,通過exit()來終止進程。 線程(Thread
    發(fā)表于 12-22 11:00

    進程的控制

    的請求而終止運行,如操作員或操作系統(tǒng)干預、父進程請求和父進程終止。   操作系統(tǒng)終止進程
    發(fā)表于 01-15 06:05

    【Linux學習雜談】之創(chuàng)建單例進程

    本帖最后由 michael_llh 于 2016-9-30 17:53 編輯 之前我們創(chuàng)建的守護進程當中成功實現(xiàn)了進程在系統(tǒng)后臺運行,沒有收到控制臺的約束,但是也同時引發(fā)一個問題就是當我
    發(fā)表于 09-30 17:51

    在Linux系統(tǒng)中PCB如何創(chuàng)建進程

    PCB包含了一個進程的重要運行信息,所以我們將圍繞在創(chuàng)建一個新進程時,如何來建立一個新的PCB的這一個
    發(fā)表于 08-05 07:58

    Linux內核創(chuàng)建進程過程分析

    PCB包含了一個進程的重要運行信息,所以我們將圍繞在創(chuàng)建一個新進程時,如何來建立一個新的PCB的這一個
    發(fā)表于 08-08 08:42

    如何理解ARM中的進程?

    標識,系統(tǒng)通過PCB的存在而感知進程的存在。????系統(tǒng)通過PCB進程進行管理和調度。PCB包括創(chuàng)建
    發(fā)表于 10-23 16:02

    進程是何時被創(chuàng)建的?如何去使用線程?

    進程是何時被創(chuàng)建的?進程何時終止進程的狀態(tài)分為哪幾種?如何去使用線程?線程是如何是如何實現(xiàn)的?
    發(fā)表于 07-23 08:57

    使用DigiPCBA創(chuàng)建和復用PCB封裝

    知道,是可以與 Altium Designer 電子設計工具和流行的機械設計工具集成的電子數(shù)據(jù)管理和元器件管理平臺。在 DigiPCBA 中,PCB 封裝的創(chuàng)建和復用非常容易。大多數(shù)設計工具都沒辦法使
    發(fā)表于 06-17 15:48

    altium-designer使用PCB向導來創(chuàng)建PCB詳細過程

    altium-designer使用PCB向導來創(chuàng)建PCB詳細過程,感興趣的可以看看。
    發(fā)表于 07-22 16:08 ?0次下載

    如何為密集的高約束PCB設計創(chuàng)建和管理約束

    本視頻將會概述基本的約束管理概念,并演示如何為密集的高約束 PCB 設計創(chuàng)建和管理約束。
    的頭像 發(fā)表于 05-17 06:01 ?3091次閱讀
    如何為密集的高約束<b class='flag-5'>PCB</b>設計<b class='flag-5'>創(chuàng)建和</b>管理約束

    如何創(chuàng)建和管理約束密集型、高度約束的PCB設計

    這個視頻概述基本約束管理的概念和演示了如何創(chuàng)建和管理約束密集、高度受限的PCB設計。
    的頭像 發(fā)表于 11-07 07:08 ?3818次閱讀

    助于創(chuàng)建和管理符號的PartQuest

    PartQuest促進的過程創(chuàng)建和管理部分的符號和貼花紙庫和填充數(shù)據(jù)手冊數(shù)據(jù)庫部分的信息。該實用程序下載符號,貼花和部分信息從供應商網(wǎng)站基于部分描述。
    的頭像 發(fā)表于 11-06 07:05 ?4557次閱讀

    Linux下進程創(chuàng)建、執(zhí)行和終止

     許多操作系統(tǒng)提供的都是產(chǎn)生進程的機制,也就是說,首先在新的地址空間里創(chuàng)建進程、讀入可執(zhí)行文件,后再開始執(zhí)行。Linux中進程創(chuàng)建很特別,
    發(fā)表于 06-11 09:21 ?850次閱讀

    如何創(chuàng)建和使用LabVIEW中的LLB文件

    如何創(chuàng)建和使用LabVIEW中的LLB文件
    發(fā)表于 11-22 16:12 ?0次下載

    探討一下進程創(chuàng)建終止

    在啟動進程時(好像會創(chuàng)建一個空轉進程),通常會創(chuàng)建若干進程,其中包括前臺進程(負責與用戶交互)和
    的頭像 發(fā)表于 08-17 17:59 ?3065次閱讀
    探討一下<b class='flag-5'>進程</b>的<b class='flag-5'>創(chuàng)建</b>與<b class='flag-5'>終止</b>