国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

操作系統(tǒng)進(jìn)程定義和PCB詳解

這篇具有很好參考價值的文章主要介紹了操作系統(tǒng)進(jìn)程定義和PCB詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

? ?進(jìn)程的定義和PCB

? ? ? 什么是進(jìn)程?進(jìn)程就是一個運(yùn)行起來(也就是說加載到內(nèi)存)的一個程序。而程序的本質(zhì)就是文件,當(dāng)我們寫完代碼保存,它便形成了一個保存在磁盤上的二進(jìn)制代碼文件。由于馮諾伊曼體系,cpu只和存儲進(jìn)行數(shù)據(jù)交流,因此要想cpu執(zhí)行,必須先將外存上的文件載入內(nèi)存中,而磁盤上文件加載到了內(nèi)存時也就變成了進(jìn)程。

? ? PCB:事實(shí)上由于在內(nèi)存中同時運(yùn)行的進(jìn)程很多,操作系統(tǒng)需要對所有的進(jìn)程進(jìn)行一個統(tǒng)一的管理調(diào)度,就例如大學(xué)校園里學(xué)校將每個學(xué)生的學(xué)號,姓名,年齡通過excel管理在一張表上,操作系統(tǒng)在內(nèi)部定義了一個PCB(Process Control Block)進(jìn)程控制塊。? PCB本質(zhì)上就是一個內(nèi)核用c語言定義的結(jié)構(gòu)體。?當(dāng)一個進(jìn)程進(jìn)入到內(nèi)存時,操作系統(tǒng)就對應(yīng)的創(chuàng)建一個進(jìn)程控制塊PCB對該進(jìn)程進(jìn)行管理,每個PCB都有一個唯一的PID。所謂創(chuàng)建進(jìn)程,其實(shí)就是創(chuàng)建PCB。

? ? 類似的,PCB將進(jìn)程的各種特征通過一個struck結(jié)構(gòu)體保存,操作系統(tǒng)通過結(jié)構(gòu)體指針對進(jìn)程進(jìn)行操作。類似于:

struct task_struct {
          //進(jìn)程所有屬性
          //進(jìn)程所對應(yīng)的代碼和地址
          struct tast_struct *next;//指向下一個進(jìn)程的指針
                  }
            struct tast_struct *p1 = malloc(struct task_struct);
                  p1->進(jìn)程屬性;
            

而同時內(nèi)存為了管理不同的PCB,操作系統(tǒng)創(chuàng)建了一個數(shù)據(jù)結(jié)構(gòu)對PCB進(jìn)行管理。將PCB依次首尾相連構(gòu)建成一個鏈表。

其好處是,對進(jìn)程管理就簡化成對進(jìn)程的PCB整個鏈表進(jìn)行管理。進(jìn)程控制就變?yōu)榱藢CB鏈表這個內(nèi)核數(shù)據(jù)結(jié)構(gòu)的增刪查改。

(有的內(nèi)核版本管理PCB的數(shù)據(jù)結(jié)構(gòu)可能不是鏈表,還可以是數(shù)組,索引表等數(shù)據(jù)結(jié)構(gòu))

操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

如圖所示,可以更好的理解PCB,進(jìn)程,文件之間的關(guān)系。進(jìn)程 = 該進(jìn)程的代碼 + 指向該進(jìn)程的進(jìn)程控制塊(PCB)。

操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件windows任務(wù)管理器就是一個直觀的例子。

通過一個例子具體觀察一下linux操作系統(tǒng)中的進(jìn)程,我們可以編寫一個可執(zhí)行程序myproc,讓它顯示自己的pid:操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

此時我將它保存,它成為一個保存在磁盤上的一個文件而已,并沒有進(jìn)入內(nèi)存,因此并不是進(jìn)程:操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

通過make編譯形成可執(zhí)行文件,再運(yùn)行該可執(zhí)行文件,它就形成了一個內(nèi)存上的進(jìn)程:操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

關(guān)閉進(jìn)程再開啟時,進(jìn)程pid會改變。

操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

此時,在操作系統(tǒng)下有一個/proc目錄,目錄下所有子目錄名均為數(shù)字,每個數(shù)字都代表一個進(jìn)程的PID。很顯然,進(jìn)程在操作系統(tǒng)內(nèi)核中是以文件顯示出來的。

每當(dāng)新進(jìn)程加載進(jìn)入內(nèi)存時,操作系統(tǒng)都會在/proc目錄下創(chuàng)建一個目錄名為進(jìn)程PID的文件夾,同理,退出進(jìn)程會將其對應(yīng)的目錄刪除。操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件我們找到目錄名為3271的目錄,也就是我上面所執(zhí)行的進(jìn)程的PID:

操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件操作系統(tǒng)進(jìn)程定義和PCB詳解,單片機(jī),stm32,嵌入式硬件

其指向的路徑是磁盤上我剛創(chuàng)建的可執(zhí)行程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-793821.html

到了這里,關(guān)于操作系統(tǒng)進(jìn)程定義和PCB詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【操作系統(tǒng)核心概念】進(jìn)程管理和進(jìn)程調(diào)度

    【操作系統(tǒng)核心概念】進(jìn)程管理和進(jìn)程調(diào)度

    本文主要講的是操作系統(tǒng)的一些核心概念, 主要講解 進(jìn)程管理和進(jìn)程調(diào)度 的問題, 當(dāng)然學(xué)習(xí)完本篇并不會讓你能從零打造一個操作系統(tǒng), 而只是讓讀者有了對操作系統(tǒng)核心概念的基本認(rèn)識. 關(guān)注收藏, 開始學(xué)習(xí)吧?? 操作系統(tǒng)是一組做計算機(jī)資源管理的軟件的統(tǒng)稱 , 其本質(zhì)上也

    2024年02月12日
    瀏覽(23)
  • 【操作系統(tǒng)】聊聊不可中斷進(jìn)程和僵尸進(jìn)程

    【操作系統(tǒng)】聊聊不可中斷進(jìn)程和僵尸進(jìn)程

    當(dāng)我們輸入top命令之后 其中S代表的是當(dāng)前進(jìn)程的狀態(tài) R (Running 或 Runnable) 進(jìn)程在CPU的就緒隊列中,正在運(yùn)行或者等待運(yùn)行。 D (Disk Sleep) 不可中斷睡眠,進(jìn)程正在跟硬件交互,不運(yùn)行被其他進(jìn)程或者中斷打斷。 Z (Zombie) 進(jìn)程已經(jīng)結(jié)束,但是父進(jìn)程沒有回收資源 (描述符、PID等

    2024年02月07日
    瀏覽(16)
  • 操作系統(tǒng)——進(jìn)程管理

    操作系統(tǒng)——進(jìn)程管理

    操作系統(tǒng)入門知識合集 目錄 0.關(guān)注博主有更多知識 4.1進(jìn)程概念 4.1.1進(jìn)程基本概念 思考題: 4.1.2進(jìn)程狀態(tài) 思考題: 4.1.3進(jìn)程控制塊PCB 4.2進(jìn)程控制 思考題: 4.3線程 思考題: 4.4臨界資源與臨界區(qū) 4.4.1臨界資源與臨界區(qū) 思考題: 4.4.2鎖機(jī)制 4.5同步和P-V操作 4.5.1同步和互斥的概

    2024年02月02日
    瀏覽(24)
  • 操作系統(tǒng)、進(jìn)程與日程

    操作系統(tǒng)、進(jìn)程與日程

    目錄 目錄 一.操作系統(tǒng) 操作系統(tǒng)的概念: 操作系統(tǒng)的作用: 二.進(jìn)程 概念: 那計算機(jī)又是如何進(jìn)行進(jìn)程管理的呢? ?三.線程: ①.進(jìn)程和線程的區(qū)別 ②線程相對于進(jìn)程的優(yōu)勢: ③并發(fā)和并行的區(qū)別 一組做計算機(jī)資源管理的軟件的統(tǒng)稱。 目前常見的操作系統(tǒng)有:Windows 系列

    2024年02月10日
    瀏覽(22)
  • 【操作系統(tǒng)】02.進(jìn)程管理

    【操作系統(tǒng)】02.進(jìn)程管理

    多道就是將多個程序同時裝入內(nèi)存,使之并發(fā)運(yùn)行。操作系統(tǒng)也是基于多道產(chǎn)生的,提高了資源利用率和系統(tǒng)吞吐量。 進(jìn)程是程序的一次執(zhí)行 進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位 在引入線程后,線程成為調(diào)度的基本單位,進(jìn)程仍是資源分

    2024年02月08日
    瀏覽(88)
  • 操作系統(tǒng)實(shí)驗(進(jìn)程調(diào)度)

    操作系統(tǒng)實(shí)驗(進(jìn)程調(diào)度)

    ??1.1理解有關(guān)進(jìn)程控制塊、進(jìn)程隊列的概念。 ??1.2掌握進(jìn)程優(yōu)先權(quán)調(diào)度算法和時間片輪轉(zhuǎn)調(diào)度算法的處理邏輯。 ??2.1設(shè)計進(jìn)程控制塊PCB的結(jié)構(gòu),分別適用于優(yōu)先權(quán)調(diào)度算法和時間片輪轉(zhuǎn)調(diào)度算法。 ??2.2建立進(jìn)程就緒隊列。 ??2.3編制兩種進(jìn)程調(diào)度算法:優(yōu)先權(quán)調(diào)度

    2024年02月06日
    瀏覽(18)
  • 【操作系統(tǒng)】進(jìn)程調(diào)度

    【操作系統(tǒng)】進(jìn)程調(diào)度

    目錄 調(diào)度的概念 調(diào)度目標(biāo) ? ? 所有系統(tǒng) ? ? 批處理系統(tǒng) ? ? 交互式系統(tǒng) ? ? 實(shí)時系統(tǒng) 調(diào)度算法 ? ? 非搶占式調(diào)度算法 ????????先來先服務(wù) ????????最短作業(yè)優(yōu)先 ????????非搶占式優(yōu)先級調(diào)度 ? ? 搶占式調(diào)度算法 ????????最短剩余時間優(yōu)先 ????????輪轉(zhuǎn)

    2024年02月04日
    瀏覽(28)
  • 操作系統(tǒng):06 進(jìn)程通信

    ????????進(jìn)程間通信是指兩個或多個進(jìn)程之間交互數(shù)據(jù)的過程,因為進(jìn)程之間是相互獨(dú)立的,為了協(xié)同工作必須進(jìn)行進(jìn)程間交互數(shù)據(jù) 2.1 簡單的進(jìn)程間通信: ? ? ? ? 信號(攜帶附加數(shù)據(jù))、文件、命令行參數(shù)、環(huán)境變量表 2.2 傳統(tǒng)的進(jìn)程間通信: ? ? ? ? 管道文件(有名管道

    2024年02月03日
    瀏覽(18)
  • 操作系統(tǒng)與進(jìn)程調(diào)度

    操作系統(tǒng)與進(jìn)程調(diào)度

    操作系統(tǒng)是一組做計算機(jī)資源管理的軟件的統(tǒng)稱,我們在日常生活常接觸到的操作系統(tǒng)有: windows、IOS、Android、鴻蒙,以及Linux系統(tǒng) 等等,那么 操作系統(tǒng)是什么?計算機(jī)是如何運(yùn)行的? 計算機(jī)是由軟件、硬件相互配合工作;事實(shí)上,操作系統(tǒng)可以看做是介于軟硬件之間的一組軟

    2024年02月05日
    瀏覽(22)
  • 操作系統(tǒng)(2.7)--進(jìn)程

    操作系統(tǒng)(2.7)--進(jìn)程

    目錄 一、進(jìn)程的引入 1.進(jìn)程的兩個基本屬性 2.程序并發(fā)執(zhí)行所需付出的時空開銷 3.線程---作為調(diào)度和分派的基本單位 二、線程(輕型進(jìn)程)與進(jìn)程(重型進(jìn)程)的比較 1)調(diào)度的基本單位 2)并發(fā)性 3)擁有資源 4)獨(dú)立性 5)系統(tǒng)開銷 6)支持多處理機(jī)系統(tǒng) 三、線程的狀態(tài)和線程的

    2023年04月13日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包