版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上實驗二 模擬實現(xiàn)進(jìn)程管理組長:李和林 軟件1402組員分工一、 實驗?zāi)康?. 理解進(jìn)程的概念,明確進(jìn)程和程序的區(qū)別。2. 理解并發(fā)執(zhí)行的實質(zhì)。3. 掌握進(jìn)程的創(chuàng)建,睡眠,撤銷等進(jìn)程控制方法。二、 實驗內(nèi)容用C語言,JAVA語言,C+語言編寫程序,模擬實現(xiàn)創(chuàng)建新的進(jìn)程;查看運(yùn)行進(jìn)程,換出某個進(jìn)程;殺死運(yùn)行進(jìn)程。三、 實驗準(zhǔn)備1. 進(jìn)程的定義進(jìn)程是程序在一個數(shù)據(jù)集合上的運(yùn)行過程,是系統(tǒng)資源分配和調(diào)度的一個獨(dú)立單位。一個程序在不同的數(shù)據(jù)集合上運(yùn)行,乃至一個程序在同樣數(shù)據(jù)集合上的多次運(yùn)行都是不同的進(jìn)程。2. 進(jìn)程的狀態(tài)通常情況下,一個進(jìn)程必須具有就緒,執(zhí)行和阻塞三種基本情況。
2、1) 就緒狀態(tài)當(dāng)進(jìn)程已分配到除處理器外的所有必要資源后,只要再獲得處理器就可以立即執(zhí)行,這時進(jìn)程的狀態(tài)就為就緒狀態(tài)。在一個系統(tǒng)里,可以有多個進(jìn)程同時處于就緒狀態(tài),通常把這些就緒進(jìn)程排成一個或多個隊列,稱為就緒隊列。2) 執(zhí)行狀態(tài)處于就緒狀態(tài)的進(jìn)程一旦獲得處理器,就可以運(yùn)行,進(jìn)程狀態(tài)也就處于執(zhí)行狀態(tài),在單處理器系統(tǒng)中,只能有一個進(jìn)程處于執(zhí)行狀態(tài),在多處理器系統(tǒng)中,則可能有多個進(jìn)程處于執(zhí)行狀態(tài)3) 阻塞狀態(tài)正在執(zhí)行的進(jìn)程因為發(fā)生某些事件而暫停運(yùn)行,這種受阻暫停的狀態(tài)稱為阻塞狀態(tài),也可稱為等待狀態(tài)。通常將處于阻塞狀態(tài)的進(jìn)程拍成一個隊列,稱為阻塞隊列,在有些系統(tǒng)中,也會按阻塞原因的不同將阻塞狀態(tài)的進(jìn)程
3、排成多個隊列。3. 進(jìn)程狀態(tài)之間的轉(zhuǎn)換接納完成中斷調(diào)度阻塞執(zhí)行終止就緒新進(jìn)程I/O請求I/O完成4. 進(jìn)程控制塊1) 進(jìn)程控制塊的作用進(jìn)程控制塊是進(jìn)程實體的重要組成部分,主要包含下述四個方面的信息:a) 進(jìn)程標(biāo)示信息b) 說明信息c) 現(xiàn)場信息d) 管理信息5. 進(jìn)程控制塊的組織方式1) 鏈接方式2) 索引方式6. 進(jìn)程控制原語1) 創(chuàng)建原語2) 撤銷原語3) 阻塞原語4) 喚醒原語7. 程序代碼#include #includeusing namespace std;void clrscr();void create();void run( );void exchange( );/喚出voi
4、d kill( );void wakeUp( );/喚醒struct process_typeint pid;int priority;/優(yōu)先次序int size;int state;/狀態(tài)char info10;struct process_type internalMemory20;int amount=0,hangUp=0,pid,flag=0;/數(shù)目,掛起 void main( )int n;int a;n=1;clrscr( );while(n=1)coutn*;coutn* 進(jìn)程演示系統(tǒng) *;coutn*;coutn 1.創(chuàng)建新的進(jìn)程 2.查看運(yùn)行進(jìn)程 ;coutn 3.換出某個進(jìn)
5、程 4.殺死運(yùn)行進(jìn)程 ;coutn 5.喚醒某個進(jìn)程 6.退出系統(tǒng) ;coutn*endl; couta;switch(a)case 1:create( );break;case 2:run( );break;case 3:exchange();/換出break;case 4:kill();break;case 5:wakeUp();break;case 6:exit(0);default:n=0;void create() /創(chuàng)建進(jìn)程int i=0;if (amount=20)cout 內(nèi)存已滿,請先結(jié)束或換出進(jìn)程;elsefor (i=0;i20;i+)if (internalMemory
6、i.state=0)break;cout請輸入新進(jìn)程的pid: internalMemory i .pid;cout請輸入新進(jìn)程的優(yōu)先級: internalMemoryamount.priority;cout請輸入新進(jìn)程的大小: internalMemoryamount.size;cout請輸入新進(jìn)程的內(nèi)容: internalM;internalMemoryi.state=1;amount+;void clrscr()/清除內(nèi)存空間for (int i=0;i19;i+)internalMemoryi.pid=0;internalMemoryi.priority
7、=0;internalMemoryi.size=0;internalMemoryi.state=0;amount=0;void run()for (int i=0;i20;i+)if (internalMemoryi.state=1)cout當(dāng)前內(nèi)存中的進(jìn)程:nendl;cout當(dāng)前運(yùn)行的進(jìn)程: ;coutinternalMemoryi.pidendl;cout當(dāng)前運(yùn)行進(jìn)程的優(yōu)先級: ;coutinternalMemoryi.priorityendl;cout當(dāng)前運(yùn)行進(jìn)程占用的空間大小: ;coutinternalMemoryi.size;void exchange( )/喚出優(yōu)先級最小的進(jìn)程
8、if (!amount)cout當(dāng)前沒有運(yùn)行進(jìn)程n;return;coutpid;for (int i=0;i20;i+)if (pid=internalMemoryi.pid)if (internalMemoryi.state=1)internalMemoryi.state=2;hangUp+;coutn已經(jīng)成功換出進(jìn)程n;else if (internalMemoryi.state=0)coutn要換出的進(jìn)程不存在;elsecoutn要換出的進(jìn)程已被掛起n;flag=1;break;if (flag=0)coutn要換出的進(jìn)程不存在;void kill( )if (!amount)cout
9、當(dāng)前沒有運(yùn)行進(jìn)程n;return;coutpid;for (int i=0;i20;i+)if (pid=internalMemoryi.pid)if (internalMemoryi.state=1)internalMemoryi.state=0;amount-;cout此進(jìn)程被殺死pid;else if (internalMemoryi.state=0)coutn要?dú)⑺赖倪M(jìn)程不存在n;elsecoutn要?dú)⑺赖倪M(jìn)程已被掛起n;flag=1;break;if (!flag)coutn要?dú)⑺赖倪M(jìn)程不存在n;void wakeUp()if (!amount)cout當(dāng)前沒有運(yùn)行進(jìn)程endl;return;if (!hangUp)cout當(dāng)前沒有掛起進(jìn)程;return;coutpid;for (int i=0;i20;i+)if (pid=internalMemoryi.pid)flag=0;if (internalMemoryi.state=2)internalMemoryi.sta
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度甘肅省安全員之B證(項目負(fù)責(zé)人)通關(guān)提分題庫(考點(diǎn)梳理)
- 簡單的裝飾裝潢服務(wù)費(fèi)合同(2篇)
- 2024年空氣和廢氣監(jiān)測儀器項目建議書
- 2024年TOC自動在線監(jiān)測儀項目合作計劃書
- 鐵路工程廢渣清運(yùn)服務(wù)合同
- 社區(qū)文化中心改造施工協(xié)議
- 汽車香水運(yùn)輸合同樣本
- 2024版房地產(chǎn)買賣居間合同范本
- 花卉物流協(xié)議特殊要求探討
- 電商公司裝修合同安全要點(diǎn)
- 2023固體礦產(chǎn)資源儲量核實報告編寫規(guī)范
- 煤礦電器設(shè)備失爆判定標(biāo)準(zhǔn)課件
- Unit3+Topic3+Section+C+教案 仁愛版英語八年級上冊+
- 中國傳統(tǒng)文化 課件 模塊一 中國傳統(tǒng)思想文化項目三 墨、法、兵三家思想文化
- (完整word版)Word信紙(A4橫條直接打印版)模板
- 外幕墻破損玻璃更換合同范文
- 電動吸引器吸痰技術(shù)操作考核評分標(biāo)準(zhǔn)
- 語法填空10篇練習(xí)(解析版)
- 《春江花月夜》精美市公開課一等獎?wù)n件省賽課獲獎?wù)n件
- 現(xiàn)代植保技術(shù)課件
- 初中生法治教育講座課件
評論
0/150
提交評論