版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、課程設(shè)計(jì)目的 一、課程設(shè)計(jì)目的本課程設(shè)計(jì)是學(xué)生學(xué)習(xí)完《計(jì)算機(jī)操作系統(tǒng)》課程后,進(jìn)行的一次全面的 綜合訓(xùn)練,通過課程設(shè)計(jì),讓學(xué)生更好地掌握操作系統(tǒng)的原理及實(shí)現(xiàn)方法,加深對操作系統(tǒng)基礎(chǔ)理論和重要算法的理解,加強(qiáng)學(xué)生的動手能力。二、課程設(shè)計(jì)要求 二、課程設(shè)計(jì)要求從課程設(shè)計(jì)的目的出發(fā),通過設(shè)計(jì)工作的各個環(huán)節(jié),達(dá)到以下教學(xué)要求: 每位同學(xué)從所給題目中任選一個(如自擬題目,需經(jīng)教師同意) ,且必須獨(dú)立完成課程設(shè)計(jì),不能相互抄襲。設(shè)計(jì)完成后,將所
2、完成的作品交由老師檢查。要求寫出一份詳細(xì)的設(shè)計(jì)報告。三、課程設(shè)計(jì)題目 三、課程設(shè)計(jì)題目編程模擬多進(jìn)程共享臨界資源四、課程設(shè)計(jì)功能和目標(biāo) 四、課程設(shè)計(jì)功能和目標(biāo)1、要求產(chǎn)生至少 3 個進(jìn)程:2、兩個進(jìn)程模擬需要進(jìn)入臨界區(qū)的用戶進(jìn)程,當(dāng)需要進(jìn)入臨界區(qū)時,顯示:“進(jìn)程 x 請求進(jìn)入臨界區(qū)…”,同時向管理進(jìn)程提出申請;在臨界區(qū)中等待一段隨機(jī)時間,并顯示:“進(jìn)程 x 正在臨界區(qū)…”;當(dāng)時間結(jié)束,顯示:“進(jìn)程 x 退出臨界區(qū)…”,同時向管理進(jìn)程提出
3、退出申請。3、一個進(jìn)程作為原語級管理進(jìn)程,接受其他進(jìn)程的臨界區(qū)進(jìn)入請求:如果允許進(jìn)入,則設(shè)置相應(yīng)變量,然后返回;如果不允許進(jìn)入,則進(jìn)入循環(huán)等待,直到允許為止;4、對臨界區(qū)的訪問應(yīng)遵循空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待的準(zhǔn)則。5、進(jìn)程間通信可以采用信號、消息傳遞、管道或網(wǎng)絡(luò)通信方式。五、課程設(shè)計(jì)實(shí)現(xiàn)原理 五、課程設(shè)計(jì)實(shí)現(xiàn)原理通過編寫,創(chuàng)建兩個進(jìn)程模擬需要進(jìn)入臨界區(qū),另外編寫一個進(jìn)程作為原語的管理進(jìn)程,其負(fù)責(zé)兩個進(jìn)程的進(jìn)入!接著設(shè)置一個
4、臨界區(qū),讓其進(jìn)程在其中訪問遵循空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待的準(zhǔn)則。當(dāng)進(jìn)程和臨界區(qū)建立好后,臨界區(qū)的數(shù)據(jù)傳輸,受到了系統(tǒng)硬件的支持,不耗費(fèi)多余的資源;而進(jìn)程間通信傳遞,由軟件進(jìn)行控制和實(shí)現(xiàn),需要消耗一定的 CPU 資源。從這個意義上講,臨界區(qū)更適合頻繁和大量的數(shù)據(jù)傳輸。進(jìn)程信息的傳遞,自身就帶有同步的控制。當(dāng)?shù)鹊叫畔⒌臅r候,進(jìn)程進(jìn)入睡眠狀態(tài),不再消耗 CPU 資源。而共享隊(duì)列如果不借助其他機(jī)制進(jìn)行同步,接 收數(shù)據(jù)的一方必須進(jìn)行不
5、斷的查詢,白白浪費(fèi)了大量的 CPU 資源。六、課程設(shè)計(jì)思想、方法和技術(shù)(含數(shù)據(jù)結(jié)構(gòu)、算法、流程 六、課程設(shè)計(jì)思想、方法和技術(shù)(含數(shù)據(jù)結(jié)構(gòu)、算法、流程包含頭文件 關(guān)鍵的語句: int x,y; while((x=fork())==-1);//創(chuàng)建子進(jìn)程 1 if(x==0) { //子進(jìn)程 1 執(zhí)行程序段} else { while((y=fork())==-1); if(y==0) { //子進(jìn)程 2 執(zhí)行程序段}
6、 else { //父進(jìn)程執(zhí)行程序段 } } 6.3.2 6.3.2 軟中斷: 軟中斷:系統(tǒng)調(diào)用 kill()和 signal()包含頭文件:和 Kill(pid,signalname) 發(fā)送信號給 pid 號為 pid 的進(jìn)程,中斷類型為signalname6.3.3 6.3.3 消息隊(duì)列: 消息隊(duì)列:系統(tǒng)調(diào)用 msgget()、msgsnd()、msgrev()、msgctl()包含頭文件:6.4 6.4、設(shè)計(jì)流程圖 、設(shè)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- linux操作系統(tǒng)下c語言編程入門
- 操作系統(tǒng)實(shí)驗(yàn)linux進(jìn)程與線程通訊
- 操作系統(tǒng)進(jìn)程調(diào)度算法模擬(c++)實(shí)驗(yàn)報告
- linux系統(tǒng)編程答案
- linux操作系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)報告—多進(jìn)程同步橘子蘋果問題
- 操作系統(tǒng)模擬進(jìn)程課程設(shè)計(jì)
- linux操作系統(tǒng)下的oracle數(shù)據(jù)庫編程
- linux系統(tǒng)編程試卷答案
- 第9章基于linux操作系統(tǒng)的arm編程
- linux操作系統(tǒng)下的多線程編程詳細(xì)解析
- linux操作系統(tǒng)安裝
- 操作系統(tǒng)課程設(shè)計(jì)-進(jìn)程調(diào)度模擬
- 操作系統(tǒng)實(shí)驗(yàn)一模擬進(jìn)程狀態(tài)轉(zhuǎn)換
- 操作系統(tǒng)linux主存管理操作系統(tǒng)實(shí)驗(yàn) 5
- 操作系統(tǒng)課程設(shè)計(jì)——進(jìn)程調(diào)度模擬算法
- linux操作系統(tǒng)安裝教程
- linux操作系統(tǒng)課后答案
- 操作系統(tǒng)課程設(shè)計(jì)——進(jìn)程調(diào)度模擬算法
- 操作系統(tǒng)c
評論
0/150
提交評論