




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)徐軍利編寫(xiě)武漢工業(yè)學(xué)院計(jì)算機(jī)與信息工程系2009年8月實(shí)驗(yàn)一進(jìn)程管理1 目的和要求通過(guò)實(shí)驗(yàn)理解進(jìn)程的概念,進(jìn)程的組成(PCB結(jié)構(gòu)),進(jìn)程的并發(fā)執(zhí)行和操作系統(tǒng)進(jìn)行進(jìn)程管理的相關(guān)原語(yǔ)(主要是進(jìn)程的創(chuàng)建、執(zhí)行、撤消)。2實(shí)驗(yàn)內(nèi)容用 C 語(yǔ)言編程模擬進(jìn)程管理,至少要有:創(chuàng)建新的進(jìn)程;查看運(yùn)行進(jìn)程;換出某個(gè)進(jìn)程;殺死運(yùn)行進(jìn)程以及進(jìn)程之間通信等功能。3實(shí)驗(yàn)環(huán)境 Windows 操作系統(tǒng)、VC+C 語(yǔ)言4實(shí)驗(yàn)提示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ù)實(shí)驗(yàn)的不同,PCB結(jié)構(gòu)的內(nèi)容可以作適當(dāng)?shù)脑鰟h。主體程序#inc
2、lude ""#include ""#include "" struct PCB_type int pid;int priority;int cputime;struct PCB_type neicun20;int shumu=0,pid_l;main()int n,m,i; char a;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.換出
3、某個(gè)進(jìn)程4.殺死運(yùn)行進(jìn)程printf("n5.進(jìn)程之間通信6.退出系統(tǒng)printf("n*”printf("n 請(qǐng)選擇(1 6)");a=getchar();switch(a) case'1':create( );break;case'2':run( ); /* 自定義過(guò)程*/break;case'3':huanchu(); /* 自定義過(guò)程*/break;case'4':kill( );break;case'5':tongxun( ); /* 自定義過(guò)程*/break;ca
4、se'6': exit(0);default: n=0;create( ) /* 創(chuàng)建一個(gè)進(jìn)程的示例(不完整的程序)*/if(shumu>=20)printf("n 內(nèi)存已滿(mǎn),請(qǐng)先結(jié)束或換出進(jìn)程n"); elseprintf("n 請(qǐng)輸入新進(jìn)程的pidn");scanf("%d",&neicunshumu-1.pid);printf("n 請(qǐng)輸入新進(jìn)程的優(yōu)先級(jí)n");scanf("%d",&neicunshumu-1.youxian);printf(&quo
5、t;n 請(qǐng)輸入新進(jìn)程的大小n");scanf("%d",&neicunshumu-1.daxiao);shumu+;5實(shí)驗(yàn)運(yùn)行結(jié)果*進(jìn)程演示系統(tǒng)*1.創(chuàng)建新的進(jìn)程2.查看運(yùn)行進(jìn)程3.換出某個(gè)進(jìn)程4.殺死運(yùn)行進(jìn)程5.進(jìn)程之間通信6.退出系統(tǒng)*請(qǐng)選擇(16)然后根據(jù)你選擇的不同,出現(xiàn)不同的結(jié)果。6. 實(shí)驗(yàn)要:1)上機(jī)前認(rèn)真使用C語(yǔ)言編寫(xiě)好程序,采用 Visual C+乍為編譯環(huán)境;2) 上機(jī)時(shí)獨(dú)立調(diào)試程序3) 根據(jù)具體實(shí)驗(yàn)要,填寫(xiě)好實(shí)驗(yàn)報(bào)告(包括目的和要、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)環(huán)境、設(shè)計(jì)思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。實(shí)驗(yàn)二進(jìn)程調(diào)度1 目的和要通過(guò)這次實(shí)驗(yàn),理解進(jìn)
6、程調(diào)度的過(guò)程,進(jìn)一步掌握進(jìn)程狀態(tài)的轉(zhuǎn)變、進(jìn)程調(diào)度的策略,進(jìn)一步體會(huì)多道程序并發(fā)執(zhí)行的特點(diǎn),并分析具體的調(diào)度算法的特點(diǎn),掌握對(duì)系統(tǒng)性能的評(píng)價(jià)方法。2實(shí)驗(yàn)內(nèi)容閱讀教材計(jì)算機(jī)操作系統(tǒng)第二章和第三章,掌握進(jìn)程管理及調(diào)度相關(guān)概念和原理。編寫(xiě)程序模擬實(shí)現(xiàn)進(jìn)程的輪轉(zhuǎn)法調(diào)度過(guò)程,模擬程序只對(duì)PCB 進(jìn)行相應(yīng)的調(diào)度 模擬操作,不需要實(shí)際程序。假設(shè)初始狀態(tài)為:有n 個(gè)進(jìn)程處于就緒狀態(tài),有 m 個(gè)進(jìn)程處于阻塞狀態(tài)。采用輪轉(zhuǎn)法進(jìn)程調(diào)度算法進(jìn)行調(diào)度(調(diào)度過(guò)程中,假設(shè)處于執(zhí)行狀態(tài)的進(jìn)程不會(huì)阻塞), 且每過(guò) t 個(gè)時(shí)間片系統(tǒng)釋放資源,喚醒處于阻塞隊(duì)列隊(duì)首的進(jìn)程。程序要求如下:1)輸出系統(tǒng)中進(jìn)程的調(diào)度次序;2)計(jì)算CPU利用
7、率。3實(shí)驗(yàn)環(huán)境Windows 操作系統(tǒng)、VC+C 語(yǔ)言4實(shí)驗(yàn)提示用 C 語(yǔ)言實(shí)現(xiàn)提示:1)程序中進(jìn)程可用PCB表示,其類(lèi)型描述如下: struct PCB_typeint pid ; 實(shí)驗(yàn)要求:1) 上機(jī)前認(rèn)真使用C語(yǔ)言編寫(xiě)好程序,采用 Visual C+乍為編譯環(huán)境;2) 上機(jī)時(shí)獨(dú)立調(diào)試程序3) 根據(jù)具體實(shí)驗(yàn)要求,填寫(xiě)好實(shí)驗(yàn)報(bào)告(包括目的和要求、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)環(huán)境、設(shè)計(jì)思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。4) 測(cè)試用數(shù)據(jù):n=2m=3t=5dispath()算法流程圖:beginuse_cpu=0 x=0unuse_cpu=0/*use_cpu中記錄CPU運(yùn)行時(shí)間/*unuse_cpu中記錄
8、CPU空閑時(shí)間是實(shí)驗(yàn)三可變分區(qū)存儲(chǔ)管理1 目的和要求通過(guò)這次實(shí)驗(yàn),加深對(duì)內(nèi)存管理的認(rèn)識(shí),進(jìn)一步掌握內(nèi)存的分配、回收算法的思想。2實(shí)驗(yàn)內(nèi)容閱讀教材計(jì)算機(jī)操作系統(tǒng)第四章,掌握存儲(chǔ)器管理相關(guān)概念和原理。編寫(xiě)程序模擬實(shí)現(xiàn)內(nèi)存的動(dòng)態(tài)分區(qū)法存儲(chǔ)管理。內(nèi)存空閑區(qū)使用自由鏈管理, 采用最壞適應(yīng)算法從自由鏈中尋找空閑區(qū)進(jìn)行分配,內(nèi)存回收時(shí)假定不做與相鄰空閑區(qū)的合并。假定系統(tǒng)白內(nèi)存共640K,初始狀態(tài)為操作系統(tǒng)本身占用 64K。在t1時(shí)間之 后,有作業(yè)A、B、C、D分別請(qǐng)求8K、16K 64K、124K的內(nèi)存空間;在t2時(shí)間 之后,作業(yè)C完成;在t3時(shí)間之后,作業(yè)E請(qǐng)求50K的內(nèi)存空間;在t4時(shí)間之 后, 作業(yè)
9、D 完成。 要求編程序分別輸出t1 、 t2、 t3、 t4 時(shí)刻內(nèi)存的空閑區(qū)的狀態(tài)。3實(shí)驗(yàn)環(huán)境Windows 操作系統(tǒng)、VC+C 語(yǔ)言4實(shí)驗(yàn)提示用 C 語(yǔ)言實(shí)現(xiàn)提示:1. 程序中自由鏈隊(duì)列的結(jié)點(diǎn)類(lèi)型可描述如下:struct freelinkint len, address; /* len 為分區(qū)長(zhǎng)度/* address 為分區(qū)起始地址 struct freelink *next;內(nèi)存占用區(qū)用鏈表描述,其結(jié)點(diǎn)類(lèi)型描述如下:struct busylinkchar name; /* 作業(yè)或進(jìn)程名name=' S表示OS占用int len , address;struct busylink
10、*next; 并設(shè)全程量:struct freelink *free_head=NULL; 計(jì)子函數(shù):void start(void); /* 設(shè)置系統(tǒng)初始狀態(tài)*/ struct freelink * p;struct busylink *q;free_head=(struct freelink*)malloc(sizeof(struct freelink);free_head->next=NULL; 計(jì)主函數(shù):main() start();past(t1);requireMemo( A ,r8e)q; uireMemo( B ,16);requireMemo( C ,64); requ
11、ireMemo( D ,124);printlink();past(t2);freeMemo( C );printlink();past(t3);requireMemo( E ,50);printlink();freeMemo( D );printlink();5. 實(shí)驗(yàn)要求:1) 上機(jī)前認(rèn)真使用C語(yǔ)言編寫(xiě)好程序,采用 Visual C+乍為編譯環(huán)境;2) 上機(jī)時(shí)獨(dú)立調(diào)試程序3) 根據(jù)具體實(shí)驗(yàn)要求,填寫(xiě)好實(shí)驗(yàn)報(bào)告(包括目的和要求、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)環(huán)境、設(shè)計(jì)思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))requireMemo(char name, int require)流程圖如下:endbeginp=(st
12、ruct busylink*)malloc( );p->name=name;p->address=free_head->next->address;p->len=require; p->next=NULLbusytail->next=p;busy tail=p;w->address=w->address+require;w->len=w->len-require;u=free_head;v=riee_head->nexl;endfreeMemo(char name)流程圖如下:,name)實(shí)驗(yàn)四頁(yè)式虛擬存儲(chǔ)管理頁(yè)面置換算法
13、1 .目的和要求存儲(chǔ)管理的主要功能之一是合理的分配空間。請(qǐng)求頁(yè)式管理是一種常用的虛 擬存儲(chǔ)管理技術(shù)。本實(shí)驗(yàn)的目的是:通過(guò)編寫(xiě)和調(diào)試請(qǐng)求頁(yè)式存儲(chǔ)管理中頁(yè)面置 換算法的模擬程序以加深對(duì)存儲(chǔ)管理方案的理解,了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌 握請(qǐng)求頁(yè)式存儲(chǔ)管理的頁(yè)面置換方法。2 .實(shí)驗(yàn)內(nèi)容閱讀教材計(jì)算機(jī)操作系統(tǒng)第四章,掌握存儲(chǔ)器管理相關(guān)概念和原理。編寫(xiě)程序模擬實(shí)現(xiàn)頁(yè)式虛擬存儲(chǔ)管理的最佳頁(yè)面置換算法。前提:(1)頁(yè)面分配采用固定分配局部置換。(2)作業(yè)的頁(yè)面走向和分得的物理塊數(shù)預(yù)先指定??梢詮逆I盤(pán)輸入也可以 從文件讀入。(3)置換算法的置換過(guò)程輸出可以在顯示器上也可以存放在文件中,但必 須清晰可讀,便于檢驗(yàn)。
14、3 .實(shí)驗(yàn)環(huán)境Windows操作系統(tǒng)、VC+C語(yǔ)言4 .實(shí)驗(yàn)提示(1)數(shù)據(jù)結(jié)構(gòu)要模擬實(shí)現(xiàn)某一個(gè)置換算法,有如下一些對(duì)象需要用相關(guān)的數(shù)據(jù)結(jié)構(gòu)來(lái)描述:作業(yè)的頁(yè)面走向(執(zhí)行過(guò)程中對(duì)頁(yè)面的訪(fǎng)問(wèn)順序)??梢杂脭?shù)組也可以 用字符串。如果用數(shù)組,則頁(yè)面走向的長(zhǎng)度受數(shù)組長(zhǎng)度限制,如果用字 符申,則需要將字符串進(jìn)行解析,將字符串經(jīng)過(guò)解析處理后變成一個(gè)貢面的排列順序??紤]最佳置換算法(向前看”)和其他置換算法(向后 看了的特點(diǎn)。頁(yè)框(作業(yè)分得的物理塊)。由于作業(yè)分得的物理塊數(shù)在置換算法執(zhí)行 之前已經(jīng)確定,可以用一些比較簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。在綜合置換算法 的原理,可以靈活采用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)(如隊(duì)列、數(shù)組、堆棧) ,
15、盡可 能使程序的時(shí)間復(fù)雜度最低。采用不同的數(shù)據(jù)結(jié)構(gòu)還要配合在數(shù)據(jù)結(jié)構(gòu) 上的相應(yīng)操作才行。(2)功能模塊劃分大體上可以將整個(gè)程序的模塊劃分成如下幾個(gè)部分:1)主模塊:主要是初始化、界面和模塊調(diào)用。2)頁(yè)面走向輸入模塊。(從鍵盤(pán)讀入數(shù)據(jù)結(jié)構(gòu)或?qū)㈨?yè)面走向?qū)懭胛募?)置換算法模塊。*判斷模塊。決定換出哪一塊。每一種置換算法對(duì)應(yīng)一種判斷算法。* 調(diào)整模塊。根據(jù)判斷模塊的結(jié)果,調(diào)整作業(yè)分得物理塊集合中 邏輯頁(yè)面的情況。* 置換過(guò)程輸出模塊(在顯示器上顯示或?qū)懭胛募T撃K每 發(fā)生一次置換,由置換算法模塊調(diào)用一次。* 除此之外,有些反復(fù)執(zhí)行的操作考慮用過(guò)程或函數(shù)實(shí)現(xiàn)??偠灾?, 整個(gè)程序應(yīng)該結(jié)構(gòu)清晰,界
16、面友好,可讀性好,易調(diào)試,易擴(kuò)充,易維護(hù)。5.實(shí)驗(yàn)要求:1)上機(jī)前認(rèn)真使用C語(yǔ)言編寫(xiě)好程序,采用 Visual C+乍為編譯環(huán)境;2)上機(jī)時(shí)獨(dú)立調(diào)試程序3)根據(jù)具體實(shí)驗(yàn)要求,填寫(xiě)好實(shí)驗(yàn)報(bào)告(包括目的和要求、實(shí)驗(yàn)內(nèi)容、實(shí) 驗(yàn)環(huán)境、設(shè)計(jì)思想、源程序、實(shí)例運(yùn)行結(jié)果、總結(jié))。實(shí)驗(yàn)五用戶(hù)接口實(shí)驗(yàn)1 .目的和要求通過(guò)上機(jī)操作的實(shí)踐理解操作系統(tǒng)的作業(yè)級(jí)接口,著重理解shell的作用和工作過(guò)程,通過(guò)編寫(xiě)程序,在程序中調(diào)用操作系統(tǒng)的系統(tǒng)調(diào)用來(lái)加深對(duì)程序級(jí)接 口的理解,著重理解系統(tǒng)調(diào)用的實(shí)現(xiàn)。2 .實(shí)驗(yàn)內(nèi)容選做任意一個(gè):能夠熟練使用Linux系統(tǒng)的鍵盤(pán)命令和X-window圖形界面,熟悉shell 編程語(yǔ)言,編寫(xiě)一個(gè)簡(jiǎn)單的 shell程序。指導(dǎo)學(xué)生在內(nèi)核文件中添加一 個(gè)自定義的系統(tǒng)調(diào)用(或者利用現(xiàn)有操作系統(tǒng)的系統(tǒng)調(diào)用),編程來(lái)調(diào)用自己設(shè)計(jì)(選定)的這系統(tǒng)調(diào)用。練習(xí)使用DOS的鍵盤(pán)命令,熟悉批處理編程的語(yǔ)法,編寫(xiě)帶參數(shù)的簡(jiǎn)單 批處理程序,通過(guò)使用 DOS的作業(yè)級(jí)接口(鍵盤(pán)命令)和 WINDOWS的 作業(yè)級(jí)接口(圖形界面)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 隧道工程調(diào)度管理辦法
- 銀行自助網(wǎng)點(diǎn)管理辦法
- 晉源區(qū)礦產(chǎn)開(kāi)采管理辦法
- 政府網(wǎng)政民互動(dòng)管理辦法
- 深圳創(chuàng)業(yè)園管理辦法規(guī)定
- 添加劑監(jiān)督管理辦法規(guī)定
- 基于深度學(xué)習(xí)的過(guò)濾水質(zhì)預(yù)測(cè)研究
- 沉浸式教學(xué)法在初級(jí)漢語(yǔ)綜合課的應(yīng)用行動(dòng)研究-以泰國(guó)岱密中學(xué)為例
- 胎盤(pán)影像診斷
- 感統(tǒng)組合培訓(xùn)
- 道家養(yǎng)生活動(dòng)方案
- 健康險(xiǎn)業(yè)務(wù)推動(dòng)方案
- 顱腦手術(shù)的麻醉管理
- 配方轉(zhuǎn)讓合同范文2篇
- 團(tuán)結(jié)友愛(ài)互幫互助主題班會(huì)課件
- 通用電子嘉賓禮薄
- 陰極電泳涂料涂裝基礎(chǔ)知識(shí)
- PE管道安裝單元工程質(zhì)量評(píng)定表 2
- 生產(chǎn)安全事故案例分享
- 2023年黑龍江省普通高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試題(無(wú)答案)
- 旅游接待業(yè) 習(xí)題及答案匯總 重大 第1-10章 題庫(kù)
評(píng)論
0/150
提交評(píng)論