操作系統(tǒng)課程設(shè)計(jì)指導(dǎo)書(共19頁(yè))_第1頁(yè)
操作系統(tǒng)課程設(shè)計(jì)指導(dǎo)書(共19頁(yè))_第2頁(yè)
操作系統(tǒng)課程設(shè)計(jì)指導(dǎo)書(共19頁(yè))_第3頁(yè)
操作系統(tǒng)課程設(shè)計(jì)指導(dǎo)書(共19頁(yè))_第4頁(yè)
操作系統(tǒng)課程設(shè)計(jì)指導(dǎo)書(共19頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PAGE PAGE 27操作系統(tǒng)(co zu x tn)課程設(shè)計(jì)指導(dǎo)書一、課程設(shè)計(jì)的目的(md)和意義本課程設(shè)計(jì)是學(xué)生(xu sheng)學(xué)習(xí)完操作系統(tǒng)課程后,進(jìn)行的一次全面的綜合訓(xùn)練,通過(guò)課程設(shè)計(jì),讓學(xué)生更好地掌握操作系統(tǒng)的原理及實(shí)現(xiàn)方法,加深對(duì)操作系統(tǒng)基礎(chǔ)理論和重要算法的理解,加強(qiáng)學(xué)生的動(dòng)手能力。二、總體要求:課程設(shè)計(jì)總時(shí)間為2.5天。一個(gè)班分若干個(gè)組,每組2人,個(gè)別可以3人組(自由組合)課程設(shè)計(jì)題目由任課老師指定;人員分工:組長(zhǎng)1人、組員1到2人。組長(zhǎng)可由小組人員自行選出或自薦,組長(zhǎng)的職責(zé)是負(fù)責(zé)與老師交流,合理安排分配本組的各項(xiàng)任務(wù),任務(wù)有:系統(tǒng)總體設(shè)計(jì)、編碼、測(cè)試、寫文檔。三、設(shè)計(jì)要求

2、:本課程設(shè)計(jì)以Linux操作系統(tǒng)為實(shí)驗(yàn)平臺(tái),進(jìn)行源代碼分析和修改或應(yīng)用。通過(guò)該課程設(shè)計(jì),使學(xué)生掌握Linux操作系統(tǒng)各部分結(jié)構(gòu)、實(shí)現(xiàn)機(jī)理和各種典型算法;或使學(xué)生進(jìn)行網(wǎng)絡(luò)管理和系統(tǒng)管理,系統(tǒng)地了解操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)思路,運(yùn)用內(nèi)核開發(fā)環(huán)境實(shí)現(xiàn)對(duì)內(nèi)核的修改,培養(yǎng)學(xué)生的系統(tǒng)設(shè)計(jì)能力,并了解操作系統(tǒng)的發(fā)展動(dòng)向和趨勢(shì)。要求如下:1、要充分認(rèn)識(shí)課程設(shè)計(jì)對(duì)培養(yǎng)自己的重要性,認(rèn)真做好設(shè)計(jì)前的各項(xiàng)準(zhǔn)備工作。2、既要虛心接受老師的指導(dǎo),又要充分發(fā)揮主觀能動(dòng)性。結(jié)合課題,獨(dú)立思考,努力鉆研,勤于實(shí)踐,勇于創(chuàng)新。3、獨(dú)立按時(shí)完成規(guī)定的工作任務(wù),不得弄虛作假,不準(zhǔn)抄襲他人內(nèi)容,否則成績(jī)以不及格計(jì)。4、課程設(shè)計(jì)期間,無(wú)故

3、缺席按曠課處理;缺席時(shí)間達(dá)四分之一以上者,其成績(jī)按不及格處理。5、在設(shè)計(jì)過(guò)程中,要嚴(yán)格要求自己,樹立嚴(yán)肅、嚴(yán)密、嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,必須按時(shí)、按質(zhì)、按量完成課程設(shè)計(jì)。6、小組成員之間,分工明確,但要保持聯(lián)系暢通,密切合作,培養(yǎng)良好的互相幫助和團(tuán)隊(duì)協(xié)作精神。四、成績(jī)?cè)u(píng)定1、同學(xué)平時(shí)表現(xiàn)占總成績(jī)30,若遲到扣5分,無(wú)故曠課每次扣10 分,二次不到者總成績(jī)以0分計(jì)。2、課程設(shè)計(jì)質(zhì)量占30%,課程設(shè)計(jì)報(bào)告占總成績(jī)40,在規(guī)定時(shí)間內(nèi)上交。3、提交的電子文檔和軟件必須是由學(xué)生自己獨(dú)立完成,發(fā)現(xiàn)(fxin)相同題目文檔雷同者,教師有權(quán)視其情況扣分或記零分。4、結(jié)果(ji gu):優(yōu):態(tài)度(ti du)較好,無(wú)缺

4、勤、遲到和早退現(xiàn)象,有完整的符合標(biāo)準(zhǔn)的文檔,文檔有條理、文筆通順,格式正確,其中有總體設(shè)計(jì)思想的論述;程序完全實(shí)現(xiàn)設(shè)計(jì)方案,設(shè)計(jì)方案先進(jìn),軟件可靠性好;良:態(tài)度較好,無(wú)缺勤、遲到和早退現(xiàn)象;有完整的符合標(biāo)準(zhǔn)的文檔,文檔有條理、文筆通順,格式正確;有完全實(shí)現(xiàn)設(shè)計(jì)方案的軟件,設(shè)計(jì)方案較先進(jìn);中:態(tài)度較好,無(wú)缺勤、遲到和早退現(xiàn)象;有完整的符合標(biāo)準(zhǔn)的文檔,有基本實(shí)現(xiàn)設(shè)計(jì)方案的軟件,設(shè)計(jì)方案正確;及格:態(tài)度較好,無(wú)缺勤、遲到和早退現(xiàn)象;有完整的符合標(biāo)準(zhǔn)的文檔,有基本實(shí)現(xiàn)設(shè)計(jì)方案的軟件,設(shè)計(jì)方案基本正確;不及格:態(tài)度不好,有缺勤、遲到和早退現(xiàn)象;沒有完整的符合標(biāo)準(zhǔn)的文檔,軟件沒有基本實(shí)現(xiàn)設(shè)計(jì)方案,設(shè)計(jì)方案

5、不正確。說(shuō)明:可以根據(jù)題目的基本要求進(jìn)行豐富的創(chuàng)意和想象。沒有特別指定,可以采用Windows環(huán)境也可采用Linux環(huán)境,選用Windows環(huán)境的必須為圖形界面,否則判為不及格,Linux環(huán)境的可以采用文本界面。開發(fā)語(yǔ)言不限,但軟件代碼必需有詳細(xì)中文注釋:每個(gè)方法要功能說(shuō)明,關(guān)鍵算法要加注釋說(shuō)明。五、設(shè)計(jì)內(nèi)容(除特別注明外,每組2人,先自由組合,并選定1個(gè)題目,再由老師作適當(dāng)調(diào)整)課題一、Linux下C編程實(shí)現(xiàn)銀行家算法銀行家算法的思路:1.進(jìn)程一開始向系統(tǒng)提出最大需求量.2.進(jìn)程每次提出新的需求(分期貸款)都統(tǒng)計(jì)是否超出它事先提出的最大需求量.3.若正常,則判斷該進(jìn)程所需剩余量(包括本次申請(qǐng)

6、)是否超出系統(tǒng)所掌握的 剩余資源量,若不超出,則分配,否則等待.4.銀行家算法的數(shù)據(jù)結(jié)構(gòu).1)系統(tǒng)剩余資源量Vn,其中Vn表示第I類資源剩余量.2)已分配資源量Amn,其中Aji表示系統(tǒng)j程已得到的第i資源的數(shù)量.3)剩余需求量.Cmn,其中Cji對(duì)第i資源(zyun)尚需的數(shù)目.5.銀行家算法流程:當(dāng)某時(shí)刻,某進(jìn)程時(shí),提出(t ch)新的資源申請(qǐng),系統(tǒng)作以下操作:1)判定En是否(sh fu)大于Cjn,若大于,表示出錯(cuò).2)判定En是否大于系統(tǒng)剩余量Vn,若大于,則該進(jìn)程等待.3)若以上兩步?jīng)]有問(wèn)題,嘗試分配,即各變量作調(diào)整.4)按照安全性推測(cè)算法,判斷,分配過(guò)后,系統(tǒng)是否安全,若安全,則

7、實(shí)際分配,否則,撤消分配,讓進(jìn)程等待.6.安全性檢測(cè)算法對(duì)進(jìn)程逐個(gè)掃描,先判斷flag,看進(jìn)程是否完成,如果完成則繼續(xù)掃描,如果沒有再判斷當(dāng)前系統(tǒng)是否滿足進(jìn)程所需要的分配額,如果滿足則分配并當(dāng)進(jìn)程完成后回收資源,如果沒有則掃描下一個(gè)進(jìn)程。掃描所有進(jìn)程,如果所有的進(jìn)程都能完成就表明是安全分配序列,如果沒有,則分配不成功,不存在著安全序列。課題二、處理機(jī)調(diào)度算法的實(shí)現(xiàn)設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè)。也就是說(shuō)能運(yùn)行的進(jìn)程數(shù)大于處理機(jī)個(gè)數(shù)。為了使系統(tǒng)中的進(jìn)程能有條不紊地工作,必須選用某種調(diào)度策略,選擇一進(jìn)程占用處理機(jī)。要求學(xué)生設(shè)計(jì)一個(gè)模擬處理機(jī)調(diào)度算法,以

8、鞏固和加深處理機(jī)調(diào)度的概念。設(shè)計(jì)要求:1)先由用戶輸入進(jìn)程數(shù)量(至少5個(gè)進(jìn)程),再由系統(tǒng)隨機(jī)生成一個(gè)進(jìn)程序列(包括到達(dá)時(shí)間和服務(wù)時(shí)間)。2)然后顯示進(jìn)程調(diào)度算法由用戶選擇,包括:時(shí)間片輪轉(zhuǎn)法,短作業(yè)優(yōu)先算法,動(dòng)態(tài)優(yōu)先級(jí)算法。3)顯示結(jié)果包括每個(gè)進(jìn)程的開始時(shí)間、完成時(shí)間、周轉(zhuǎn)時(shí)間以及帶權(quán)周轉(zhuǎn)時(shí)間,顯示界面可參考書本的例子以表格形式但可不要表格線。課題三、生產(chǎn)者消費(fèi)者問(wèn)題設(shè)計(jì)目的:通過(guò)研究Linux 的進(jìn)程機(jī)制和信號(hào)量實(shí)現(xiàn)生產(chǎn)者消費(fèi)者問(wèn)題的并發(fā)控制.說(shuō)明:有界緩沖區(qū)內(nèi)設(shè)有20個(gè)存儲(chǔ)單元,放入/取出的數(shù)據(jù)項(xiàng)設(shè)定為1-20這20個(gè)整型數(shù)。設(shè)計(jì)要求:(1)每個(gè)生產(chǎn)者和消費(fèi)者對(duì)有界緩沖區(qū)進(jìn)行操作后,實(shí)時(shí)顯

9、示有界緩沖區(qū)的全部?jī)?nèi)容、當(dāng)前指針位置和生產(chǎn)者/消費(fèi)者的標(biāo)識(shí)符。(2)生產(chǎn)者和消費(fèi)者各有兩個(gè)以上。(3)多個(gè)生產(chǎn)者或多個(gè)消費(fèi)者之間須有共享對(duì)緩沖區(qū)進(jìn)行操作的函數(shù)代碼。提示:(1) 有界緩沖區(qū)可用數(shù)組實(shí)現(xiàn)。課題(kt)四:基于(jy)Linux的二級(jí)文件系統(tǒng)。要求(yoqi)做到以下幾點(diǎn): 可以實(shí)現(xiàn)下列幾條命令,但可不用參數(shù)。注意,必須真正實(shí)現(xiàn),不能模擬實(shí)現(xiàn),如Dir類似于Linux的ls命令。Login 用戶登錄Dir 列出文件夾內(nèi)容Create 創(chuàng)建文件Delete 刪除文件Open 打開文件Close 關(guān)閉文件Read 讀文件Write 寫文件2、列目錄時(shí)要列出文件名、物理地址、保護(hù)碼和文件

10、長(zhǎng)度。3、設(shè)計(jì)提示實(shí)現(xiàn)虛擬文件系統(tǒng)的一般思路是調(diào)用系統(tǒng)的文件創(chuàng)建(如c中的fopen函數(shù)的w方式即可)一個(gè)新文件,將此文件作為虛擬磁盤,在完成本設(shè)計(jì)要求的內(nèi)容時(shí),要求所生成的文件目錄以及文件等內(nèi)容都是存儲(chǔ)在此磁盤中。4、源文件可以進(jìn)行讀寫保護(hù)。主要需完成以下子過(guò)程,但不一定全部要用到。1、i節(jié)點(diǎn)內(nèi)容獲取函數(shù)iget( ) 2、i節(jié)點(diǎn)內(nèi)容釋放函數(shù)iput( ) 3、目錄創(chuàng)建函數(shù)mkdir( ) 4、目錄搜索函數(shù)namei( )5、磁盤塊分配函數(shù)balloc( )6、磁盤塊釋放函數(shù)bfree( )7、分配i節(jié)點(diǎn)區(qū)函數(shù)ialloc( )8、釋放i節(jié)點(diǎn)區(qū)函數(shù)ifree( )9、搜索當(dāng)前目錄下文件的函數(shù)

11、iname( )10、訪問(wèn)控制函數(shù)access( )11、顯示目錄和文件用函數(shù)_dir( )12、改變當(dāng)前目錄用函數(shù)chdir( )13、打開文件函數(shù)open( )14、創(chuàng)建文件函數(shù)create( )15、讀文件用函數(shù)read( )16、寫文件用函數(shù)write( )17、用戶登錄函數(shù)login( )18、用戶退出函數(shù)logout( )19、文件系統(tǒng)格式化函數(shù)(hnsh)format( )20、進(jìn)入(jnr)文件系統(tǒng)函數(shù)install( )21、關(guān)閉(gunb)文件系統(tǒng)函數(shù)close( )22、退出文件系統(tǒng)函數(shù)halt( )23、文件刪除函數(shù)delete( )課題五:存儲(chǔ)管理動(dòng)態(tài)分區(qū)分配算法的模

12、擬:要求設(shè)計(jì)主界面以靈活選擇某算法,以下算法都要實(shí)現(xiàn):首次適應(yīng)算法循環(huán)首次適應(yīng)算法最佳適應(yīng)算法;最壞適應(yīng)算法;快速適應(yīng)算法具體要求:首先由系統(tǒng)生成當(dāng)前的內(nèi)存狀態(tài),按照課本P122圖4-5(a)所示,要求未分配的分區(qū)數(shù)量不少于3個(gè),且空間大小隨機(jī),然后隨機(jī)生成一個(gè)數(shù),表示等待分配進(jìn)程的大小。然后顯示上述算法由用戶選擇,結(jié)果顯示分配后的狀態(tài)。課題六:三種存儲(chǔ)管理方式的地址換算1、分頁(yè)方式的地址換算。具體要求:1)隨機(jī)生成頁(yè)面大小,但一定為2的冪,系統(tǒng)隨機(jī)生成一個(gè)至少有10行的頁(yè)表,頁(yè)號(hào)、塊號(hào)從0開始。2)用戶給定一個(gè)邏輯地址,首先顯示此地址的頁(yè)號(hào)和頁(yè)內(nèi)地址,然后顯示是第幾塊,最后顯示其物理地址。2

13、、分段方式的地址換算。具體要求:1)由系統(tǒng)隨機(jī)生成5個(gè)左右的段,并隨機(jī)生成一個(gè)段表并顯示。2)由用戶給定一個(gè)邏輯地址,包括段號(hào)和段內(nèi)地址,最后顯示其物理地址。3、段頁(yè)式的地址換算。具體要求:1)先由系統(tǒng)隨機(jī)生成5個(gè)左右的段,然后再由系統(tǒng)隨機(jī)生成頁(yè)面大小,但一定為2的冪。然后生成段表和頁(yè)表,具體內(nèi)容參照課本P140的圖4-22。2)由用戶給定一個(gè)邏輯地址,包括段號(hào)和段內(nèi)地址,最后顯示其物理地址。課題七:進(jìn)程調(diào)度模擬程序設(shè)計(jì)要求:編寫一個(gè)(y )進(jìn)程調(diào)度程序,允許多個(gè)進(jìn)程共享進(jìn)程調(diào)度程序。 進(jìn)程調(diào)度(diod)算法,采用(ciyng):(1)最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法(即把處理機(jī)分配給優(yōu)先數(shù)最高的進(jìn)

14、程)(2)時(shí)間片輪轉(zhuǎn)法,(3)先來(lái)先服務(wù)算法。 每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊( PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名、優(yōu)先數(shù)、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用CPU時(shí)間、進(jìn)程狀態(tài)等等。 進(jìn)程的優(yōu)先數(shù)、到達(dá)時(shí)間、時(shí)間片以及需要的運(yùn)行時(shí)間由隨機(jī)數(shù)產(chǎn)生。1、設(shè)計(jì)內(nèi)容1)設(shè)計(jì)進(jìn)程控制塊PCB表結(jié)構(gòu),分別適用于優(yōu)先權(quán)調(diào)度算法、時(shí)間片輪轉(zhuǎn)調(diào)度算法和先來(lái)先服務(wù)算法。2)PCB結(jié)構(gòu)包括以下信息:進(jìn)程名、進(jìn)程優(yōu)先數(shù)(或輪轉(zhuǎn)時(shí)間片),進(jìn)程所占用的CPU時(shí)間,進(jìn)程的狀態(tài),當(dāng)前隊(duì)列指針等。根據(jù)調(diào)度算法的不同,PCB結(jié)構(gòu)的內(nèi)容可以作適當(dāng)?shù)脑鰟h。3)建立進(jìn)程就緒隊(duì)列。對(duì)兩種不同算法編制入鏈子程序。4)編制三種進(jìn)程調(diào)度

15、算法:A、優(yōu)先數(shù)調(diào)度;B、循環(huán)輪轉(zhuǎn)調(diào)度;C、先來(lái)先服務(wù)。2、具體設(shè)計(jì)要求及有關(guān)說(shuō)明選用優(yōu)先數(shù)算法和簡(jiǎn)單時(shí)間片輪轉(zhuǎn)法對(duì)五個(gè)進(jìn)程進(jìn)行調(diào)度,每個(gè)進(jìn)程可有三種狀態(tài):運(yùn)行狀態(tài)(RUN)、就緒狀態(tài)(READY)和完成狀態(tài)。并假定初始狀態(tài)為就緒狀態(tài)。設(shè)計(jì)進(jìn)程控制塊結(jié)構(gòu)如下:PCB: NAME PRIO/ROUND CPUTIME COUNT NEEDTIME STATE NEXT其中: NAME進(jìn)程標(biāo)識(shí)符; PRIO進(jìn)程優(yōu)先數(shù);ROUND進(jìn)程輪轉(zhuǎn)時(shí)間片; CPUTIME進(jìn)程(jnchng)占用CPU時(shí)間; COUNT計(jì)數(shù)器; NEEDTIME進(jìn)程到完成(wn chng)還要的CPU時(shí)間; STATE進(jìn)程(j

16、nchng)的狀態(tài); NEXT鏈指針。進(jìn)程控制塊鏈結(jié)構(gòu)如插圖。其中:RUN當(dāng)前運(yùn)行進(jìn)程指針;READY就緒隊(duì)列頭指針;TAIL就緒隊(duì)列尾指針;FINISH完成隊(duì)列頭指針。READYFINISHRUNTAIL為了便于處理,程序中進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位計(jì)算。各進(jìn)程的優(yōu)先數(shù)或輪轉(zhuǎn)時(shí)間片數(shù)以及進(jìn)程需運(yùn)行的時(shí)間片數(shù)的初值均由用戶給定。3、程序設(shè)計(jì)算法:(1)在優(yōu)先數(shù)算法中,進(jìn)程每執(zhí)行一次,優(yōu)先數(shù)減3,CPU時(shí)間片數(shù)加1,進(jìn)程還需要的時(shí)間片數(shù)減1。在輪轉(zhuǎn)法中,采用固定時(shí)間片,時(shí)間片數(shù)為2,進(jìn)程每執(zhí)行一次,CPU時(shí)間片數(shù)加2,進(jìn)程還需要的時(shí)間片數(shù)減2,并排到就緒隊(duì)列的尾上。(2)程序結(jié)構(gòu)說(shuō)明如下:整個(gè)

17、程序由INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和ROUNDSCH過(guò)程組成。其中:INSERT1的功能是把還未完成且優(yōu)先數(shù)小于別的進(jìn)程PCB按進(jìn)程優(yōu)先數(shù)的順序插入到就緒隊(duì)列中。INSERT2是輪轉(zhuǎn)法使用的過(guò)程,將執(zhí)行了一個(gè)單位時(shí)間片數(shù)(為2)且還未完成的進(jìn)程的PCB插入(ch r)到就緒隊(duì)列的隊(duì)尾。FIRSTIN的功能是將就緒隊(duì)列中的第一個(gè)進(jìn)程投入(tur)運(yùn)行。PRINT打印每執(zhí)行一次后的所有進(jìn)程的狀態(tài),這里(zhl),就緒(等待)用“W”代表。CREATE的功能是創(chuàng)建新的進(jìn)程,即創(chuàng)立進(jìn)程的PCB,并將此PCB鏈入到就緒隊(duì)列中去。PRIS

18、CH按優(yōu)先數(shù)算法調(diào)度進(jìn)程。ROUNDSCH按時(shí)間片輪轉(zhuǎn)法調(diào)度進(jìn)程。主程序中定義了PCB的結(jié)構(gòu)和其它變量NUMBER進(jìn)程數(shù),ALGO為10個(gè)字符長(zhǎng)的字符串,存放要求輸入的算法的名,PRIORITY為優(yōu)先數(shù)算法,ROUNDROBIN為循環(huán)輪轉(zhuǎn)法,在程序運(yùn)行時(shí)輸入其中的一個(gè)。課題八:多道程序緩沖區(qū)協(xié)調(diào)操作如下圖所示,有10個(gè)PUT操作要不斷循環(huán)地向Buffer1送數(shù)據(jù),有一個(gè)Move操作要不斷地將Buffer1的數(shù)據(jù)取到Buffer2,有20個(gè)GET操作要不斷地從Buff2中取數(shù)據(jù)。BUFF1是10,BUFF2的容量是20, PUT、 MOVE、 GET每次操作一個(gè)數(shù)據(jù),為了在操作的過(guò)程中要保證數(shù)據(jù)

19、不丟失,每個(gè)Buffer每次只能接受一個(gè)PUT或一個(gè)Move或一個(gè)Get,多個(gè)操作不能同時(shí)操作同一BUFFER。設(shè)計(jì)一個(gè)多道程序完成上述操作。試用、原語(yǔ)協(xié)調(diào)PUT、 MOVE、GET的操作,并說(shuō)明(shumng)每個(gè)信號(hào)量的含義、初值和值的范圍。 PUT MOVE GET 1、基本功能要求(yoqi)顯示(xinsh)Buffer的操作過(guò)程;可以確定Buffer的容量、PUT、GET、MOVE操作的個(gè)數(shù);自行確定放數(shù)據(jù)的速度,取數(shù)據(jù)的速度;實(shí)時(shí)顯示每個(gè)Buffer中數(shù)據(jù)的個(gè)數(shù),已放入Buffer的數(shù)據(jù)個(gè)數(shù),已取的數(shù)據(jù)個(gè)數(shù);程序運(yùn)行結(jié)束,顯示匯總數(shù)據(jù):總的運(yùn)行時(shí)間;Buffer中數(shù)據(jù)的個(gè)數(shù);已放

20、入BUFFER的數(shù)據(jù)個(gè)數(shù);已放已取的數(shù)據(jù)個(gè)數(shù);平均buffer中的數(shù)據(jù)個(gè)數(shù)。課題九、磁盤調(diào)度算法1、設(shè)計(jì)要求:要求設(shè)計(jì)一個(gè)程序,該程序模擬操作系統(tǒng)的磁盤調(diào)度。模擬仿真FCFS、SSTF、SCAN、CSCAN等磁盤調(diào)度算法,并對(duì)各算法進(jìn)行性能分析。應(yīng)提供良好的測(cè)試界面及測(cè)試方法。提供全面的輸出結(jié)果。2、實(shí)驗(yàn)原理磁盤可供多個(gè)進(jìn)程共享,當(dāng)有多個(gè)進(jìn)程要求訪問(wèn)磁盤時(shí),應(yīng)采用一種調(diào)度算法,以使進(jìn)程對(duì)磁盤的平均訪問(wèn)時(shí)間最小,由于在訪問(wèn)磁盤的時(shí)間中,主要是尋道時(shí)間,因此磁盤調(diào)度的目標(biāo)就是使磁盤的平均尋道時(shí)間最短。選題十:動(dòng)態(tài)資源分配算法演示(ynsh)程序1、設(shè)計(jì)目的:主要用于解決(jiju)多種資源被多個(gè)獨(dú)

21、立執(zhí)行的進(jìn)程使用的安全算法。該算法采用矩陣存儲(chǔ)資源的數(shù)據(jù),通過(guò)對(duì)系統(tǒng)資源預(yù)分配后檢查系統(tǒng)狀態(tài),以避免死鎖的產(chǎn)生。2、設(shè)計(jì)(shj)要求:資源種類與數(shù)目可在界面進(jìn)行設(shè)置,在資源分配過(guò)程中可以隨時(shí)增加進(jìn)程及其對(duì)資源的需求可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行資源種類、數(shù)目與進(jìn)程數(shù)的初始化在資源分配過(guò)程中可以隨時(shí)進(jìn)行系統(tǒng)安全狀態(tài)檢測(cè)如果能夠通過(guò)系統(tǒng)安全狀態(tài)檢測(cè),則系統(tǒng)對(duì)該進(jìn)程進(jìn)行資源分配;當(dāng)進(jìn)程滿足所有資源分配后能夠自行釋放所有資源,退出資源競(jìng)爭(zhēng)要求進(jìn)行安全性檢查時(shí)按指定策略順序進(jìn)行,即按每個(gè)進(jìn)程當(dāng)前Need數(shù)由小至大進(jìn)行排序,如果Need數(shù)相同,則按序號(hào)由小至大進(jìn)行排序;具有一定的數(shù)據(jù)容錯(cuò)性選

22、題十一:通用處理機(jī)調(diào)度演示程序1、設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),也就是能運(yùn)行的進(jìn)程數(shù)大于處理機(jī)個(gè)數(shù),為了使系統(tǒng)中的進(jìn)程有條不紊地工作,必須選用某種調(diào)度策略,在一定的時(shí)機(jī)選擇一個(gè)進(jìn)程占有處理機(jī)。要求學(xué)生設(shè)計(jì)一個(gè)模擬處理機(jī)調(diào)度算法,以鞏固和加深處理機(jī)調(diào)度的概念。2、設(shè)計(jì)要求(多道、單處理機(jī)):進(jìn)程調(diào)度算法包括:時(shí)間片輪轉(zhuǎn)算法、先來(lái)先服務(wù)算法、短作業(yè)優(yōu)先算法、靜態(tài)優(yōu)先權(quán)優(yōu)先調(diào)度算法、高響應(yīng)比調(diào)度算法每一個(gè)進(jìn)程有一個(gè)PCB,其內(nèi)容可以根據(jù)具體情況設(shè)定。進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間、作業(yè)大小、優(yōu)先級(jí)等均可以在界面上設(shè)定可讀取樣例數(shù)據(jù)(要求存放在外部文

23、件中)進(jìn)行進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、時(shí)間片長(zhǎng)度、作業(yè)大小、進(jìn)程優(yōu)先級(jí)的初始化可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、執(zhí)行(由于不要求設(shè)置互斥資源與進(jìn)程間的同步關(guān)系,故只有兩種狀態(tài))采用可視化界面,可在進(jìn)程調(diào)度過(guò)程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列有性能比較功能,可比較同一組數(shù)據(jù)在不同調(diào)度算法下的平均周轉(zhuǎn)時(shí)間具有一定的數(shù)據(jù)容錯(cuò)性選題十二:采用時(shí)間片輪轉(zhuǎn)算法的進(jìn)程調(diào)度程序1、設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),且進(jìn)程之間也存在著同步與互斥的關(guān)系,要求采用指定的調(diào)度策略,使系統(tǒng)中的進(jìn)程有條不紊地工作,通過(guò)觀察諸進(jìn)程的運(yùn)行過(guò)程,以鞏固和加深處理機(jī)調(diào)度

24、的概念。2、設(shè)計(jì)要求(多道、單處理機(jī)):每一個(gè)進(jìn)程有一個(gè)PCB,其內(nèi)容可以根據(jù)具體情況設(shè)定。可以在界面設(shè)定的互斥資源(包括(boku)兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目進(jìn)程(jnchng)數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間可以在界面上進(jìn)行設(shè)定進(jìn)程之間存在一定的同步與互斥關(guān)系,可以通過(guò)(tnggu)界面進(jìn)行設(shè)定,其表示方法如下:進(jìn)程的服務(wù)時(shí)間由三段組成:I2C10O5(表示進(jìn)程的服務(wù)時(shí)間由2個(gè)時(shí)間片的輸入,10個(gè)時(shí)間片的計(jì)算,5個(gè)時(shí)間片的輸出)進(jìn)程間的同步關(guān)系用一個(gè)段表示:W2,表示該進(jìn)程先要等待P2進(jìn)程執(zhí)行結(jié)束后才可以運(yùn)行因此,進(jìn)程間的同步與互斥關(guān)系、服務(wù)時(shí)間可以統(tǒng)一用四段表示為:I2C10O5W2

25、可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、阻塞、執(zhí)行采用可視化界面,可在進(jìn)程調(diào)度過(guò)程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列具有一定的數(shù)據(jù)容錯(cuò)性選題十三:采用高響應(yīng)比算法的進(jìn)程調(diào)度程序1、設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),且進(jìn)程之間也存在著同步與互斥的關(guān)系,要求采用指定的調(diào)度策略,使系統(tǒng)中的進(jìn)程有條不紊地工作,通過(guò)觀察諸進(jìn)程的運(yùn)行過(guò)程,以鞏固和加深處理機(jī)調(diào)度的概念。2、設(shè)計(jì)要求(多道、單處理機(jī)):每一個(gè)進(jìn)程有一個(gè)PCB,其內(nèi)容可以根據(jù)具體情況設(shè)定??梢栽诮缑嬖O(shè)定的互斥資源(包括兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目進(jìn)程數(shù)、進(jìn)入內(nèi)存時(shí)間、要求服務(wù)時(shí)間可

26、以在界面上進(jìn)行設(shè)定進(jìn)程之間存在一定的同步與互斥關(guān)系,可以通過(guò)界面進(jìn)行設(shè)定,其表示方法如下:進(jìn)程的服務(wù)時(shí)間由三段組成:I2C10O5(表示進(jìn)程的服務(wù)時(shí)間由2個(gè)時(shí)間片的輸入,10個(gè)時(shí)間片的計(jì)算,5個(gè)時(shí)間片的輸出)進(jìn)程間的同步關(guān)系用一個(gè)段表示:W2,表示該進(jìn)程先要等待P2進(jìn)程執(zhí)行結(jié)束后才可以運(yùn)行因此,進(jìn)程間的同步與互斥關(guān)系、服務(wù)時(shí)間可以統(tǒng)一用四段表示為:I2C10O5W2可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、阻塞、執(zhí)行采用可視化界面,可在進(jìn)程調(diào)度過(guò)程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列具有一定的數(shù)據(jù)容錯(cuò)性選題十四:采用短作業(yè)優(yōu)先算法的進(jìn)程調(diào)度程序1、設(shè)計(jì)目的:在多道程序和多任務(wù)系統(tǒng)中,

27、系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè),且進(jìn)程之間也存在著同步與互斥的關(guān)系,要求采用指定的調(diào)度策略,使系統(tǒng)中的進(jìn)程有條不紊地工作,通過(guò)觀察諸進(jìn)程的運(yùn)行過(guò)程,以鞏固和加深處理機(jī)調(diào)度的概念。2、設(shè)計(jì)要求(多道、單處理機(jī)):每一個(gè)進(jìn)程有一個(gè)PCB,其內(nèi)容可以根據(jù)具體情況設(shè)定??梢?ky)在界面設(shè)定的互斥資源(包括兩種:輸入設(shè)備與輸出設(shè)備)的數(shù)目進(jìn)程數(shù)、進(jìn)入內(nèi)存(ni cn)時(shí)間、要求服務(wù)時(shí)間可以在界面上進(jìn)行設(shè)定進(jìn)程之間存在一定的同步與互斥關(guān)系(gun x),可以通過(guò)界面進(jìn)行設(shè)定,其表示方法如下:進(jìn)程的服務(wù)時(shí)間由三段組成:I2C10O5(表示進(jìn)程的服務(wù)時(shí)間由2個(gè)時(shí)間片的輸入,10個(gè)時(shí)間片的計(jì)算,5個(gè)

28、時(shí)間片的輸出)進(jìn)程間的同步關(guān)系用一個(gè)段表示:W2,表示該進(jìn)程先要等待P2進(jìn)程執(zhí)行結(jié)束后才可以運(yùn)行因此,進(jìn)程間的同步與互斥關(guān)系、服務(wù)時(shí)間可以統(tǒng)一用四段表示為:I2C10O5W2可以在運(yùn)行中顯示各進(jìn)程的狀態(tài):就緒、阻塞、執(zhí)行采用可視化界面,可在進(jìn)程調(diào)度過(guò)程中隨時(shí)暫停調(diào)度,查看當(dāng)前進(jìn)程的狀態(tài)以及相應(yīng)的阻塞隊(duì)列具有一定的數(shù)據(jù)容錯(cuò)性選題十五:采用最低松弛度優(yōu)先調(diào)度的實(shí)時(shí)系統(tǒng)調(diào)度程序1、設(shè)計(jì)目的:在實(shí)時(shí)系統(tǒng)中,要保證在指定的時(shí)間完成指定的任務(wù),通常會(huì)采用搶占式的調(diào)度方式。要求采用指定的調(diào)度算法,使系統(tǒng)中的任務(wù)能夠按時(shí)完成,通過(guò)觀察中系統(tǒng)中的搶占點(diǎn),以鞏固和加深對(duì)實(shí)時(shí)系統(tǒng)調(diào)度算法的理解。2、設(shè)計(jì)要求:每一個(gè)

29、周期性實(shí)時(shí)任務(wù)必須指定周期長(zhǎng)度與執(zhí)行時(shí)間可以在界面安排周期性實(shí)時(shí)任務(wù)的個(gè)數(shù)與相關(guān)的指標(biāo)值,又及要求仿真的時(shí)間長(zhǎng)度系統(tǒng)可又對(duì)設(shè)定的任務(wù)條件進(jìn)行檢查,如果無(wú)法滿足公式 的要求,則彈出相應(yīng)的錯(cuò)誤提示,并重新進(jìn)入任務(wù)安排界面可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行周期性實(shí)時(shí)任務(wù)數(shù)、周期長(zhǎng)度、執(zhí)行時(shí)間的初始化采用可視化界面,數(shù)據(jù)載入后按最低松弛度算法進(jìn)行調(diào)度,可以在運(yùn)行中動(dòng)態(tài)顯示各進(jìn)程的狀態(tài):就緒、執(zhí)行、完成系統(tǒng)上下文切換時(shí),會(huì)暫停調(diào)度,顯示就緒隊(duì)列中各任務(wù)的松弛度,按任意鍵后自動(dòng)運(yùn)行具有一定的數(shù)據(jù)容錯(cuò)性選題十六:用多進(jìn)程同步方法演示“生產(chǎn)者-消費(fèi)者”問(wèn)題1、設(shè)計(jì)目的:通過(guò)研究Linux的進(jìn)程同步機(jī)制

30、和信號(hào)量,實(shí)現(xiàn)生產(chǎn)者消費(fèi)者問(wèn)題的并發(fā)控制。2、說(shuō)明:有界緩沖區(qū)內(nèi)設(shè)有26個(gè)存儲(chǔ)單元,放入取出的產(chǎn)品設(shè)定為26個(gè)大寫英文字母。3、設(shè)計(jì)要求:生產(chǎn)者與消費(fèi)者均有二個(gè)以上生產(chǎn)者和消費(fèi)者進(jìn)程的數(shù)目在程序界面上可調(diào),在運(yùn)行時(shí)可隨時(shí)單個(gè)增加與減少生產(chǎn)者與消費(fèi)者生產(chǎn)者的生產(chǎn)速度與消費(fèi)者的消費(fèi)速度均可在程序界面調(diào)節(jié),在運(yùn)行中,該值調(diào)整(tiozhng)后立即生效生產(chǎn)者生產(chǎn)的產(chǎn)品由隨機(jī)函數(shù)(hnsh)決定多個(gè)(du )生產(chǎn)者或多個(gè)消費(fèi)者之間必須有共享對(duì)緩沖區(qū)進(jìn)行操作的函數(shù)代碼每個(gè)生產(chǎn)者和消費(fèi)者對(duì)有界緩沖區(qū)進(jìn)行操作后,即時(shí)顯示有界緩沖區(qū)的全部?jī)?nèi)容、當(dāng)前生產(chǎn)者與消費(fèi)者的指針位置,以及生產(chǎn)者和消費(fèi)者線程標(biāo)識(shí)符采用可視

31、化界面,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前生產(chǎn)者、消費(fèi)者以及有界緩沖區(qū)的狀態(tài)選題十七:用多進(jìn)程同步方法演示“桔子-蘋果”問(wèn)題1、設(shè)計(jì)目的:通過(guò)研究Linux的進(jìn)程同步機(jī)制和信號(hào)量,實(shí)現(xiàn)特殊的生產(chǎn)者與消費(fèi)者問(wèn)題的并發(fā)控制。2、說(shuō)明:有兩類生產(chǎn)者,一類負(fù)責(zé)生產(chǎn)桔子,一類負(fù)責(zé)生產(chǎn)蘋果;有兩類消費(fèi)者,一類負(fù)責(zé)消費(fèi)桔子,一類負(fù)責(zé)消費(fèi)蘋果;他們共享一個(gè)有20個(gè)存儲(chǔ)單元的有界緩沖區(qū),每個(gè)存儲(chǔ)單元只能放入一種產(chǎn)品(桔子/蘋果)。3、設(shè)計(jì)要求:二類生產(chǎn)者與二類消費(fèi)者數(shù)目均為20,即20個(gè)生產(chǎn)者負(fù)責(zé)生產(chǎn)桔子,20個(gè)生產(chǎn)者負(fù)責(zé)生產(chǎn)蘋果;20個(gè)消費(fèi)者負(fù)責(zé)消費(fèi)桔子,20個(gè)消費(fèi)者負(fù)責(zé)消費(fèi)蘋果二類生產(chǎn)者的生產(chǎn)速度與二類消費(fèi)者

32、的消費(fèi)速度均可獨(dú)立在程序界面調(diào)節(jié),在運(yùn)行中,該值調(diào)整后立即生效多個(gè)生產(chǎn)者或多個(gè)消費(fèi)者之間必須有共享對(duì)緩沖區(qū)進(jìn)行操作的函數(shù)代碼,同時(shí)需要考慮算法的效率性每個(gè)生產(chǎn)者和消費(fèi)者對(duì)有界緩沖區(qū)進(jìn)行操作后,即時(shí)顯示有界緩沖區(qū)的全部?jī)?nèi)容、當(dāng)前生產(chǎn)者與消費(fèi)者的指針位置,以及生產(chǎn)者和消費(fèi)者線程標(biāo)識(shí)符采用可視化界面,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前生產(chǎn)者、消費(fèi)者以及有界緩沖區(qū)的狀態(tài)選題十八:通用請(qǐng)求分頁(yè)調(diào)度算法演示(ynsh)程序1、設(shè)計(jì)(shj)目的:用高級(jí)語(yǔ)言編寫和調(diào)試一個(gè)內(nèi)存分配程序,加深對(duì)內(nèi)存分配算法(sun f)的理解。2、設(shè)計(jì)要求(多道):演示實(shí)現(xiàn)下列五種請(qǐng)求分頁(yè)存儲(chǔ)管理方式的頁(yè)面置換算法:先進(jìn)先出的算

33、法(FIFO)最佳置換算法(OPT)近期最久未使用算法(LRU)近期最少使用算法(LFU)CLOCK置換算法內(nèi)存物理塊數(shù)固定為15個(gè),對(duì)多個(gè)作業(yè)采用固定分配局部置換的策略分配物理塊作業(yè)數(shù)量與作業(yè)大?。?0-20頁(yè))可在界面進(jìn)行設(shè)置所有作業(yè)按RR算法進(jìn)行調(diào)度,時(shí)間片長(zhǎng)度為1秒可為每個(gè)作業(yè)隨機(jī)產(chǎn)生引用的頁(yè)面串,也可以人工輸入引用的頁(yè)面串,頁(yè)面串長(zhǎng)度50100,要求必須包括作業(yè)所有的頁(yè)面,可作為樣例數(shù)據(jù)保存可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行作業(yè)數(shù)量、作業(yè)大小、頁(yè)面串長(zhǎng)度的初始化要求對(duì)每種算法采用可視化界面,模擬內(nèi)存分配和使用情況圖,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前內(nèi)存物理塊使用情況。有性能比

34、較功能,可比較同一組數(shù)據(jù)在不同頁(yè)面置換算法下的命中率選題十九:采用近期最久未使用(LRU)算法仿真請(qǐng)求分頁(yè)系統(tǒng)1、設(shè)計(jì)目的:用高級(jí)語(yǔ)言編寫和調(diào)試一個(gè)內(nèi)存分配程序,加深對(duì)內(nèi)存分配算法的理解。2、設(shè)計(jì)要求:實(shí)現(xiàn)請(qǐng)求分頁(yè)存儲(chǔ)管理方式的頁(yè)面置換算法:近期最久未使用算法(LRU)內(nèi)存物理塊數(shù)固定為15個(gè),對(duì)多個(gè)作業(yè)采用可變分配全局置換的策略分配物理塊作業(yè)數(shù)量與作業(yè)大?。?0-20頁(yè))可在界面進(jìn)行設(shè)置所有作業(yè)按RR算法進(jìn)行調(diào)度,時(shí)間片長(zhǎng)度為1秒可為每個(gè)作業(yè)隨機(jī)產(chǎn)生引用的頁(yè)面串,也可以人工輸入引用的頁(yè)面串,頁(yè)面串長(zhǎng)度50100,要求必須包括作業(yè)所有的頁(yè)面,可作為樣例數(shù)據(jù)保存可讀取樣例數(shù)據(jù)(要求存放在外部文件

35、中)進(jìn)行作業(yè)數(shù)量、作業(yè)大小、頁(yè)面串長(zhǎng)度的初始化要求采用可視化界面,模擬內(nèi)存分配和使用情況圖,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前內(nèi)存物理塊使用情況。每次全部作業(yè)運(yùn)行結(jié)束后,要求打印出訪問(wèn)命中率選題二十:采用近期最少使用(LFU)算法仿真請(qǐng)求分頁(yè)系統(tǒng)1、設(shè)計(jì)(shj)目的:用高級(jí)語(yǔ)言編寫和調(diào)試(dio sh)一個(gè)內(nèi)存分配程序,加深對(duì)內(nèi)存分配算法的理解。2、設(shè)計(jì)(shj)要求:實(shí)現(xiàn)請(qǐng)求分頁(yè)存儲(chǔ)管理方式的頁(yè)面置換算法:近期最少使用算法(LFU)內(nèi)存物理塊數(shù)固定為15個(gè),對(duì)多個(gè)作業(yè)采用可變分配全局置換的策略分配物理塊作業(yè)數(shù)量與作業(yè)大?。?0-20頁(yè))可在界面進(jìn)行設(shè)置所有作業(yè)按RR算法進(jìn)行調(diào)度,時(shí)間片長(zhǎng)度為

36、1秒可為每個(gè)作業(yè)隨機(jī)產(chǎn)生引用的頁(yè)面串,也可以人工輸入引用的頁(yè)面串,頁(yè)面串長(zhǎng)度50100,要求必須包括作業(yè)所有的頁(yè)面,可作為樣例數(shù)據(jù)保存可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行作業(yè)數(shù)量、作業(yè)大小、頁(yè)面串長(zhǎng)度的初始化要求采用可視化界面,模擬內(nèi)存分配和使用情況圖,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前內(nèi)存物理塊使用情況。每次全部作業(yè)運(yùn)行結(jié)束后,要求打印出訪問(wèn)命中率選題二十一:采用CLOCK置換算法仿真請(qǐng)求分頁(yè)系統(tǒng)1、設(shè)計(jì)目的:用高級(jí)語(yǔ)言編寫和調(diào)試一個(gè)內(nèi)存分配程序,加深對(duì)內(nèi)存分配算法的理解。2、設(shè)計(jì)要求:實(shí)現(xiàn)請(qǐng)求分頁(yè)存儲(chǔ)管理方式的頁(yè)面置換算法:CLOCK算法內(nèi)存物理塊數(shù)固定為15個(gè),對(duì)多個(gè)作業(yè)采用可變分配

37、全局置換的策略分配物理塊作業(yè)數(shù)量與作業(yè)大?。?0-20頁(yè))可在界面進(jìn)行設(shè)置所有作業(yè)按RR算法進(jìn)行調(diào)度,時(shí)間片長(zhǎng)度為1秒可為每個(gè)作業(yè)隨機(jī)產(chǎn)生引用的頁(yè)面串,也可以人工輸入引用的頁(yè)面串,頁(yè)面串長(zhǎng)度50100,要求必須包括作業(yè)所有的頁(yè)面,可作為樣例數(shù)據(jù)保存可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行作業(yè)數(shù)量、作業(yè)大小、頁(yè)面串長(zhǎng)度的初始化要求采用可視化界面,模擬內(nèi)存分配和使用情況圖,可在運(yùn)行過(guò)程中隨時(shí)暫停,查看當(dāng)前內(nèi)存物理塊使用情況。每次全部作業(yè)運(yùn)行結(jié)束后,要求打印出訪問(wèn)命中率選題二十二:通用動(dòng)態(tài)分區(qū)分配存儲(chǔ)管理系統(tǒng)演示1、設(shè)計(jì)目的:用高級(jí)語(yǔ)言編寫和調(diào)試一個(gè)動(dòng)態(tài)分區(qū)內(nèi)存分配程序,加深對(duì)內(nèi)存連續(xù)分配算法的理

38、解。2、設(shè)計(jì)要求:演示實(shí)現(xiàn)下列三種動(dòng)態(tài)分區(qū)分配算法循環(huán)首次適應(yīng)算法最佳適應(yīng)算法最壞適應(yīng)算法內(nèi)存(ni cn)中有0-100M的空間為用戶程序空間,最開始用戶空間是空閑的作業(yè)數(shù)量、作業(yè)大小(dxio)、進(jìn)入內(nèi)存時(shí)間、運(yùn)行時(shí)間需要通過(guò)界面進(jìn)行輸入可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行作業(yè)數(shù)量、作業(yè)大小、進(jìn)入(jnr)內(nèi)存時(shí)間、運(yùn)行時(shí)間的初始化根據(jù)作業(yè)進(jìn)入內(nèi)存的時(shí)間,采用簡(jiǎn)單的先進(jìn)先出原則進(jìn)行從外存到內(nèi)存的調(diào)度,作業(yè)具有等待(從外存進(jìn)入內(nèi)存執(zhí)行)、裝入(在內(nèi)存可執(zhí)行)、結(jié)束(運(yùn)行結(jié)束,退出內(nèi)存)三種狀態(tài)。(為了簡(jiǎn)化,不考慮CPU的調(diào)度與切換,運(yùn)行時(shí)間為作業(yè)在內(nèi)存中駐留的時(shí)間)能夠自動(dòng)進(jìn)行內(nèi)存分配

39、與回收,可根據(jù)需要自動(dòng)進(jìn)行緊湊與拼接操作,所有過(guò)程均有動(dòng)態(tài)圖形變化的顯示采用可視化界面,可隨時(shí)暫停顯示當(dāng)前內(nèi)存分配和使用情況圖。選題二十三:設(shè)計(jì)內(nèi)核同步原語(yǔ)1、設(shè)計(jì)目的:掌握操作系統(tǒng)中信號(hào)量signal()與wait()的工作原理,和在Linux內(nèi)核中增加系統(tǒng)調(diào)用函數(shù)的方法,了解對(duì)Linux內(nèi)核重新進(jìn)行編譯、連接的過(guò)程。設(shè)計(jì)要求:要求設(shè)計(jì)三個(gè)原語(yǔ)實(shí)現(xiàn)操作系統(tǒng)中信號(hào)量signal()與wait()功能:Request()、Release()和Broadcast()Request()類似wait()操作,該原語(yǔ)允許多個(gè)進(jìn)程因一個(gè)事件而阻塞,每次產(chǎn)生阻塞時(shí)均會(huì)發(fā)出一個(gè)消息,“有多少個(gè)進(jìn)程處于阻塞狀態(tài)

40、?!盧elease()類似signal()操作,當(dāng)一個(gè)進(jìn)程產(chǎn)生這個(gè)事件的信號(hào)時(shí),該原語(yǔ)會(huì)喚醒處于阻塞隊(duì)列中的第一個(gè)進(jìn)程,并發(fā)出一個(gè)消息“進(jìn)程XX解除了阻塞狀態(tài),尚有XX個(gè)進(jìn)程處于阻塞狀態(tài)?!保蝗绻谛盘?hào)產(chǎn)生時(shí),沒有進(jìn)程因?yàn)檫@個(gè)事件阻塞,那么這個(gè)信號(hào)無(wú)效,不產(chǎn)生任何消息。Broadcast()是類似一個(gè)廣播操作,當(dāng)一個(gè)進(jìn)程產(chǎn)生這個(gè)事件的信號(hào)時(shí),該原語(yǔ)會(huì)喚醒處于阻塞隊(duì)列中的所有進(jìn)程,并發(fā)出一個(gè)消息“廣播,所有進(jìn)程解除了阻塞狀態(tài)?!?;如果在信號(hào)產(chǎn)生時(shí),沒有進(jìn)程因?yàn)檫@個(gè)事件阻塞,那么這個(gè)信號(hào)無(wú)效,不產(chǎn)生任何消息。編寫一個(gè)測(cè)試程序,驗(yàn)證原語(yǔ)的正確性。要求在實(shí)驗(yàn)報(bào)告中列出Linux內(nèi)核的版本與編譯過(guò)程選題

41、二十四:字符與塊設(shè)備驅(qū)動(dòng)程序1、設(shè)計(jì)目的:掌握設(shè)備驅(qū)動(dòng)程序的編寫、編譯和裝載、卸載方法,了解設(shè)備文件的創(chuàng)建,并知道如何編寫測(cè)試程序測(cè)試自己的驅(qū)動(dòng)程序是否能夠正常工作2、設(shè)計(jì)要求:編寫一個(gè)字符設(shè)備驅(qū)動(dòng)程序與一個(gè)塊設(shè)備驅(qū)動(dòng)程序,字符設(shè)備包括打開、讀、寫、IO控制與釋放五個(gè)基本操作,塊設(shè)備包括打開、IO控制與釋放三個(gè)基本操作。編寫相關(guān)測(cè)試程序,測(cè)試設(shè)備驅(qū)動(dòng)程序的正確性。要求在實(shí)驗(yàn)報(bào)告中列出Linux內(nèi)核的版本與內(nèi)核模塊加載過(guò)程選題二十五:采用“寫優(yōu)先”的策略演示“讀者-寫者”問(wèn)題1、設(shè)計(jì)目的:通過(guò)研究經(jīng)典的進(jìn)程進(jìn)步問(wèn)題(wnt),實(shí)現(xiàn)對(duì)讀者-寫者問(wèn)題的并發(fā)控制。2、說(shuō)明(shumng):閱覽室一次最

42、多可以容納20個(gè)人。3、設(shè)計(jì)(shj)要求:讀者與寫者至少包括ID、進(jìn)入內(nèi)存時(shí)間、讀寫時(shí)間三項(xiàng)內(nèi)容,可在界面上進(jìn)行輸入讀者與寫者均有二個(gè)以上,可在程序運(yùn)行期間動(dòng)態(tài)增加讀者與寫者可讀取樣例數(shù)據(jù)(要求存放在外部文件中),進(jìn)行讀者/寫者、進(jìn)入內(nèi)存時(shí)間、讀寫時(shí)間的初始化要求將運(yùn)行過(guò)程用可視化界面動(dòng)態(tài)顯示,可隨時(shí)暫停,查看閱覽室中讀者/寫者數(shù)目、讀者等待隊(duì)列、寫者等待隊(duì)列、讀寫時(shí)間、等待時(shí)間讀寫策略為:讀寫互斥、寫寫互斥、寫優(yōu)先(只要寫者到達(dá),就阻塞后續(xù)的所有讀者,一旦閱覽室無(wú)人,寫者能最快進(jìn)入閱覽室;在寫者未出閱讀室之前,又有新的讀者與寫者到達(dá),仍然是寫者排在前面)選題二十六:采用“讀寫平等”的策略演

43、示“讀者-寫者”問(wèn)題1、設(shè)計(jì)目的:通過(guò)研究經(jīng)典的進(jìn)程進(jìn)步問(wèn)題,實(shí)現(xiàn)對(duì)讀者-寫者問(wèn)題的并發(fā)控制。2、說(shuō)明:閱覽室一次最多可以容納20個(gè)人。3、設(shè)計(jì)要求:讀者與寫者至少包括ID、進(jìn)入內(nèi)存時(shí)間、讀寫時(shí)間三項(xiàng)內(nèi)容,可在界面上進(jìn)行輸入讀者與寫者均有二個(gè)以上,可在程序運(yùn)行期間動(dòng)態(tài)增加讀者與寫者可讀取樣例數(shù)據(jù)(要求存放在外部文件中),進(jìn)行讀者/寫者、進(jìn)入內(nèi)存時(shí)間、讀寫時(shí)間的初始化要求將運(yùn)行過(guò)程用可視化界面動(dòng)態(tài)顯示,可隨時(shí)暫停,查看閱覽室中讀者/寫者數(shù)目、讀者等待隊(duì)列、寫者等待隊(duì)列、讀寫時(shí)間、等待時(shí)間讀寫策略為:讀寫互斥、寫寫互斥、讀寫平等(嚴(yán)格按照讀者與寫者到達(dá)的順序進(jìn)入閱覽室,有寫者到達(dá),則阻塞后續(xù)到達(dá)的

44、讀者;有讀者到達(dá),則阻塞后續(xù)到達(dá)的寫者)選題二十七:獨(dú)占設(shè)備的分配與回收1、設(shè)計(jì)目的:掌握獨(dú)占設(shè)備的分配流程,會(huì)使用安全性算法檢查設(shè)備分配是否安全2、設(shè)計(jì)要求:合理設(shè)計(jì)SDT、DCT、COCT、CHCT的數(shù)據(jù)結(jié)構(gòu)獨(dú)占設(shè)備、控制器與通道的數(shù)目可在界面進(jìn)行設(shè)置進(jìn)程申請(qǐng)使用獨(dú)占設(shè)備時(shí)至少要求包括申請(qǐng)時(shí)間與使用時(shí)間可讀取樣例數(shù)據(jù)(要求存放在外部文件中)進(jìn)行獨(dú)占設(shè)備、控制器與通道數(shù)目的初始化,進(jìn)行進(jìn)程申請(qǐng)?jiān)O(shè)備的初始化點(diǎn)擊開始運(yùn)行后,系統(tǒng)自動(dòng)根據(jù)初始設(shè)定的數(shù)據(jù)進(jìn)行設(shè)備分配與回收(hushu),所有狀態(tài)信息需動(dòng)態(tài)地顯示出來(lái):設(shè)備、控制器、通道數(shù)目,阻塞隊(duì)列情況等運(yùn)行中可動(dòng)態(tài)增加申請(qǐng)?jiān)O(shè)備的進(jìn)程,可隨時(shí)(sush)暫停,查看當(dāng)前狀態(tài)使用可視化界面(jimin)進(jìn)行演示選題二十八:模擬共享打印機(jī)的Spooling守護(hù)進(jìn)程1、設(shè)計(jì)目的:掌握采用Spooling技術(shù)解決獨(dú)占設(shè)備的共享問(wèn)題2、設(shè)計(jì)要求:daemon進(jìn)程(守護(hù)進(jìn)程)為一獨(dú)立的進(jìn)程模塊,負(fù)責(zé)從輸出井中取文件進(jìn)行打印請(qǐng)求打印進(jìn)程的PCB至少包括:進(jìn)程標(biāo)識(shí)符、進(jìn)程狀態(tài)、信息塊首地址、信息塊長(zhǎng)度。進(jìn)程狀態(tài)有三種,包括:等待(輸出井滿,等待)、進(jìn)入(打印數(shù)據(jù)已存入輸出井)、結(jié)束(打印結(jié)束)輸出井為一有界存儲(chǔ)空間,用一個(gè)一維char型數(shù)組表示,數(shù)組size為100

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論