![計算機(jī)操作系統(tǒng)(第二版)課件:進(jìn)程的概念_第1頁](http://file4.renrendoc.com/view11/M00/27/1A/wKhkGWXeYKGAZXLZAAHX-SjnKao537.jpg)
![計算機(jī)操作系統(tǒng)(第二版)課件:進(jìn)程的概念_第2頁](http://file4.renrendoc.com/view11/M00/27/1A/wKhkGWXeYKGAZXLZAAHX-SjnKao5372.jpg)
![計算機(jī)操作系統(tǒng)(第二版)課件:進(jìn)程的概念_第3頁](http://file4.renrendoc.com/view11/M00/27/1A/wKhkGWXeYKGAZXLZAAHX-SjnKao5373.jpg)
![計算機(jī)操作系統(tǒng)(第二版)課件:進(jìn)程的概念_第4頁](http://file4.renrendoc.com/view11/M00/27/1A/wKhkGWXeYKGAZXLZAAHX-SjnKao5374.jpg)
![計算機(jī)操作系統(tǒng)(第二版)課件:進(jìn)程的概念_第5頁](http://file4.renrendoc.com/view11/M00/27/1A/wKhkGWXeYKGAZXLZAAHX-SjnKao5375.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
進(jìn)程概念進(jìn)程定義和特征進(jìn)程狀態(tài)及轉(zhuǎn)換進(jìn)程控制塊PCBLinux進(jìn)程狀態(tài)解析彈幕給出問題課前學(xué)習(xí)中不理解的問題希望老師重點(diǎn)講解的內(nèi)容3.2進(jìn)程概念分析進(jìn)程的定義(講授)分析總結(jié)進(jìn)程的特征分析說明進(jìn)程映像包含哪些內(nèi)容?分析進(jìn)程與程序的區(qū)別與聯(lián)系?分析說明進(jìn)程三種基本狀態(tài)的概念及轉(zhuǎn)換情況創(chuàng)建態(tài)和終止態(tài)的含義及轉(zhuǎn)換情況Linux/openEuler系統(tǒng)中進(jìn)程狀態(tài)設(shè)置(講授)進(jìn)程控制塊PCB的內(nèi)容(逐步討論)3.2進(jìn)程概念3.2.1進(jìn)程的定義及特征1.簡單定義:一個程序的一次運(yùn)行過程。2.特征:動態(tài)性:進(jìn)程最基本的特征并發(fā)性:程序在建立進(jìn)程后并發(fā)運(yùn)行獨(dú)立性:是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位
異步性:進(jìn)程以不可預(yù)知的速度向前推進(jìn)定義:可并發(fā)執(zhí)行的程序在一個數(shù)據(jù)集合上的一次運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位。3.2進(jìn)程概念兩個廚師照著一份菜譜做菜菜譜材料煤氣灶鍋碗瓢盆3.2進(jìn)程概念3.進(jìn)程映像:進(jìn)程實體的組成321相關(guān)數(shù)據(jù)集(變量、工作空間,緩沖區(qū)等)棧:內(nèi)核棧/用戶??蓤?zhí)行的程序(段)進(jìn)程結(jié)構(gòu)特征3.2.1進(jìn)程的定義及特征4PCB擴(kuò)展閱讀:函數(shù)調(diào)用過程中棧到底是怎么壓入和彈出的?/question/22444939問題:程序執(zhí)行過程中棧的作用是什么?PCB是進(jìn)程存在的唯一標(biāo)識哪個小組來分析一下進(jìn)程實體的組成部分?Shell>gcc–S–otest.stest.c3.2進(jìn)程概念從定義上看,進(jìn)程是程序處理數(shù)據(jù)的過程,而程序是一組指令的有序集合;進(jìn)程具有動態(tài)性、并發(fā)性、獨(dú)立性和異步性等,而程序不具有這些特性;從進(jìn)程結(jié)構(gòu)特性上看,它包含程序、數(shù)據(jù)(棧)和PCB;進(jìn)程和程序并非一一對應(yīng):通過多次執(zhí)行,一個程序可對應(yīng)多個進(jìn)程;通過調(diào)用關(guān)系,一個進(jìn)程可執(zhí)行多個程序。4.進(jìn)程與程序的區(qū)別與聯(lián)系3.2.1進(jìn)程的定義及特征18思考題:討論2個程序在不同操作系統(tǒng)環(huán)境中的運(yùn)行情況
程序A:打印工資報表的程序;程序B:計算1000以內(nèi)所有素數(shù)并依次顯示計算結(jié)果。3.2進(jìn)程概念(1)在不支持多進(jìn)程的操作系統(tǒng)下運(yùn)行:順序執(zhí)行A、B,你看到的處理過程是怎樣的?(2)在支持多進(jìn)程的操作系統(tǒng)下運(yùn)行,你看到的處理過程是怎樣的?進(jìn)程和程序的一個本質(zhì)區(qū)別是()前者分時使用CPU,后者獨(dú)占CPU前者存儲在內(nèi)存,后者存儲在外存前者在一個文件中,后者在多個文件中前者為動態(tài)的,后者為靜態(tài)的ABCD提交單選題10分并發(fā)進(jìn)程執(zhí)行的相對速度是()由進(jìn)程的程序結(jié)構(gòu)決定的由進(jìn)程自己來控制的與進(jìn)程調(diào)度策略有關(guān)的在進(jìn)程被創(chuàng)建時確定的ABCD提交單選題10分3.2進(jìn)程概念就緒狀態(tài):
進(jìn)程分配到必要的資源,等待獲得CPU執(zhí)行的狀態(tài)。組織成一個或多個就緒隊列。運(yùn)行狀態(tài):
進(jìn)程已經(jīng)分配到CPU,正在CPU上執(zhí)行時的狀態(tài)阻塞狀態(tài)(等待狀態(tài)、睡眠狀態(tài)):
正在執(zhí)行的進(jìn)程由于等待某事件的發(fā)生而暫時無法繼續(xù)執(zhí)行時,便放棄處理機(jī)而處于暫停狀態(tài)。組織成一個或多個阻塞隊列。3.2.2進(jìn)程狀態(tài)及轉(zhuǎn)換1.三種基本狀態(tài)及轉(zhuǎn)換進(jìn)程有哪三種基本狀態(tài)?各自的含義是什么?運(yùn)行態(tài)就緒態(tài)阻塞態(tài)等待事件
(系統(tǒng)服務(wù)請求,如請求I/O)
被調(diào)度或分派時間片用完事件發(fā)生3.2進(jìn)程概念3.2.2
進(jìn)程狀態(tài)及轉(zhuǎn)換1.三種基本狀態(tài)及轉(zhuǎn)換問題:正在運(yùn)行的進(jìn)程當(dāng)時間片用完了會轉(zhuǎn)變成什么狀態(tài)呢?問題:正在運(yùn)行的進(jìn)程需要等待某個事件的發(fā)生,如I/O操作的完成,會轉(zhuǎn)變成什么狀態(tài)呢?問題:處于等待狀態(tài)的進(jìn)程,當(dāng)所等待的事件已經(jīng)發(fā)生時,會轉(zhuǎn)變成什么狀態(tài)呢?問題:處于等待狀態(tài)的進(jìn)程,當(dāng)所等待的事件已經(jīng)發(fā)生時,能否直接轉(zhuǎn)變成運(yùn)行態(tài)呢?進(jìn)程三種基本狀態(tài)是如何轉(zhuǎn)換的?3.2進(jìn)程概念3.2.2
進(jìn)程狀態(tài)及轉(zhuǎn)換3.創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)運(yùn)行態(tài)就緒態(tài)阻塞態(tài)等待事件
被調(diào)度或分派時間片用完事件發(fā)生創(chuàng)建態(tài)創(chuàng)建完成終止態(tài)終止問題:創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)的含義?引入后會增加哪些狀態(tài)轉(zhuǎn)換?TASK_RUNNING 可執(zhí)行狀態(tài)TASK_INTERRUPTIBLE 可中斷睡眠狀態(tài)TASK_UNINTERRUPTIBLE 不可中斷睡眠狀態(tài)TASK_STOPPED 暫停狀態(tài)TASK_TRACED跟蹤狀態(tài)TASK_DEAD
終止態(tài)TASK_WAKEKILL可響應(yīng)致命信號的不可中斷睡眠態(tài)EXIT_ZOMBIE僵尸態(tài)EXIT_DEAD終止態(tài)
3.2.3Linux/openEuler進(jìn)程狀態(tài)解析1.進(jìn)程狀態(tài)設(shè)置2.6.24
3.2進(jìn)程概念stateexit_state更多狀態(tài)查看:task_struct結(jié)構(gòu):/include/linux/sched.h3.2.3Linux/openEuler系統(tǒng)進(jìn)程狀態(tài)解析2.Linux/openEuler進(jìn)程狀態(tài)轉(zhuǎn)換
在進(jìn)程狀態(tài)轉(zhuǎn)換時,下列哪一種狀態(tài)轉(zhuǎn)換是不可能發(fā)生的?就緒態(tài)→運(yùn)行態(tài)運(yùn)行態(tài)→就緒態(tài)運(yùn)行態(tài)→等待態(tài)阻塞態(tài)→運(yùn)行態(tài)ABCD提交單選題10分某進(jìn)程在運(yùn)行過程中需要等待從磁盤上讀入數(shù)據(jù),此時該進(jìn)程的狀態(tài)將()。從就緒變?yōu)檫\(yùn)行從運(yùn)行變?yōu)榫途w從運(yùn)行變?yōu)樽枞麖淖枞優(yōu)榫途wABCD提交單選題10分3.2.2
進(jìn)程狀態(tài)及轉(zhuǎn)換思考題:對下列狀態(tài)轉(zhuǎn)換圖,回答后面的問題。
運(yùn)行1234
阻塞
就緒(1)狀態(tài)轉(zhuǎn)換1的發(fā)生是否會引起狀態(tài)轉(zhuǎn)換3的發(fā)生?需要什么條件?(2)狀態(tài)轉(zhuǎn)換4的發(fā)生是否會引起狀態(tài)轉(zhuǎn)換3的發(fā)生?需要什么條件?1、進(jìn)程的組成①程序、數(shù)據(jù)
描述進(jìn)程本身應(yīng)完成的功能
②棧
過程調(diào)用相關(guān)信息:返址、參數(shù)傳遞、局部變量等③PCB進(jìn)程存在的唯一標(biāo)識記錄進(jìn)程的動態(tài)特征、與其他進(jìn)程和系統(tǒng)資源的關(guān)系。3.2進(jìn)程概念3.2.4
進(jìn)程控制塊PCB
(processcontrolblock)程序數(shù)據(jù)PCB棧3.2進(jìn)程概念3.2.4進(jìn)程控制塊(PCB)2.進(jìn)程控制塊的內(nèi)容
進(jìn)程標(biāo)識信息:進(jìn)程標(biāo)識符:PID用戶標(biāo)識符家族關(guān)系
進(jìn)程調(diào)度信息:進(jìn)程狀態(tài);進(jìn)程優(yōu)先級;進(jìn)程的時間片;等待事件;其他調(diào)度相關(guān)信息進(jìn)程標(biāo)識信息進(jìn)程調(diào)度信息進(jìn)程現(xiàn)場信息進(jìn)程控制信息openEuler系統(tǒng):task_structkernel/include/linux/
sched.h3.2進(jìn)程概念3.2.4進(jìn)程控制塊(PCB)2
.進(jìn)程控制塊的內(nèi)容
進(jìn)程現(xiàn)場信息:通用寄存器內(nèi)容PCB中會存放哪些現(xiàn)場信息?32位CPU有8個32位的通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP
。EAX:稱為累加器,可用于乘、除、輸入/輸出等操作;EBX:稱為基地址寄存器,可作為存儲器指針來使用;ECX:稱為計數(shù)寄存器,控制循環(huán)次數(shù);EDX:稱為數(shù)據(jù)寄存器,在進(jìn)行乘、除運(yùn)算時,作為默認(rèn)的操作數(shù)參與運(yùn)算,也可用于存放I/O的端口地址。ESI:變址寄存器,是內(nèi)存移動和比較操作的源地址寄存器;EDI:變址寄存器,是內(nèi)存移動和比較操作的目標(biāo)地址寄存器EBP:指針寄存器,存放堆棧幀的始址;ESP:指針寄存器,當(dāng)前堆棧棧頂位置。3.2進(jìn)程概念3.2.4進(jìn)程控制塊(PCB)2
.進(jìn)程控制塊的內(nèi)容
進(jìn)程現(xiàn)場信息:通用寄存器內(nèi)容段寄存器內(nèi)容段寄存器是根據(jù)內(nèi)存分段的管理模式而設(shè)置的。內(nèi)存單元的物理地址由段寄存器的值和一個偏移量組合而成。32位CPU有6個,16位CPU有4個
。CS:代碼段寄存器,其值為代碼段的段地址;DS:數(shù)據(jù)段寄存器,其值為數(shù)據(jù)段的地址;ES:附加段寄存器,其值為附加數(shù)據(jù)段的地址;SS:堆棧段寄存器,其值為堆棧段的地址;FS:附加段寄存器,其值為附加數(shù)據(jù)段的地址;GS:附加段寄存器,其值為附加數(shù)據(jù)段的地址。10movr1,[500]0500599100程序地址空間movr1,[500]01000150010256k-115991100內(nèi)存空間3.2進(jìn)程概念3.2.4進(jìn)程控制塊(PCB)2
.進(jìn)程控制塊的內(nèi)容
進(jìn)程現(xiàn)場信息:通用寄存器內(nèi)容段寄存器內(nèi)容指令計數(shù)器的值movr1,[500]01000150010256k-115991100內(nèi)存空間10movr1,[500]0500599100程序地址空間CS:IP段內(nèi)偏移量段始址3.2進(jìn)程概念3.2.4進(jìn)程控制塊(PCB)2
.進(jìn)程控制塊的內(nèi)容
進(jìn)程現(xiàn)場信息:通用寄存器內(nèi)容段寄存器內(nèi)容指令計數(shù)器的值程序狀態(tài)字(PSW)棧指針中斷允許位、陷入標(biāo)志、任務(wù)嵌套標(biāo)志、特權(quán)標(biāo)志、溢出標(biāo)志、符號標(biāo)志、零標(biāo)志、進(jìn)位標(biāo)志等openEuler系統(tǒng):kernel/arch/arm64/include/asm/
processor.h棧幀寄存器3.2進(jìn)程概念
進(jìn)程控制信息:
程序和數(shù)據(jù)地址;
進(jìn)程同步信息進(jìn)程通信信息;
資源管理信息;
鏈接指針3.2.4進(jìn)程控制塊2.進(jìn)程控制塊內(nèi)容PCB中會存放哪些進(jìn)程控制信息?3.進(jìn)程控制塊的組織方式:鏈表、樹3.2.4進(jìn)程控制塊3.進(jìn)程控制塊的組織方式:鏈表、樹
就緒隊列
執(zhí)行進(jìn)程
阻塞隊列
空白PCB隊列ready_q_star
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 怎樣寫低保申請書
- 大學(xué)生創(chuàng)業(yè)園包涵哪些項目
- 分公司冬季施工方案
- 大學(xué)生創(chuàng)業(yè)項目微信小程序
- 三位數(shù)除以一位數(shù)競賽試題訓(xùn)練題
- 兒童節(jié)商家策劃方案
- 11.4 機(jī)械能及其轉(zhuǎn)化提升練習(xí)(含解析)-八年級物理下冊(人教版)
- 獨(dú)立戶口申請書
- 鉗工轉(zhuǎn)正申請書
- 部編人教版七年級上道德和法治第四單元《生命的思考》單元試題帶解析
- 管道工程污水管網(wǎng)監(jiān)理規(guī)劃(共44)
- 危貨運(yùn)輸車輛日常維護(hù)檢查及記錄表
- excel表格水池側(cè)壁及底板配筋計算程序(自動版)
- 公司生產(chǎn)報廢單
- 商業(yè)寫字樓運(yùn)營費(fèi)用
- 乘法口訣表(到25乘25)
- 建設(shè)工程施工合同糾紛案件要點(diǎn)分析課件
- TPM“2”STEP培訓(xùn)方法和技巧(發(fā)生源困難源對策=兩源改善)
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- 資產(chǎn)——固定資產(chǎn)練習(xí)題答案
- 英語書寫模板
評論
0/150
提交評論