




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
進程定義和特征
進程狀態(tài)及轉(zhuǎn)換進程控制塊PCBLinux進程狀態(tài)解析3.2進程概念3.2進程概念3.2.1進程的定義及特征1.簡單定義:一個程序的一次運行過程。2.特征:動態(tài)性:進程最基本的特征并發(fā)性:程序在建立進程后并發(fā)運行獨立性:是系統(tǒng)進行資源分配和調(diào)度的獨立單位
異步性:進程以不可預(yù)知的速度向前推進定義:可并發(fā)執(zhí)行的程序在一個數(shù)據(jù)集合上的一次運行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。3.2進程概念3.進程映像:進程實體的組成321相關(guān)數(shù)據(jù)集(變量、工作空間,緩沖區(qū)等)棧:內(nèi)核棧/用戶??蓤?zhí)行的程序(段)進程結(jié)構(gòu)特征3.2.1進程的定義及特征4PCB3.2進程概念從定義上看,進程是程序處理數(shù)據(jù)的過程,而程序是一組指令的有序集合;進程具有動態(tài)性、并發(fā)性、獨立性和異步性等,而程序不具有這些特性;從進程結(jié)構(gòu)特性上看,它包含程序、數(shù)據(jù)(棧)和PCB;進程和程序并非一一對應(yīng):通過多次執(zhí)行,一個程序可對應(yīng)多個進程;通過調(diào)用關(guān)系,一個進程可執(zhí)行多個程序。4.進程與程序的區(qū)別3.2.1進程的定義及特征一個廚師照著一份菜譜做菜18例:討論2個程序在不同操作系統(tǒng)環(huán)境中的運行情況
程序A:打印工資報表的程序;
程序B:計算1000以內(nèi)所有素數(shù)并依次顯示計算結(jié)果。3.2進程概念(1)在不支持多進程的操作系統(tǒng)下運行:順序執(zhí)行A、B
可以看到,先是打印機不停地打印工資報表,打完后,接著運行程序B,不停地計算,最后顯示所計算的結(jié)果。(2)在支持多進程的操作系統(tǒng)下運行建立進程A、B;對應(yīng)的程序分別是程序A、B;進程A是I/O量較大的進程,進程B是計算量較大的進程,在系統(tǒng)進程調(diào)度的控制下,兩個進程并發(fā)執(zhí)行。可以看到打印機不斷打印工資報表;而處理機不停地計算,并依次在屏幕上顯示計算結(jié)果。16討論3個排序程序在不同操作系統(tǒng)環(huán)境中的運行情況
程序A:冒泡排序算法,在屏幕的左1/3處開設(shè)窗口顯示其排序過程;
程序B:堆排序算法,在屏幕的中1/3處開設(shè)窗口顯示其排序過程;
程序C:快速排序算法,在屏幕的右1/3處開設(shè)窗口顯示其排序過程。思考題:3.2進程概念(1)在不支持多進程的操作系統(tǒng)下順序運行A、B、C(2)在支持多進程的操作系統(tǒng)下并發(fā)運行A、B、C3.2進程概念就緒狀態(tài):
進程分配到必要的資源,等待獲得CPU執(zhí)行的狀態(tài)。組織成一個或多個就緒隊列。運行狀態(tài):
進程已經(jīng)分配到CPU,正在CPU上執(zhí)行時的狀態(tài)阻塞狀態(tài)(等待狀態(tài)、睡眠狀態(tài)):
正在執(zhí)行的進程由于等待某事件的發(fā)生而暫時無法繼續(xù)執(zhí)行時,便放棄處理機而處于暫停狀態(tài)。組織成一個或多個阻塞隊列。3.2.2進程狀態(tài)及轉(zhuǎn)換1.
三種基本狀態(tài)運行態(tài)就緒態(tài)阻塞態(tài)等待事件
(系統(tǒng)服務(wù)請求,如請求I/O)
被調(diào)度或分派
時間片用完
事件發(fā)生3.2進程概念3.2.2
進程狀態(tài)及轉(zhuǎn)換2.三種基本狀態(tài)轉(zhuǎn)換圖3.2進程概念3.2.2
進程狀態(tài)及轉(zhuǎn)換3.創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)運行態(tài)就緒態(tài)阻塞態(tài)等待事件
被調(diào)度或分派
時間片用完
事件發(fā)生創(chuàng)建態(tài)
創(chuàng)建完成終止態(tài)終止思考問題:1.在進程狀態(tài)轉(zhuǎn)換時,下列哪一種狀態(tài)轉(zhuǎn)換是不可能發(fā)生的?
A)就緒態(tài)→運行態(tài)B)運行態(tài)→就緒態(tài)
C)運行態(tài)→等待態(tài)D)阻塞態(tài)→運行態(tài)2.某進程在運行過程中需要等待從磁盤上讀入數(shù)據(jù),此時該進程的狀態(tài)將()。
A.從就緒變?yōu)檫\行B.從運行變?yōu)榫途w
C.從運行變?yōu)樽枞鸇.從阻塞變?yōu)榫途w3.2進程概念3.2.2
進程狀態(tài)及轉(zhuǎn)換思考問題:3.若一個用戶進程通過read系統(tǒng)調(diào)用讀取一個磁盤文件中的數(shù)據(jù),則下列關(guān)于此過程的描述中,正確的有哪些?(
)A.若該文件的數(shù)據(jù)不在內(nèi)存中,則該進程進入睡眠等待狀態(tài)B.請求read系統(tǒng)調(diào)用會導(dǎo)致CPU從用戶態(tài)切換到核心態(tài)C.Read系統(tǒng)調(diào)用的參數(shù)應(yīng)包含文件的名稱D.read系統(tǒng)調(diào)用結(jié)束后會重新讓該進程進入就緒狀態(tài)或運行狀態(tài)3.2.2
進程狀態(tài)及轉(zhuǎn)換3.2.2
進程狀態(tài)及轉(zhuǎn)換課堂分組討論:對下列狀態(tài)轉(zhuǎn)換圖,回答后面的問題。
運行1234
阻塞
就緒(1)變遷1的發(fā)生是否會引起變遷3的發(fā)生?需要什么條件?(2)變遷4的發(fā)生是否會引起變遷3的發(fā)生?需要什么條件?(3)為支持上圖中進程的狀態(tài)變遷,系統(tǒng)應(yīng)提供哪些進程控制原語?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進程狀態(tài)解析1.Linux進程狀態(tài)設(shè)置2.6.24
進程正在被CPU執(zhí)行,或者已經(jīng)準備就緒,隨時可以執(zhí)行處于等待中的進程,待等待條件為真時被喚醒,也可以被信號或者中斷喚醒。處于等待中的進程,待資源有效時喚醒,但不可以由其它進程通過信號(signal)或中斷喚醒進程暫停執(zhí)行。當(dāng)接收到SIGSTOP等信號時,進程進入該狀態(tài),接收到SIGCONT信號后,進程重新回到TASK_RUNNING。表示進程的執(zhí)行被終止,很快將從系統(tǒng)消失的狀態(tài)。表示進程的最終狀態(tài)。父進程已經(jīng)使用wait4()或waitpid()系統(tǒng)調(diào)用來收集了信息,因此進程將由系統(tǒng)刪除。3.2進程概念進程被調(diào)試器暫停下來,等待跟蹤進程進行相關(guān)處理。進程已經(jīng)終止,且不需要父進程收集其信息,很快將被銷毀。與TASK_UNINTERRUPTBLE類似,但是可響應(yīng)致命信號stateexit_state3.2.3Linux進程狀態(tài)解析2.Linux進程狀態(tài)轉(zhuǎn)換
201、進程的組成程序PCB①程序、數(shù)據(jù)
描述進程本身所應(yīng)完成的功能
②棧
過程調(diào)用相關(guān)信息:返址、參數(shù)傳遞、局部變量等③PCB記錄進程的動態(tài)特征,該進程與其他進程和系統(tǒng)資源的關(guān)系。3.2進程概念3.2.4
進程控制塊PCB
(processcontrolblock)數(shù)據(jù)棧3.2進程概念3.2.4進程控制塊(PCB)2.進程控制塊的內(nèi)容進程標識信息:進程標識符:PID用戶標識符家族關(guān)系
進程調(diào)度信息:進程狀態(tài);進程優(yōu)先級;進程的時間片;等待事件;其他調(diào)度相關(guān)信息進程標識信息進程調(diào)度信息進程現(xiàn)場信息進程控制信息3.2進程概念3.2.4進程控制塊(PCB)2
.進程控制塊的內(nèi)容
進程現(xiàn)場信息:通用寄存器內(nèi)容;段寄存器內(nèi)容;指令計數(shù)器的值;程序狀態(tài)字(PSW);棧指針中斷允許位、陷入標志、任務(wù)嵌套標志、特權(quán)標志、溢出標志、符號標志、零標志、進位標志等32位CPU有8個32位的通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP
。EAX:稱為累加器,可用于乘、除、輸入/輸出等操作;EBX:稱為基地址寄存器,可作為存儲器指針來使用;ECX:稱為計數(shù)寄存器,控制循環(huán)次數(shù);EDX:稱為數(shù)據(jù)寄存器,在進行乘、除運算時,作為默認的操作數(shù)參與運算,也可用于存放I/O的端口地址。ESI:變址寄存器,是內(nèi)存移動和比較操作的源地址寄存器;EDI:變址寄存器,是內(nèi)存移動和比較操作的目標地址寄存器EBP:指針寄存器,存放堆棧幀的始址;ESP:指針寄存器,當(dāng)前堆棧棧頂位置。段寄存器是根據(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ù)段的地址。
3.2進程概念
進程控制信息:
程序和數(shù)據(jù)地址;
進程同步信息進程通信信息;
資源管理信息;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)練習(xí)題(二)及答案
- 遺產(chǎn)繼承過程管理合同(2篇)
- 2023年四川公務(wù)員《行政職業(yè)能力測驗》試題真題及答案
- 小王子遇見各種星球的感悟
- 設(shè)備采購說明文書
- 2025年工程塑料及合金合作協(xié)議書
- 新疆維吾爾自治區(qū)哈密市伊州區(qū)2024-2025學(xué)年八年級上學(xué)期期末生物學(xué)試題(含答案)
- 個人護理用品行業(yè)市場分析與銷售策略制定
- 《初中數(shù)學(xué)競賽輔導(dǎo)資料:高級技巧與策略》
- 物流運輸損壞賠償免責(zé)聲明
- 【正版授權(quán)】 IEC 63310:2025 EN Functional performance criteria for AAL robots used in connected home environment
- 2025屆新高考政治沖刺備考復(fù)習(xí)把握高考趨勢+科學(xué)高效命題
- 最終版附件1:“跨學(xué)科主題學(xué)習(xí)”教學(xué)設(shè)計(2025年版)
- 2025年春季安全教育主題班會教育記錄
- 2024年春季學(xué)期低年級學(xué)雷鋒講奉獻主題班會
- 2025年度環(huán)保咨詢與評估服務(wù)合同范本模板
- 全國計算機等級考試一級試題及答案(5套)
- K3-PLM售前培訓(xùn)(PPT101頁)
- 中國河流湖泊
- 建設(shè)工程廉政風(fēng)險防控手冊
- 軍事地形學(xué)知識總結(jié)
評論
0/150
提交評論