版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)一、操作系統(tǒng)用戶接口實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康氖煜げ僮飨到y(tǒng)的命令接口、圖形接口和程序接口2實(shí)驗(yàn)內(nèi)容UNIX 或 LINUX 環(huán)境: 熟悉開(kāi)機(jī)登錄進(jìn)入系統(tǒng)、退出系統(tǒng)的過(guò)程。 使用 UNIX 或 LINUX 常用命令以及圖形化接口 X-Windows 。 使用 C語(yǔ)言編制一個(gè)小程序,使其可以通過(guò)某個(gè)系統(tǒng)調(diào)用來(lái)獲得操作系 統(tǒng)的服務(wù)。Windows 環(huán)境: 熟悉開(kāi)機(jī)登錄進(jìn)入系統(tǒng)、退出系統(tǒng)的過(guò)程。 熟悉使用命方式啟動(dòng)應(yīng)用程序的過(guò)程、熟悉 Windows 圖形用戶接口。 使用匯編語(yǔ)言編制一個(gè)小程序,使其可以通過(guò)某些系統(tǒng)調(diào)用來(lái)獲得操作 系統(tǒng)的服務(wù)。3實(shí)驗(yàn)分析和思考操作系統(tǒng)向用戶提供的各種接口分別適用于什
2、么場(chǎng)合?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在第一章學(xué)習(xí)完之后可以進(jìn)行。二、進(jìn)程控制實(shí)驗(yàn)1. 實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)進(jìn)程的創(chuàng)建、撤消和運(yùn)行加深對(duì)進(jìn)程概念和進(jìn)程并發(fā)執(zhí)行的理解,明確進(jìn)程與程 序之間的區(qū)別。2實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)必須在 UNIX 或LINUX 環(huán)境下進(jìn)行。 了解UNIX 系統(tǒng)調(diào)用 fork( 、 exec(、 exit(和waitpid( 的功能和實(shí)現(xiàn)過(guò)程。 編寫(xiě)一段程序,使用系統(tǒng)調(diào)用 fork( 來(lái)創(chuàng)建兩個(gè)子進(jìn)程,并由父進(jìn)程重復(fù)顯示字 符串“Parent:”和自己的標(biāo)識(shí)數(shù),而子進(jìn)程則重復(fù)顯示字符串“Child : ”和自己的標(biāo)識(shí)數(shù)。編寫(xiě)一段程序,使用系統(tǒng)調(diào)用 fork( 來(lái)創(chuàng)建一個(gè)子進(jìn)程,子進(jìn)程通過(guò)系統(tǒng)
3、調(diào)用 exec (更換自己的執(zhí)行代碼,顯示新的代碼 “Newprogram.”后,調(diào)用 exit(結(jié)束。而父進(jìn)程則調(diào)用 waitpid( 等待子進(jìn)程結(jié)束,并在子 進(jìn)程結(jié)束后顯示子進(jìn)程的標(biāo)識(shí)符,然后正常結(jié)束。3. 實(shí)驗(yàn)分析和思考系統(tǒng)調(diào)用 fork( 是如何創(chuàng)建子進(jìn)程的?當(dāng)首次將 CPU分配給子進(jìn)程時(shí),其入口在哪里?系統(tǒng)調(diào)用 exec(是如何更換進(jìn)程的可執(zhí)行代碼的? 系統(tǒng)調(diào)用 exit(是如何終止一個(gè)進(jìn)程的? 對(duì)一個(gè)應(yīng)用,如果用多個(gè)進(jìn)程的并發(fā)執(zhí)行來(lái)實(shí)現(xiàn),與單個(gè)進(jìn)程來(lái)實(shí)現(xiàn)由什么不同 ?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在進(jìn)程控制內(nèi)容學(xué)習(xí)之后進(jìn)行。三、進(jìn)程通信實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)如何利用管道機(jī)制、消息緩沖隊(duì)列
4、機(jī)制、共享存儲(chǔ)區(qū)機(jī)制進(jìn)行進(jìn)程間的通信,加 深對(duì)進(jìn)程通信機(jī)制的理解。2實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)必須在 UNIX 或LINUX 環(huán)境下進(jìn)行。了解系統(tǒng)調(diào)用 pipe( 、msgget(、 msgsnd(、 msgrcv( 、 msgctl( 、 shmget(、shm at( 、shmdt( 、 shmctl(的功能和實(shí)現(xiàn)過(guò)程。 編寫(xiě)一段程序,使其用管道來(lái)實(shí)現(xiàn)父子進(jìn)程之間的進(jìn)程通信。子進(jìn)程向父進(jìn)程發(fā) 送自己的進(jìn)程標(biāo)識(shí)符,以及字符串 “issending a message to parent!”。父進(jìn)程則通過(guò)管道讀出子進(jìn)程發(fā)來(lái)的消息,將消息顯示在屏幕上,然后 終止。編寫(xiě)一段程序,使其用消息緩沖隊(duì)列來(lái)實(shí)現(xiàn)Cli
5、ent進(jìn)程與 Server進(jìn)程之間的進(jìn)程通信。 Server進(jìn)程先建立一個(gè)關(guān)鍵字為 SVKEY( 如75的消息隊(duì)列,然后等待接收類(lèi) 型為 REQ(如 1的消息;在收到請(qǐng)求消息后,它顯示字符串“servingforclient ”和接收到的 Client進(jìn)程的進(jìn)程標(biāo)識(shí)數(shù),表示正在為 Client進(jìn)程服務(wù);然后再 向Client 進(jìn)程發(fā)送一條應(yīng)答消息,該消息的類(lèi)型是Client進(jìn)程的進(jìn)程標(biāo)識(shí)數(shù),而正文則是 Server進(jìn)程自己的標(biāo)識(shí)數(shù)。 Client 進(jìn)程則向消息隊(duì)列發(fā)送類(lèi)型為 REQ的消息 消息的正文為自己的進(jìn)程標(biāo)識(shí)數(shù))以取得Server進(jìn)程的服務(wù),并等待 Server進(jìn)程發(fā)來(lái)的應(yīng)答;然后顯示字
6、符串 “receivereplyfrom ”和接收到的 Server進(jìn)程的標(biāo)識(shí)數(shù)。 編寫(xiě)一段程序,使其用共享存儲(chǔ)區(qū)來(lái)實(shí)現(xiàn)兩個(gè)進(jìn)程之間的進(jìn)程通信。進(jìn)程 A 創(chuàng)建 一個(gè)長(zhǎng)度為 512字節(jié)的共享內(nèi)存,并顯示寫(xiě)入該共享內(nèi)存的數(shù)據(jù);進(jìn)程B將共享內(nèi)存附加到自己的地址空間,并向共享內(nèi)存中寫(xiě)入數(shù)據(jù)。3實(shí)驗(yàn)分析和思考上述哪些通信機(jī)制提供了發(fā)送進(jìn)程和接收進(jìn)程之間的同步功能?這些同步是如何 進(jìn)行的?上述通信機(jī)制各有什么特點(diǎn)?它們分別適合于何種場(chǎng)合?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在進(jìn)程同步與通信內(nèi)容學(xué)習(xí)之后進(jìn)行。四、進(jìn)程調(diào)度模擬實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)對(duì)進(jìn)程調(diào)度算法的模擬加深對(duì)進(jìn)程概念和進(jìn)程調(diào)度過(guò)程的理解。2. 實(shí)驗(yàn)內(nèi)容用
7、C語(yǔ)言或 Pascal語(yǔ)言實(shí)現(xiàn)對(duì) NN=5 )個(gè)進(jìn)程的調(diào)度模擬,要求至少采用兩種不同 的調(diào)度算法 如簡(jiǎn)單輪轉(zhuǎn)法 Round Robin 和優(yōu)先權(quán)高者優(yōu)先算法 Highest Priority First),分別進(jìn)行模擬調(diào)度。每個(gè)用來(lái)標(biāo)識(shí)進(jìn)程的進(jìn)程控制塊 PCB用結(jié)構(gòu) 記錄)來(lái) 描述,根據(jù)需要,它包括以下字段:進(jìn)程標(biāo)識(shí)數(shù) ID 。進(jìn)程優(yōu)先數(shù) Priority ,并規(guī)定優(yōu)先數(shù)越大的進(jìn)程,其優(yōu)先權(quán)越高。采用簡(jiǎn) 單輪轉(zhuǎn)法時(shí)該字段無(wú)用。進(jìn)程已經(jīng)占用的 CPU時(shí)間 CPUTIME 。進(jìn)程還需占用的 CPU時(shí)間 ALLTIME 。當(dāng)進(jìn)程運(yùn)行完畢時(shí), ALLTIME 變?yōu)?0。進(jìn)程的阻塞時(shí)間 STARTBLO
8、CK ,表示當(dāng)進(jìn)程再運(yùn)行 STARTBLOCK 個(gè)時(shí) 間片后,進(jìn)程將進(jìn)入阻塞狀態(tài)。進(jìn)程被阻塞的時(shí)間 BLOCKTIME ,表示已經(jīng)阻塞的進(jìn)程再等待 BLOCKTI ME 格時(shí)間片后,將轉(zhuǎn)換成就緒狀態(tài)。進(jìn)程狀態(tài) STATE。隊(duì)列指針 NEXT ,用來(lái)將 PCB排成隊(duì)列。優(yōu)先數(shù)改變的原則 采用簡(jiǎn)單輪轉(zhuǎn)法時(shí)該字段無(wú)用): 進(jìn)程在就緒隊(duì)列中等待一個(gè)時(shí)間片,優(yōu)先數(shù)增加1;進(jìn)程每運(yùn)行一個(gè)時(shí)間片,優(yōu)先數(shù)減 3。假設(shè)在進(jìn)行調(diào)度前,系統(tǒng)中有 5個(gè)進(jìn)程,它們的初始狀態(tài)可以編程輸入更具有靈活性),也可以初始化為如下內(nèi)容:IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE
9、090323READY13803-10READY2300631READY32903-10READY4004-10READY為了清楚地觀察諸進(jìn)程的調(diào)度過(guò)程,程序應(yīng)該將每個(gè)時(shí)間片內(nèi)各進(jìn)程的情況顯示 出來(lái)并暫停,參考格式如下:Running : IReady Queue: Idi ,Idj ,Block Queue :Idk ,Idl,IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE0P0C0A0T0B0S01P1C1A1T1B1S12P2C2A2T2B2S23P3C3A3T3B3S34P4C4A4T4B4S43實(shí)驗(yàn)分析和思考在實(shí)際的進(jìn)程調(diào)度中,還有哪
10、些可行的算法,怎樣模擬? 在實(shí)際的進(jìn)程調(diào)度中,除了按算法選擇下一個(gè)運(yùn)行的進(jìn)程之外,操作系統(tǒng)還應(yīng)該 做哪些工作?為什么對(duì)進(jìn)程的優(yōu)先數(shù)可以按上述原則進(jìn)行修改?有什么好處?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在調(diào)度與死鎖內(nèi)容學(xué)習(xí)之后進(jìn)行。五、分區(qū)存儲(chǔ)管理模擬實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康牧私鈩?dòng)態(tài)分區(qū)存儲(chǔ)管理方式中的數(shù)據(jù)結(jié)構(gòu)和分配算法,加深對(duì)動(dòng)態(tài)分區(qū)存儲(chǔ)管理方式 及其實(shí)現(xiàn)技術(shù)的理解。2實(shí)驗(yàn)內(nèi)容用C語(yǔ)言或 Pascal語(yǔ)言分別實(shí)現(xiàn)采用首次適應(yīng)算法和最佳適應(yīng)算法的動(dòng)態(tài)分區(qū)分配 過(guò)程 Allocate( 和回收過(guò)程 Free(。其中,空閑分區(qū)采用空閑分區(qū)鏈來(lái)組織,內(nèi)存 分配時(shí),優(yōu)先使用空閑區(qū)低地址部分的空間。假設(shè)初始狀態(tài),可用內(nèi)存
11、空間為 640KB ,作業(yè)請(qǐng)求序列如下 也可以編程從鍵盤(pán) 輸入, R 表示請(qǐng)求, F表示釋放):作業(yè) 1請(qǐng)求 130 KB 。作業(yè) 2請(qǐng)求 60 KB 。作業(yè) 3請(qǐng)求 100 KB 。作業(yè) 2釋放 60 KB 。作業(yè) 4請(qǐng)求 200 KB 。作業(yè) 3釋放 100 KB 。作業(yè) 1釋放 130 KB 。作業(yè) 5請(qǐng)求 140 KB 。作業(yè) 6請(qǐng)求 60 KB 。作業(yè) 7請(qǐng)求 50 KB 。作業(yè) 6釋放 60 KB 。要求每次分配和回收后顯示出空閑區(qū)鏈的情況。 如果不能為作業(yè)的請(qǐng)求進(jìn)行內(nèi)存分配,給出相應(yīng)的提示信息。3實(shí)驗(yàn)分析和思考采用首次適應(yīng)算法和最佳適應(yīng)算法,對(duì)內(nèi)存的分配和回收速度有什么影響? 如
12、何解決碎片片問(wèn)題?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在分區(qū)存儲(chǔ)管理內(nèi)容學(xué)習(xí)之后進(jìn)行。六、請(qǐng)求分頁(yè)存儲(chǔ)管理模擬實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)對(duì)頁(yè)面、頁(yè)表、地址轉(zhuǎn)換和頁(yè)面置換過(guò)程的模擬,加深對(duì)請(qǐng)求分頁(yè)存儲(chǔ)管理系統(tǒng) 的原理和實(shí)現(xiàn)技術(shù)的理解。2實(shí)驗(yàn)內(nèi)容假設(shè)每個(gè)頁(yè)面可以存放 10 條指令,分配給進(jìn)程的存儲(chǔ)塊數(shù)為 4。用C語(yǔ)言或 Pascal語(yǔ)言模擬一進(jìn)程的執(zhí)行過(guò)程。設(shè)該進(jìn)程工有320條指令,地址空間為 32各頁(yè)面,運(yùn)行前所有頁(yè)面均沒(méi)有調(diào)入內(nèi)存。模擬運(yùn)行時(shí),如果所訪問(wèn)的指 令已經(jīng)在內(nèi)存,則顯示其物理地址,并轉(zhuǎn)下一條指令;如果所訪問(wèn)的指令還未裝 入內(nèi)存,則發(fā)生缺頁(yè),此時(shí)需要記錄缺頁(yè)產(chǎn)生次數(shù),并將相應(yīng)頁(yè)面調(diào)入內(nèi)存,如 果4個(gè)內(nèi)
13、存塊已滿,則需要進(jìn)行頁(yè)面置換。最后顯示其物理地址,并轉(zhuǎn)下一條指令 。在所有指令執(zhí)行完畢后,顯示進(jìn)程運(yùn)行過(guò)程中的缺頁(yè)次數(shù)和缺頁(yè)率。 頁(yè)面置換算法:分別采用 OPT、FIFO、LRU 三種算法。進(jìn)程中的指令訪問(wèn)次序按如下原則生成:50%的指令是順序執(zhí)行的。25%的指令是均勻分布在低地址部分。25%的指令是均勻分布在高地址部分。 具體實(shí)現(xiàn)的方法是:在0,319之間隨機(jī)選取一條指令作為起始執(zhí)行指令,設(shè)其序號(hào) )為 m; 順序執(zhí)行下一條指令,即序號(hào) 通過(guò)隨機(jī)數(shù),跳轉(zhuǎn)到低地址部分 順序執(zhí)行下一條指令,即序號(hào)為邏輯地址邏輯地址)為 m+1 的指令;0,m-1 的一條指令處,設(shè)其序號(hào)為 m1;m1+1的指令;
14、順序執(zhí)行下一條指令,即序號(hào)為重復(fù)上述通過(guò)隨機(jī)數(shù),跳轉(zhuǎn)到高地址部分m1+2 ,319的一條指令處,設(shè)其序號(hào)為 m2m2+1的指令;6步驟,直至執(zhí)行了 320條指令。3 實(shí)驗(yàn)分析和思考如果增加分配給進(jìn)程的物理塊數(shù),會(huì)對(duì)進(jìn)程運(yùn)行過(guò)程中的缺頁(yè)率產(chǎn)生什么影響? 為什么說(shuō)一般情況下, LRU 算法比 FIFO 算法具有更好的性能?4. 實(shí)驗(yàn)學(xué)時(shí)安排:4學(xué)時(shí),在請(qǐng)求分頁(yè)存儲(chǔ)管理內(nèi)容學(xué)習(xí)之后進(jìn)行。七、簡(jiǎn)單文件系統(tǒng)模擬實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)具體的文件存儲(chǔ)空間的管理、文件的物理結(jié)構(gòu)、目錄結(jié)構(gòu)和文件操作的實(shí)現(xiàn),加 深對(duì)文件系統(tǒng)功能和實(shí)現(xiàn)過(guò)程的理解。2實(shí)驗(yàn)內(nèi)容在內(nèi)存中開(kāi)辟一個(gè)虛擬磁盤(pán)空間作為文件存儲(chǔ)器,在其上實(shí)現(xiàn)一個(gè)簡(jiǎn)單
15、的單用戶 文件系統(tǒng)。在退出這個(gè)簡(jiǎn)單文件系統(tǒng)時(shí),應(yīng)將該虛擬文件系統(tǒng)保存到磁盤(pán)上,以 便下次可以再將它恢復(fù)到內(nèi)存的虛擬磁盤(pán)上。文件存儲(chǔ)空間的分配可以采用顯式鏈接分配或其它方法??臻e空間的管理可以選擇位示圖或其它方法。如果采用位示圖來(lái)管理文件存儲(chǔ)空 間,并采用顯式鏈接分配方式,可以將位示圖合并到FAT中。文件目錄結(jié)構(gòu)采用多級(jí)目錄結(jié)構(gòu)。為簡(jiǎn)單起見(jiàn),可以不使用索引結(jié)點(diǎn),其中的每 個(gè)目錄項(xiàng)包含文件名、物理地址、文件長(zhǎng)度等信息,還可以通過(guò)目錄項(xiàng)實(shí)現(xiàn)對(duì)文 件讀和寫(xiě)的保護(hù)。要求提供以下有關(guān)的文件操作:Format :對(duì)文件存儲(chǔ)器進(jìn)行格式化,即按照文件系統(tǒng)的結(jié)構(gòu)對(duì)虛擬磁盤(pán) 空間進(jìn)行布局,并在其上創(chuàng)建根目錄以及用于管理文件存儲(chǔ)空間等的數(shù) 據(jù)結(jié)構(gòu)。Mkdir :用于創(chuàng)建子目錄。Rmdir :用于刪除子目錄。Ls :用于顯示目錄。Cd :用于更改當(dāng)前目錄。Create:用于創(chuàng)建文件。Open:用于打開(kāi)文件。Close:用于關(guān)閉文件。Write :用于寫(xiě)文件。Read: 用于讀文件。Rm:用于
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商運(yùn)營(yíng)專(zhuān)家居間協(xié)議
- 2025年度安全生產(chǎn)技術(shù)協(xié)同創(chuàng)新合作協(xié)議
- 2025年醫(yī)用檢驗(yàn)與生化分析儀器項(xiàng)目建議書(shū)
- 七年級(jí)下冊(cè)語(yǔ)文背誦內(nèi)容檢查計(jì)劃
- 2025年電動(dòng)汽車(chē)充電樁合作協(xié)議書(shū)
- 離婚協(xié)議書(shū)的文化差異影響
- 2025年嬰幼兒服飾項(xiàng)目建議書(shū)
- 物業(yè)保安服務(wù)合同
- 2025建筑安全員C證考試題庫(kù)
- 2025遼寧省安全員《B證》考試題庫(kù)及答案
- 2020年中國(guó)人身保險(xiǎn)產(chǎn)品研究報(bào)告
- 常見(jiàn)織帶花鏈的排法和穿棕方法
- 《化工工程制圖》完整教案
- 心肌梗死后心衰病例分享
- 洪恩識(shí)字識(shí)字卡(001-100)可直接打印剪裁
- 《單片機(jī)技術(shù)及應(yīng)用》教學(xué)大綱
- J-STD-033D處理包裝運(yùn)輸和使用濕度回流和過(guò)程敏感設(shè)備
- 文聯(lián)述職報(bào)告
- SCI期刊的名稱(chēng)縮寫(xiě)與全稱(chēng)對(duì)照表
- 人本位醫(yī)療培訓(xùn)課件
- 水利工程危險(xiǎn)源辨識(shí)評(píng)價(jià)及風(fēng)險(xiǎn)管控清單
評(píng)論
0/150
提交評(píng)論