




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統實驗指導一、操作系統用戶接口實驗1實驗目的熟悉操作系統的命令接口、圖形接口和程序接口2實驗內容UNIX 或 LINUX 環境: 熟悉開機登錄進入系統、退出系統的過程。 使用 UNIX 或 LINUX 常用命令以及圖形化接口 X-Windows 。 使用 C語言編制一個小程序,使其可以通過某個系統調用來獲得操作系 統的服務。Windows 環境: 熟悉開機登錄進入系統、退出系統的過程。 熟悉使用命方式啟動應用程序的過程、熟悉 Windows 圖形用戶接口。 使用匯編語言編制一個小程序,使其可以通過某些系統調用來獲得操作 系統的服務。3實驗分析和思考操作系統向用戶提供的各種接口分別適用于什
2、么場合?4. 實驗學時安排:4學時,在第一章學習完之后可以進行。二、進程控制實驗1. 實驗目的通過進程的創建、撤消和運行加深對進程概念和進程并發執行的理解,明確進程與程 序之間的區別。2實驗內容本實驗必須在 UNIX 或LINUX 環境下進行。 了解UNIX 系統調用 fork( 、 exec(、 exit(和waitpid( 的功能和實現過程。 編寫一段程序,使用系統調用 fork( 來創建兩個子進程,并由父進程重復顯示字 符串“Parent:”和自己的標識數,而子進程則重復顯示字符串“Child : ”和自己的標識數。編寫一段程序,使用系統調用 fork( 來創建一個子進程,子進程通過系統
3、調用 exec (更換自己的執行代碼,顯示新的代碼 “Newprogram.”后,調用 exit(結束。而父進程則調用 waitpid( 等待子進程結束,并在子 進程結束后顯示子進程的標識符,然后正常結束。3. 實驗分析和思考系統調用 fork( 是如何創建子進程的?當首次將 CPU分配給子進程時,其入口在哪里?系統調用 exec(是如何更換進程的可執行代碼的? 系統調用 exit(是如何終止一個進程的? 對一個應用,如果用多個進程的并發執行來實現,與單個進程來實現由什么不同 ?4. 實驗學時安排:4學時,在進程控制內容學習之后進行。三、進程通信實驗1實驗目的學習如何利用管道機制、消息緩沖隊列
4、機制、共享存儲區機制進行進程間的通信,加 深對進程通信機制的理解。2實驗內容本實驗必須在 UNIX 或LINUX 環境下進行。了解系統調用 pipe( 、msgget(、 msgsnd(、 msgrcv( 、 msgctl( 、 shmget(、shm at( 、shmdt( 、 shmctl(的功能和實現過程。 編寫一段程序,使其用管道來實現父子進程之間的進程通信。子進程向父進程發 送自己的進程標識符,以及字符串 “issending a message to parent!”。父進程則通過管道讀出子進程發來的消息,將消息顯示在屏幕上,然后 終止。編寫一段程序,使其用消息緩沖隊列來實現Cli
5、ent進程與 Server進程之間的進程通信。 Server進程先建立一個關鍵字為 SVKEY( 如75的消息隊列,然后等待接收類 型為 REQ(如 1的消息;在收到請求消息后,它顯示字符串“servingforclient ”和接收到的 Client進程的進程標識數,表示正在為 Client進程服務;然后再 向Client 進程發送一條應答消息,該消息的類型是Client進程的進程標識數,而正文則是 Server進程自己的標識數。 Client 進程則向消息隊列發送類型為 REQ的消息 消息的正文為自己的進程標識數)以取得Server進程的服務,并等待 Server進程發來的應答;然后顯示字
6、符串 “receivereplyfrom ”和接收到的 Server進程的標識數。 編寫一段程序,使其用共享存儲區來實現兩個進程之間的進程通信。進程 A 創建 一個長度為 512字節的共享內存,并顯示寫入該共享內存的數據;進程B將共享內存附加到自己的地址空間,并向共享內存中寫入數據。3實驗分析和思考上述哪些通信機制提供了發送進程和接收進程之間的同步功能?這些同步是如何 進行的?上述通信機制各有什么特點?它們分別適合于何種場合?4. 實驗學時安排:4學時,在進程同步與通信內容學習之后進行。四、進程調度模擬實驗1實驗目的通過對進程調度算法的模擬加深對進程概念和進程調度過程的理解。2. 實驗內容用
7、C語言或 Pascal語言實現對 NN=5 )個進程的調度模擬,要求至少采用兩種不同 的調度算法 如簡單輪轉法 Round Robin 和優先權高者優先算法 Highest Priority First),分別進行模擬調度。每個用來標識進程的進程控制塊 PCB用結構 記錄)來 描述,根據需要,它包括以下字段:進程標識數 ID 。進程優先數 Priority ,并規定優先數越大的進程,其優先權越高。采用簡 單輪轉法時該字段無用。進程已經占用的 CPU時間 CPUTIME 。進程還需占用的 CPU時間 ALLTIME 。當進程運行完畢時, ALLTIME 變為 0。進程的阻塞時間 STARTBLO
8、CK ,表示當進程再運行 STARTBLOCK 個時 間片后,進程將進入阻塞狀態。進程被阻塞的時間 BLOCKTIME ,表示已經阻塞的進程再等待 BLOCKTI ME 格時間片后,將轉換成就緒狀態。進程狀態 STATE。隊列指針 NEXT ,用來將 PCB排成隊列。優先數改變的原則 采用簡單輪轉法時該字段無用): 進程在就緒隊列中等待一個時間片,優先數增加1;進程每運行一個時間片,優先數減 3。假設在進行調度前,系統中有 5個進程,它們的初始狀態可以編程輸入更具有靈活性),也可以初始化為如下內容:IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE
9、090323READY13803-10READY2300631READY32903-10READY4004-10READY為了清楚地觀察諸進程的調度過程,程序應該將每個時間片內各進程的情況顯示 出來并暫停,參考格式如下:Running : IReady Queue: Idi ,Idj ,Block Queue :Idk ,Idl,IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE0P0C0A0T0B0S01P1C1A1T1B1S12P2C2A2T2B2S23P3C3A3T3B3S34P4C4A4T4B4S43實驗分析和思考在實際的進程調度中,還有哪
10、些可行的算法,怎樣模擬? 在實際的進程調度中,除了按算法選擇下一個運行的進程之外,操作系統還應該 做哪些工作?為什么對進程的優先數可以按上述原則進行修改?有什么好處?4. 實驗學時安排:4學時,在調度與死鎖內容學習之后進行。五、分區存儲管理模擬實驗1實驗目的了解動態分區存儲管理方式中的數據結構和分配算法,加深對動態分區存儲管理方式 及其實現技術的理解。2實驗內容用C語言或 Pascal語言分別實現采用首次適應算法和最佳適應算法的動態分區分配 過程 Allocate( 和回收過程 Free(。其中,空閑分區采用空閑分區鏈來組織,內存 分配時,優先使用空閑區低地址部分的空間。假設初始狀態,可用內存
11、空間為 640KB ,作業請求序列如下 也可以編程從鍵盤 輸入, R 表示請求, F表示釋放):作業 1請求 130 KB 。作業 2請求 60 KB 。作業 3請求 100 KB 。作業 2釋放 60 KB 。作業 4請求 200 KB 。作業 3釋放 100 KB 。作業 1釋放 130 KB 。作業 5請求 140 KB 。作業 6請求 60 KB 。作業 7請求 50 KB 。作業 6釋放 60 KB 。要求每次分配和回收后顯示出空閑區鏈的情況。 如果不能為作業的請求進行內存分配,給出相應的提示信息。3實驗分析和思考采用首次適應算法和最佳適應算法,對內存的分配和回收速度有什么影響? 如
12、何解決碎片片問題?4. 實驗學時安排:4學時,在分區存儲管理內容學習之后進行。六、請求分頁存儲管理模擬實驗1實驗目的通過對頁面、頁表、地址轉換和頁面置換過程的模擬,加深對請求分頁存儲管理系統 的原理和實現技術的理解。2實驗內容假設每個頁面可以存放 10 條指令,分配給進程的存儲塊數為 4。用C語言或 Pascal語言模擬一進程的執行過程。設該進程工有320條指令,地址空間為 32各頁面,運行前所有頁面均沒有調入內存。模擬運行時,如果所訪問的指 令已經在內存,則顯示其物理地址,并轉下一條指令;如果所訪問的指令還未裝 入內存,則發生缺頁,此時需要記錄缺頁產生次數,并將相應頁面調入內存,如 果4個內
13、存塊已滿,則需要進行頁面置換。最后顯示其物理地址,并轉下一條指令 。在所有指令執行完畢后,顯示進程運行過程中的缺頁次數和缺頁率。 頁面置換算法:分別采用 OPT、FIFO、LRU 三種算法。進程中的指令訪問次序按如下原則生成:50%的指令是順序執行的。25%的指令是均勻分布在低地址部分。25%的指令是均勻分布在高地址部分。 具體實現的方法是:在0,319之間隨機選取一條指令作為起始執行指令,設其序號 )為 m; 順序執行下一條指令,即序號 通過隨機數,跳轉到低地址部分 順序執行下一條指令,即序號為邏輯地址邏輯地址)為 m+1 的指令;0,m-1 的一條指令處,設其序號為 m1;m1+1的指令;
14、順序執行下一條指令,即序號為重復上述通過隨機數,跳轉到高地址部分m1+2 ,319的一條指令處,設其序號為 m2m2+1的指令;6步驟,直至執行了 320條指令。3 實驗分析和思考如果增加分配給進程的物理塊數,會對進程運行過程中的缺頁率產生什么影響? 為什么說一般情況下, LRU 算法比 FIFO 算法具有更好的性能?4. 實驗學時安排:4學時,在請求分頁存儲管理內容學習之后進行。七、簡單文件系統模擬實驗1實驗目的通過具體的文件存儲空間的管理、文件的物理結構、目錄結構和文件操作的實現,加 深對文件系統功能和實現過程的理解。2實驗內容在內存中開辟一個虛擬磁盤空間作為文件存儲器,在其上實現一個簡單
15、的單用戶 文件系統。在退出這個簡單文件系統時,應將該虛擬文件系統保存到磁盤上,以 便下次可以再將它恢復到內存的虛擬磁盤上。文件存儲空間的分配可以采用顯式鏈接分配或其它方法。空閑空間的管理可以選擇位示圖或其它方法。如果采用位示圖來管理文件存儲空 間,并采用顯式鏈接分配方式,可以將位示圖合并到FAT中。文件目錄結構采用多級目錄結構。為簡單起見,可以不使用索引結點,其中的每 個目錄項包含文件名、物理地址、文件長度等信息,還可以通過目錄項實現對文 件讀和寫的保護。要求提供以下有關的文件操作:Format :對文件存儲器進行格式化,即按照文件系統的結構對虛擬磁盤 空間進行布局,并在其上創建根目錄以及用于管理文件存儲空間等的數 據結構。Mkdir :用于創建子目錄。Rmdir :用于刪除子目錄。Ls :用于顯示目錄。Cd :用于更改當前目錄。Create:用于創建文件。Open:用于打開文件。Close:用于關閉文件。Write :用于寫文件。Read: 用于讀文件。Rm:用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小紅書運營合作協議書
- 經理薪資協議書
- 用利潤出資入股協議書
- 礦石礦業協議書
- 電梯廣告機轉讓協議書
- 道具創作協議書
- 營銷分成協議書
- 生蠔養殖協議書
- 幼兒園合伙合作協議書
- 終結調解協議書
- 2025屆浙江省六校聯盟高三第五次模擬考試英語試卷含答案
- 《園林植物識別與應用》考試復習題庫(含答案)
- 2025年國防教育課件
- Scratch神奇畫筆教學設計
- 西部計劃面試題目及答案
- GB/T 320-2025工業用合成鹽酸
- 安全課:預防蚊蟲叮咬
- 2025年中考英語熱點話題模擬預測卷(天津卷)-中考英語各地市熱點話題模擬預測卷
- 機場充電樁施工方案
- 拒絕第一支煙健康教育 課件
- 更年期綜合征患者生活質量改善策略-深度研究
評論
0/150
提交評論