




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機操作系統(tǒng),回顧,2,進程與線程,第,章,本章目標(biāo),掌握進程的概念,掌握進程調(diào)度的原理,掌握進程通信機制,了解線程的概念,什么是進程,什么是進程,進程是一個可并發(fā)執(zhí)行的具有獨立功能的程序關(guān)于某個數(shù)據(jù)集合的一次執(zhí)行過程,也是操作系統(tǒng)進行資源分配和保護的基本單位。簡單的說:程序的一次執(zhí)行就是一個進程。,進程的特性,一個程序可以派生多個進程。 多個不同程序運行時,也會有多個相對應(yīng)進程與其對應(yīng)。 進程是動態(tài)的,有始有終,有生命周期,有進程狀態(tài)變化。,進程與程序的區(qū)別,程序是“靜止”、無生命的,進程是“活動”的。 程序可以脫離機器長期保存,而進程是執(zhí)行著的程序。 程序不具有并發(fā)特征,不占系統(tǒng)資源,進
2、程則相反,并受到其他進程的制約和影響。 一個程序可對應(yīng)多個進程。,進程的三種基本狀態(tài),運行狀態(tài) 就緒狀態(tài) 等待狀態(tài),進程狀態(tài)的變遷,進程調(diào)度的概念,進程調(diào)度也稱為處理機調(diào)度,它協(xié)調(diào)和控制各進程對CPU的使用。相應(yīng)的進程調(diào)度程序可叫分配程序或低級調(diào)度程序。,進程調(diào)度算法,先來先服務(wù),只考慮進程進入就緒隊列的先后,而不考慮它的下一個CPU周期的長短及其他因素。,進程就緒隊列,進程就緒隊列,先來先服務(wù)舉例,設(shè)P1占CPU時間為24ns,P2為3ns,P3為3ns。 則執(zhí)行情況如下所示:,最短周期優(yōu)先法,將周期短的進程放在前面,長的放在后面。,其他算法,優(yōu)先級法:隊列中優(yōu)先級最高的進程投入運行,而不管
3、CPU周期的長短和其他因素。 輪轉(zhuǎn)法:按一定時間片(記為q)輪番運行各個進程。如果q是一個定值,則輪轉(zhuǎn)法是一種對各進程機會均等的調(diào)度方法。 多隊列反饋法:把就緒進程按優(yōu)先級排成多個隊列,同隊列的進程具有相同的時間片。高優(yōu)先級隊列的時間片比低優(yōu)先級隊列的小。,死鎖,進程通信,共享存儲原理圖,進程控制塊,進程控制塊(PCB)是描述進程名字、狀態(tài)、程序段與數(shù)據(jù)段的數(shù)據(jù)結(jié)構(gòu)。,線程的概念,線程是進程的一個實體,被系統(tǒng)獨立調(diào)度和分配。除寄存器和棧等,本身基本不擁有系統(tǒng)資源。 一個線程可以創(chuàng)建和撤銷另一個線程; 同一進程中的多個線程之間可以并發(fā)執(zhí)行; 線程同樣有就緒、阻塞和執(zhí)行三種基本狀態(tài)。,線程與進程的
4、比較,線程是調(diào)度和分配的基本單位,而進程是資源擁有的基本單位; 進程間可并發(fā)執(zhí)行,進程中的線程亦可并發(fā)執(zhí)行; 進程的調(diào)度與切換都是由操作系統(tǒng)內(nèi)核完成,而線程則既可由操作系統(tǒng)內(nèi)核完成,也可由用戶程序進行。,Linux進程的屬性,進程ID; 父進程和父進程的ID; 用戶ID(UID)和所歸屬的組(GID); 進程狀態(tài):分為運行R、休眠S、僵尸Z; 進程執(zhí)行的優(yōu)先級; 進程所連接的終端名。,Linux進程管理工具,Ps:監(jiān)視進程工具 ; Pgrep:通過程序的名字來查詢進程的工具 ; kill:終止進程 ; top監(jiān)視系統(tǒng)任務(wù)的工具 。,CPU調(diào)度實例,實例說明,功能是模擬CPU的調(diào)度,調(diào)度策略為基
5、于動態(tài)優(yōu)先級的調(diào)度策略。實例是使用C語言實現(xiàn),可以在多種編譯工具上進行調(diào)試(比如vc6.0,turbo c等)。,實例目的,強調(diào)編寫代碼規(guī)范; 加深理解操作系統(tǒng)的CPU調(diào)度策略; 掌握分析方法:流程圖,偽代碼,N-S; 掌握用c語言開發(fā)項目的思路; 掌握測試方法; 學(xué)會書寫相關(guān)文檔。,模塊設(shè)計,void main():CPU調(diào)度主函數(shù) void jobSchedule():進程調(diào)度 void initJobs():初始化進程控制塊列表 void OSRun():模擬操作系統(tǒng)的運行 PCB * createJob():進程創(chuàng)建 void showJobinfo(PCB *job):顯示進程信息
6、void doJob(PCB *job):運行指定的進程 int random(int imaxvalue):生成隨機整數(shù),CPU調(diào)度流程圖,進程調(diào)試功能模塊的流程圖,進程調(diào)度功能模塊的N-S圖,進程調(diào)度功能模塊的偽代碼2-1,void jobSchedule() int i; # if DEBUG printf(“now step into jobSchedule function n”); # endif CURPCB = null; for(遍歷進程列表) if(進程列表項不為空) 釋放進行所占空間; 進程列表項置為空; continue; CURPCB指向進程; 轉(zhuǎn)下一頁 ,進程調(diào)度功能模塊的偽代碼2-2,void jobSchedule() if(CURPCB不為空) for(遍歷系統(tǒng)進程列表) if(進程列表項不為空) CURPCB指向當(dāng)前遍歷到的進程; else SYS_RUN_FLAG = 0
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 入戶維修調(diào)研報告范文
- 熱成型實驗報告范文
- 2025年度智慧城市建設(shè)合作協(xié)議解除合同書
- 二零二五年度網(wǎng)絡(luò)游戲押金轉(zhuǎn)讓與賬號安全保障協(xié)議
- 二零二五年度平面模特時尚雜志封面拍攝合同書
- 二零二五年度獵聘市場營銷人才委托協(xié)議
- 二零二五年度輪胎品牌授權(quán)與銷售代理合同
- 二零二五年度交通事故保險賠償協(xié)議書(含事故調(diào)查服務(wù))
- 2025年度社區(qū)餐飲合伙經(jīng)營與社區(qū)服務(wù)合同
- 二零二五年度農(nóng)村土地流轉(zhuǎn)合同轉(zhuǎn)讓與生態(tài)保護協(xié)議
- 企業(yè)人力資源內(nèi)部審核檢查表
- 《素描》課件-第一章 素描入門
- GB/T 42828.1-2023鹽堿地改良通用技術(shù)第1部分:鐵尾砂改良
- 工資條(標(biāo)準(zhǔn)模版)
- 第四講 搜索引擎檢索
- 法語的發(fā)音規(guī)則及法語單詞分類記憶
- 衛(wèi)生和微生物基礎(chǔ)知識培訓(xùn)-
- ICU輪轉(zhuǎn)護士培訓(xùn)計劃和手冊
- GB/T 9787-1988熱軋等邊角鋼尺寸、外形、重量及允許偏差
- GB/T 17614.1-2015工業(yè)過程控制系統(tǒng)用變送器第1部分:性能評定方法
- 財務(wù)工作督導(dǎo)檢查記錄表
評論
0/150
提交評論