操作系統(tǒng)實(shí)驗指導(dǎo)書_第1頁
操作系統(tǒng)實(shí)驗指導(dǎo)書_第2頁
操作系統(tǒng)實(shí)驗指導(dǎo)書_第3頁
操作系統(tǒng)實(shí)驗指導(dǎo)書_第4頁
操作系統(tǒng)實(shí)驗指導(dǎo)書_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)實(shí)驗指導(dǎo)書徐軍利編寫武漢工業(yè)學(xué)院計算機(jī)與信息工程系2009年8月實(shí)驗一進(jìn)度管理1.目的和要求經(jīng)過實(shí)驗理解進(jìn)度的看法,進(jìn)度的組成(PCB結(jié)構(gòu)),進(jìn)度的并發(fā)執(zhí)行和操作系統(tǒng)進(jìn)行進(jìn)度管理的相關(guān)原語(主若是進(jìn)度的創(chuàng)辦、執(zhí)行、撤消)。2.實(shí)驗內(nèi)容用C語言編程模擬進(jìn)度管理,最少要有:創(chuàng)辦新的進(jìn)度;查察運(yùn)行進(jìn)度;換出某個進(jìn)度;殺死運(yùn)行進(jìn)度以及進(jìn)度之間通信等功能。3.實(shí)驗環(huán)境Windows操作系統(tǒng)、VC++C語言4.實(shí)驗提示PCB結(jié)構(gòu)平時包括以下信息:進(jìn)度名,進(jìn)度優(yōu)先數(shù),輪轉(zhuǎn)時間片,進(jìn)度所占用的CPU時間,進(jìn)度的狀態(tài),當(dāng)前隊列指針等??梢勒諏?shí)驗的不同樣,PCB結(jié)構(gòu)的內(nèi)容可以作合適的增刪。主體程序#include""#include""#include""structPCBtype{intpid;intpriority;intcputime;};structPCB_typeneicun[20];intshumu=0,pid_l;main( ){intn,m,i;chara;n=1;while(n==1){clrscr( );printf("\n********************************************");printf("\n*進(jìn)度演示系統(tǒng)*");printf("\n********************************************");printf("\n1.創(chuàng)辦新的進(jìn)度2.查察運(yùn)行進(jìn)度");printf("\n3.換出某個進(jìn)度4.殺死運(yùn)行進(jìn)度");printf("\n5.進(jìn)度之間通信6.退出系統(tǒng)");printf("\n********************************************");printf("\n請選擇(1~6)");a=getchar( );switch(a){case'1':create( );break;case'2':run( );/*自定義過程*/break;case'3':huanchu( );/*自定義過程*/break;case'4':kill( );break;case'5':tongxun( );/*自定義過程*/break;case'6':exit(0);default:n=0;}}}create( )/*創(chuàng)辦一個進(jìn)度的示例(不完滿的程序)*/{if(shumu>=20){printf("\n內(nèi)存已滿,請先結(jié)束或換出進(jìn)度\n");}else{printf("\n請輸入新進(jìn)度的pid\n");scanf("%d",&neicun[shumu-1].pid);printf("\n請輸入新進(jìn)度的優(yōu)先級\n");scanf("%d",&neicun[shumu-1].youxian);printf("\n請輸入新進(jìn)度的大小\n");scanf("%d",&neicun[shumu-1].daxiao);shumu++;}}5.實(shí)驗運(yùn)行結(jié)果*********************************************進(jìn)度演示系統(tǒng)*********************************************1.創(chuàng)辦新的進(jìn)度2.查察運(yùn)行進(jìn)度3.換出某個進(jìn)度4.殺死運(yùn)行進(jìn)度5.進(jìn)度之間通信6.退出系統(tǒng)********************************************請選擇(1~6)爾后依照你選擇的不同樣,出現(xiàn)不同樣的結(jié)果。實(shí)驗要求:1)上機(jī)前認(rèn)真使用C語言編寫好程序,采用VisualC++作為編譯環(huán)境;2)上機(jī)時獨(dú)立調(diào)試程序3)依照詳盡實(shí)驗要求,填寫好實(shí)驗報告(包括目的和要求、實(shí)驗內(nèi)容、實(shí)驗環(huán)境、設(shè)計思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。實(shí)驗二進(jìn)度調(diào)換1.目的和要求經(jīng)過此次實(shí)驗,理解進(jìn)度調(diào)換的過程,進(jìn)一步掌握進(jìn)度狀態(tài)的轉(zhuǎn)變、進(jìn)度調(diào)換的策略,進(jìn)一步領(lǐng)悟多道程序并發(fā)執(zhí)行的特點(diǎn),并解析詳盡的調(diào)換算法的特點(diǎn),掌握對系統(tǒng)性能的議論方法。2.實(shí)驗內(nèi)容閱讀教材《計算機(jī)操作系統(tǒng)》第二章和第三章,掌握進(jìn)度管理及調(diào)換相關(guān)看法和原理。編寫程序模擬實(shí)現(xiàn)進(jìn)度的輪轉(zhuǎn)法調(diào)換過程,模擬程序只對PCB進(jìn)行相應(yīng)的調(diào)換模擬操作,不需要實(shí)質(zhì)程序。假設(shè)初始狀態(tài)為:有n個進(jìn)度處于就緒狀態(tài),有m個進(jìn)度處于擁塞狀態(tài)。采用輪轉(zhuǎn)法進(jìn)度調(diào)換算法進(jìn)行調(diào)換(調(diào)換過程中,假設(shè)處于執(zhí)行狀態(tài)的進(jìn)度不會擁塞),且每過t個時間片系統(tǒng)釋放資源,喚醒處于擁塞行排隊首的進(jìn)度。程序要求以下:1)輸出系統(tǒng)中進(jìn)度的調(diào)換次序;2)計算CPU利用率。3.實(shí)驗環(huán)境Windows操作系統(tǒng)、VC++C語言4.實(shí)驗提示用C語言實(shí)現(xiàn)提示:1)程序中進(jìn)度可用PCB表示,其種類描述以下:structPCB_type{intpid;

實(shí)驗要求:1)上機(jī)前認(rèn)真使用

C語言編寫好程序,采用

VisualC++

作為編譯環(huán)境;2)上機(jī)時獨(dú)立調(diào)試程序3)依照詳盡實(shí)驗要求,填寫好實(shí)驗報告(包括目的和要求、實(shí)驗內(nèi)容、實(shí)驗環(huán)境、設(shè)計思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。4)測試用數(shù)據(jù):n=2m=3t=5ready_headblocked_headdispath( )算法流程圖:beginuse_cpu=0x=0

/*use_cpu中記錄CPU運(yùn)行時間/*unuse_cpuunuse_cpu=0中記錄CPU悠閑時間否ready隊列不空或endblocked隊列不空是是ready隊列不空

否否釋放p

取ready隊首元素p->置“運(yùn)行”unuse_cpu++輸出p->p->use_cpu++是p->>0是p入ready行排隊尾是x++x==t否是blocked隊首進(jìn)度入ready行排隊尾;x=0實(shí)驗三可變分區(qū)儲藏管理1.目的和要求經(jīng)過此次實(shí)驗,加深對內(nèi)存管理的認(rèn)識,進(jìn)一步掌握內(nèi)存的分配、回收算法的思想。2.實(shí)驗內(nèi)容閱讀教材《計算機(jī)操作系統(tǒng)》第四章,掌握儲藏器管理相關(guān)看法和原理。編寫程序模擬實(shí)現(xiàn)內(nèi)存的動向分區(qū)法儲藏管理。內(nèi)存悠閑區(qū)使用自由鏈管理,采用最壞適應(yīng)算法從自由鏈中搜尋悠閑區(qū)進(jìn)行分配,內(nèi)存回收時假設(shè)不做與相鄰悠閑區(qū)的合并。假設(shè)系統(tǒng)的內(nèi)存共640K,初始狀態(tài)為操作系統(tǒng)自己占用64K。在t1時間之后,有作業(yè)A、B、C、D分別央求8K、16K、64K、124K的內(nèi)存空間;在t2時間此后,作業(yè)C完成;在t3時間此后,作業(yè)E央求50K的內(nèi)存空間;在t4時間之后,作業(yè)

D完成。要求編程序分別輸出

t1、t2、t3、t4

時刻內(nèi)存的悠閑區(qū)的狀態(tài)。3.實(shí)驗環(huán)境Windows操作系統(tǒng)、VC++C語言4.實(shí)驗提示用C語言實(shí)現(xiàn)提示:程序中自由鏈隊列的結(jié)點(diǎn)種類可描述以下:structfreelink{intlen,address;/*address

/*len

為分區(qū)長度為分區(qū)初步地址structfreelink*next;}內(nèi)存占用區(qū)用鏈表描述,其結(jié)點(diǎn)種類描述以下:structbusylink{charname;/*

作業(yè)或進(jìn)度名

name=’S’表示

OS占用intlen,address;structbusylink*next;}并設(shè)全程量:structfreelink

*free_head=NULL;

計子函數(shù):voidstart(void);/*

設(shè)置系統(tǒng)初始狀態(tài)

*/{structfreelink*p;structbusylink*q;free_head=(struct

freelink*)malloc(sizeof(structfreelink));free_head->next=NULL;

計主函數(shù):main( ){start( );past(t1);requireMemo(‘A’,8);requireMemo(requireMemo(‘C’,64);requireMemo(printlink( );

‘B’,16);‘D’,124);past(t2);freeMemo(‘C’);printlink( );past(t3);requireMemo(‘E’,50);printlink( );freeMemo(‘D’);printlink( );}實(shí)驗要求:1)上機(jī)前認(rèn)真使用C語言編寫好程序,采用VisualC++作為編譯環(huán)境;2)上機(jī)時獨(dú)立調(diào)試程序3)依照詳盡實(shí)驗要求,填寫好實(shí)驗報告(包括目的和要求、實(shí)驗內(nèi)容、實(shí)驗環(huán)境、設(shè)計思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。requireMemo(charname,intrequire)endprintf(“Can’tw=free_head->next;free_head->next=w->next;w->len==requirefree(w)

流程圖以下:begin否free_head->next->len>=requirep=(structbusylink*)malloc( );p->name=name;p->address=free_head->next->address;p->len=require;p->next=NULLw->address=w->address+require;w->len=w->len-require;u=free_head;v=free_head->next;(v!=NULL)&&v->len>w->lenu->next=wu=vw->next=vv=v->nextendfreeMemo(charname)流程圖以下:beginq=busy_headp=busy_head->next(p!=NULL)&&(p->name!=name)否q=pp=p->nextp==NULLif(p==busy_tail)busy_tail=q;printf(“%cisnotq->next=p->next;exist”,name)len=p->len;address=p->address;free(p)end是w=(structfreelink*)malloc( );w->len=len;w->address=address;u=free_headv=free_head->next(v!=NULL)&&(否v->len>len)是u->next=wu=vw->next=vv=v->nextend實(shí)驗四頁式虛假儲藏管理頁面置換算法1.目的和要求儲藏管理的主要功能之一是合理的分配空間。央求頁式管理是一種常用的虛擬儲藏管理技術(shù)。本實(shí)驗的目的是:經(jīng)過編寫和調(diào)試央求頁式儲藏管理中頁面置換算法的模擬程序以加深對儲藏管理方案的理解,認(rèn)識虛假儲藏技術(shù)的特點(diǎn),掌握央求頁式儲藏管理的頁面置換方法。2.實(shí)驗內(nèi)容閱讀教材《計算機(jī)操作系統(tǒng)》第四章,掌握儲藏器管理相關(guān)看法和原理。編寫程序模擬實(shí)現(xiàn)頁式虛假儲藏管理的最正確頁面置換算法。前提:(1)頁面分配采用固定分配局部置換。(2)作業(yè)的頁面走向和分得的物理塊數(shù)起初指定??梢詮逆I盤輸入也可以從文件讀入。(3)置換算法的置換過程輸出可以在顯示器上也可以存放在文件中,但必須清楚可讀,便于檢驗。3.實(shí)驗環(huán)境Windows操作系統(tǒng)、VC++C語言4.實(shí)驗提示(1)數(shù)據(jù)結(jié)構(gòu)要模擬實(shí)現(xiàn)某一個置換算法,有以下一些對象需要用相關(guān)的數(shù)據(jù)結(jié)構(gòu)來描述:作業(yè)的頁面走向(執(zhí)行過程中對頁面的接見次序)??梢杂脭?shù)組也可以用字符串。若是用數(shù)組,則頁面走向的長度受數(shù)組長度限制,若是用字符串,則需要將字符串進(jìn)行解析,將字符串經(jīng)過解析辦理后變成一個頁面的排列次序??紤]最正確置換算法(“向前看”)和其他置換算法(“向后看“)的特點(diǎn)。頁框(作業(yè)分得的物理塊)。由于作業(yè)分得的物理塊數(shù)在置換算法執(zhí)行從前已經(jīng)確定,可以用一些比較簡單的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。在綜合置換算法的原理,可以靈便采用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)(如隊列、數(shù)組、貨倉),盡可能使程序的時間復(fù)雜度最低。采用不同樣的數(shù)據(jù)結(jié)構(gòu)還要配合在數(shù)據(jù)結(jié)構(gòu)上的相應(yīng)操作才行。(2)功能模塊劃分大體上可以將整個程序的模塊劃分成以下幾個部分:1)主模塊:主若是初始化、界面和模塊調(diào)用。2)頁面走向輸入模塊。(從鍵盤讀入數(shù)據(jù)結(jié)構(gòu)或?qū)㈨撁孀呦驅(qū)懭胛募?)置換算法模塊。判斷模塊。決定換出哪一塊。每一種置換算法對應(yīng)一種判斷算法。調(diào)整模塊。依照判斷模塊的結(jié)果,調(diào)整作業(yè)分得物理塊會集中邏輯頁面的情況。置換過程輸出模塊(在顯示器上顯示或?qū)懭胛募?。該模塊每發(fā)生一次置換,由置換算法模塊調(diào)用一次。.除此之外,有些屢次執(zhí)行的操作考慮用過程或函數(shù)實(shí)現(xiàn)??偠灾麄€程序應(yīng)該結(jié)構(gòu)清楚,界面友好,可讀性好,易調(diào)試,易擴(kuò)大,易保護(hù)。實(shí)驗要求:1)上機(jī)前認(rèn)真使用C語言編寫好程序,采用VisualC++作為編譯環(huán)境;2)上機(jī)時獨(dú)立調(diào)試程序3)依照詳盡實(shí)驗要求,填寫好實(shí)驗報告(包括目的和要求、實(shí)驗內(nèi)容、實(shí)驗環(huán)境、設(shè)計思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。實(shí)驗五用戶接口實(shí)驗1.目的和要求經(jīng)過上機(jī)操作的實(shí)踐理解操作系統(tǒng)的作業(yè)級接口,重視理解shell的作用和工作過程,經(jīng)過編寫程序,在程序中調(diào)用操作系統(tǒng)的系統(tǒng)調(diào)用來加深對程序級接口的理解,重視理解系統(tǒng)調(diào)用的實(shí)現(xiàn)。2.實(shí)驗內(nèi)容選做任意一個:可以熟練使用Linux系統(tǒng)的鍵盤命令和X-window圖形界面,熟悉shell編程語言,編寫一個簡單的shell程序。指導(dǎo)學(xué)生在內(nèi)核文件中增加一個自定義的系統(tǒng)調(diào)用(也許利用現(xiàn)有操作系統(tǒng)的系統(tǒng)調(diào)用),編程來調(diào)用自己設(shè)計(選定)的這系統(tǒng)調(diào)用。練習(xí)使用DOS的鍵盤命令,熟悉批辦理編程的語法,編寫帶參數(shù)的簡單批辦理程序,經(jīng)過使

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論