版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)課程設(shè)計指導一、本課程的教學目的及基本要求1、教學目的操作系統(tǒng)課程設(shè)計是操作系統(tǒng)課程的重要實踐環(huán)節(jié),是操作系統(tǒng)課程內(nèi)實驗的有益補充,它旨在培養(yǎng)學生的實踐能力,促進理論與實踐的結(jié)合。要求學生通過上機編程,了解如何模擬操作系統(tǒng)原理的實現(xiàn),從而加深對操作系統(tǒng)原理的領(lǐng)會,加深對操作系統(tǒng)實現(xiàn)方法的理解,與此同時使學生在程序設(shè)計方面也能夠得到很大程度的提高。操作系統(tǒng)雖然是理論性很強的課程,但是僅僅是課堂講授是絕對不夠的,操作系統(tǒng)課程設(shè)計即是課堂教學基礎(chǔ)上的實踐環(huán)節(jié),其重要程度決不亞于課堂的知識傳授。本課程設(shè)計的目的和任務是在課堂教學的基礎(chǔ)上,使學生對操作系統(tǒng)運行機制有一個全面的認識和理解,鍛煉學生
2、的抽象思維、邏輯思維和實際動手能力,培養(yǎng)操作系統(tǒng)等大型系統(tǒng)程序的使用者、管理者、分析員和設(shè)計人才。促進理論與實踐的結(jié)合,使學生在系統(tǒng)程序設(shè)計方面能夠得到很大程度的提高。先修課程:數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)。2、教學基本要求要求學生通過上機編程,使學生對操作系統(tǒng)運行機制有一個全面的認識和理解,通過模擬文件系統(tǒng)及內(nèi)存管理系統(tǒng),鍛煉學生的邏輯思維和實際動手能力,培養(yǎng)操作系統(tǒng)等大型系統(tǒng)程序的使用者、管理者、分析員和設(shè)計人才。促進理論與實踐的結(jié)合,使學生在系統(tǒng)程序設(shè)計方面能夠得到很大程度的提高。課程設(shè)計基本要求:1) 掌握課堂教學內(nèi)容,主要包括:(1) 掌握操作系統(tǒng)四大資源管理的理論知識;(2) 熟悉Linux
3、或UNIX文件系統(tǒng)的結(jié)構(gòu);(3) 使用編程語言實現(xiàn)課程設(shè)計題目要求的功能。2) 根據(jù)課程設(shè)計題目,按以下步驟進行:(1) 問題分析,理解問題,明確設(shè)計要求;(2) 根據(jù)要求進行概要設(shè)計和詳細設(shè)計;(3) 編碼實現(xiàn)、上機調(diào)試,數(shù)據(jù)測試;(4) 完成課程設(shè)計實習報告。二、操作系統(tǒng)課程設(shè)計題目1、實現(xiàn)一個進程管理子系統(tǒng)【問題描述】在Linux/UNIX/Windows下編制一個程序,模擬實現(xiàn)一個簡單的進程管理子系統(tǒng),它由進程建立模塊、進程撤消模塊、進程控制表組成,(此外還可能包括選作的進程切換和調(diào)度模塊)?!驹O(shè)計要求】該子系統(tǒng)接收新進程建立請求的方式是循環(huán)顯示“請輸入新命令行”,然后根據(jù)用戶鍵入內(nèi)容
4、啟動相應進程,其后不等待子進程結(jié)束,馬上顯示下一個“請輸入新命令行”如此循環(huán)往復。當建立進程時,相應讀寫進程控制表,然后借助底層環(huán)境OS中象fork和exec這樣的函數(shù)將新進程投入運行(這與底層環(huán)境的實際OS不同,實際OS將新進程投入運行時要布置現(xiàn)場,最后時程序技術(shù)器寄存器)。進程撤消時,利用底層OS的wait( )從子進程回到本子系統(tǒng),相應修改PCB。比較該子系統(tǒng)與實際系統(tǒng)中的相應功能的異同與差距,尤其在現(xiàn)場保存與恢復方面的比較。2、實現(xiàn)一個進程管理子系統(tǒng)(實現(xiàn)進程切換)【問題描述】在Linux/UNIX/Windows下編制一個程序,模擬實現(xiàn)一個簡單的進程管理子系統(tǒng),它由進程建立模塊、進程
5、撤消模塊、進程控制表組成,(此外還可能包括選作的進程切換和調(diào)度模塊)?!驹O(shè)計要求】在1題的基礎(chǔ)上,進一步可選做模擬實現(xiàn)進程切換。希望能實現(xiàn)時間片滿或接到sleep調(diào)用(或信號時)進行進程切換(選擇其一即可)。若要實現(xiàn)時間片,假設(shè)時間片為1秒鐘,設(shè)定底層環(huán)境OS每個1秒向該系統(tǒng)發(fā)一個信號,本子系統(tǒng)將本子系統(tǒng)的進程切換和調(diào)度模塊設(shè)定為該信號的處理程序?;蛘呙慨斀拥阶舆M程發(fā)出的的sleep調(diào)用(或信號)時進行進程切換,這里子進程發(fā)出的sleep調(diào)用(或信號)代表實際系統(tǒng)中可能發(fā)生的sleep( )調(diào)用、等待某一時間發(fā)生等情況,進程調(diào)度采用簡單的FIFO算法。(本題作為一道思考選作實驗題:由于是在實際
6、OS中模擬實現(xiàn),故子系統(tǒng)無法完全控制其建立的所有子進程的進程狀態(tài)變化,象當前進程這樣的概念都不太好模擬,需要設(shè)法解決或假設(shè)。)3、進程調(diào)度算法模塊【問題描述】編制一個進程調(diào)度算法模塊。進程調(diào)度是處理機管理的核心內(nèi)容。本設(shè)計要求用C語言編寫和調(diào)試一個簡單的進程調(diào)度程序。通過設(shè)計本可以加深理解有關(guān)進程控制塊、進程隊列的概念,并體會和了解最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法(即把處理機分配給優(yōu)先數(shù)最高的進程)和先來先服務算法的具體實施辦法?!驹O(shè)計要求】(1) 進程調(diào)度算法:采用最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法(即把處理機分配給優(yōu)先數(shù)最高的進程)和先來先服務算法。(2) 每個進程有一個進程控制塊(PCB)表示。進程控制塊
7、可以包含如下信息:進程名、優(yōu)先數(shù)、到達時間、需要運行時間、已用CPU時間、進程狀態(tài)等等。(3) 進程的優(yōu)先數(shù)及需要的運行時間可以事先人為地指定(也可以由隨機數(shù)產(chǎn)生)。進程的到達時間為進程輸入的時間。進程的運行時間以時間片為單位進行計算。(4) 每個進程的狀態(tài)可以是就緒W(Wait)、運行R(Run)、或完成F(Finish)三種狀態(tài)之一。(5) 就緒進程獲得CPU后都只能運行一個時間片。用已占用CPU時間加1來表示。如果運行一個時間片后,進程的已占用CPU時間已達到所需要的運行時間,則撤消該進程,如果運行一個時間片后進程的已占用CPU時間還未達所需要的運行時間,也就是進程還需要繼續(xù)運行,此時應
8、將進程的優(yōu)先數(shù)減1(即降低一級),然后把它插入就緒隊列等待CPU。(6) 每進行一次調(diào)度程序都打印一次運行進程、就緒隊列、以及各個進程的PCB,以便進行檢查。(7) 重復以上過程,直到所要進程都完成為止。4、生產(chǎn)者消費者問題實現(xiàn)【問題描述】有一群生產(chǎn)者進程生產(chǎn)產(chǎn)品供給消費者進程消費,為使兩者并發(fā)執(zhí)行,在兩者之間設(shè)置具有n個緩沖區(qū)的緩沖池,生產(chǎn)者進程所生產(chǎn)的產(chǎn)品放入一個緩沖區(qū)中,消費者進程可從一個緩沖區(qū)中取走產(chǎn)品去消費。要求掌握信號的使用方法和PV操作的定義,掌握使用PV操作實現(xiàn)進程之間同步與互斥的方法,加深對進程同步互斥概念的理解?!驹O(shè)計要求】設(shè)計一程序,由一個進程創(chuàng)建三個子進程,三個子進程一
9、個是生產(chǎn)者進程,兩個是消費者進程,父子進程都使用父進程創(chuàng)建的共享存儲區(qū)進行通信,由生產(chǎn)者進程將一個數(shù)組中的十個數(shù)值發(fā)送到由5個緩沖區(qū)組成的共享內(nèi)存中,兩個消費者進程輪流接收并輸出這十個數(shù)值,同時將兩個消費者進程讀出的數(shù)值進行累加求各和。5、蘋果問題【問題描述】桌子上有一只盤子,最多可容納兩個水果,每次只能放入或取出一個水果。爸爸專向盤子放蘋果(apple),媽媽專向盤子中放桔子(orange);兩個兒子專等吃盤子中的桔子,兩個女兒專等吃盤子中的蘋果。請用P、V操作來實現(xiàn)爸爸、媽媽、兒子、女兒之間的同步與互斥關(guān)系?!驹O(shè)計要求】了解信號量機制,了解并掌握進程同步和互斥機制,熟悉信號量的操作函數(shù),利
10、用信號量實現(xiàn)對共享資源的控制。編程模擬實現(xiàn)這一問題的程序控制,分析處理過程。6、模擬請求頁式存儲管理算法【問題描述】存儲管理的主要功能之一是合理地分配空間。請求頁式管理是一種常用的虛擬存儲管理技術(shù)。本次設(shè)計的目的是通過請求頁式存儲管理中頁面置換算法模擬設(shè)計,了解虛擬存儲技術(shù)的特點,掌握請求頁式管理的頁面置換算法?!驹O(shè)計要求】設(shè)計一個請求頁式存儲管理方案。并編寫模擬程序?qū)崿F(xiàn)之。要求包含:(1) 過隨機數(shù)產(chǎn)生一個指令序列,共320條指令。其地址按下述原則生成: 50%的指令是順序執(zhí)行的; 25%的指令是均勻分布在前地址部分; 25%的指令是均勻分布在后地址部分。#具體的實施方法是: 在0, 319
11、的指令地址之間隨機選區(qū)一起點M; 順序執(zhí)行一條指令,即執(zhí)行地址為M+1的指令; 在前地址0, M+1中隨機選取一條指令并執(zhí)行,該指令的地址為M; 順序執(zhí)行一條指令,其地址為M+1; 在后地址M+2, 319中隨機選取一條指令并執(zhí)行; 重復 ,直到執(zhí)行320次指令。(2) 指令序列變換成頁地址流。設(shè): 頁面大小為1K; 用戶內(nèi)存容量為4頁到32頁; 用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中的存放方式為:第0條 第9條指令為第0頁(對應虛存地址為0, 9);第10條 第19條指令為第1頁(對應虛存地址為10, 19);第310條 第319條指令為
12、第31頁(對應虛存地址為310, 319);按以上方式,用戶指令可組成32頁。(3) 計算并輸出下述各種算法在不同內(nèi)存容量下的命中率。 最佳置換頁面置換算法(OPT) 最近最久未使用頁面置換算法(LRU) 最少使用頁面置換算法(LFU) CLOCK算法要求設(shè)計一個虛擬存儲區(qū)和內(nèi)存工作區(qū),編程序演示以上四種算法的具體實現(xiàn)過程,并計算訪問命中率。演示頁面置換的四種算法。7、內(nèi)存的申請與釋放【問題描述】模擬實現(xiàn)操作系統(tǒng)內(nèi)存分配的算法?!驹O(shè)計要求】(1) 定義一個自由存儲塊鏈表,按塊地址排序,表中記錄塊的大小。當請求分配內(nèi)存時,掃描自由存儲塊鏈表,址到找到一個足夠大的可供分配的內(nèi)存塊,若找到的塊大小正
13、好等于所請求的大小時,就把這一塊從自由鏈表中取下來,返回給申請者。若找到的塊太大,即對其分割,并從該塊的高地址部分往低地址部分分割,取出大小合適的塊返回給申請者,余下的低地址部分留在鏈表中。若找不到足夠大的塊,就從操作系統(tǒng)中請求另外一塊足夠大的內(nèi)存區(qū)域,并把它鏈接到自由塊鏈表中,然后再繼續(xù)搜索。釋放存儲塊也要搜索自由鏈表,目的是找到適當?shù)奈恢脤⒁尫诺膲K插進去,如果被釋放的塊的任何一邊與鏈表中的某一塊臨接,即對其進行合并操作,直到?jīng)]有合并的臨接塊為止,這樣可以防止存儲空間變得過于零碎。(2) 空閑區(qū)采用分區(qū)說明表的方法實現(xiàn)(1)中的功能。要求同上。8、固定式分區(qū)分配及可變式分區(qū)分配的存儲管理方
14、案設(shè)計與實現(xiàn)【問題描述1】設(shè)計一個固定式分區(qū)分配的存儲管理方案,并模擬實現(xiàn)分區(qū)的分配和回收過程?!驹O(shè)計要求1】可以假定每個作業(yè)都是批處理作業(yè),并且不允許動態(tài)申請內(nèi)存。為實現(xiàn)分區(qū)的分配和回收,可以設(shè)定一個分區(qū)說明表,按照表中的有關(guān)信息進行分配,并根據(jù)分區(qū)的分配和回收情況修改該表?!締栴}描述2】設(shè)計一個可變式分區(qū)分配的存儲管理方案,并模擬實現(xiàn)分區(qū)的分配和回收過程?!驹O(shè)計要求2】對分區(qū)的管理法可以是下面三種算法之一: 首次適應算法 循環(huán)首次適應算法 最佳適應算法9、磁盤調(diào)度算法【問題描述】了解磁盤管理的原理,掌握磁盤調(diào)度種算法。【設(shè)計要求】編程序?qū)崿F(xiàn)下述磁盤調(diào)度算法,并求出每種算法的平均尋道長度:要
15、求設(shè)計主界面可以靈活選擇算法,且以下算法為基本要求。 先來先服務算法(FCFS) 最短尋道時間優(yōu)先算法(SSTF) 掃描算法(SCAN) 循環(huán)掃描算法(CSCAN)10、模擬UNIX(Linux)文件系統(tǒng)【問題描述】在任一OS下,建立一個大文件,把它假象成一張盤,在其中實現(xiàn)一個簡單的模擬UNIX文件系統(tǒng)?!驹O(shè)計要求】(1) 在現(xiàn)有機器硬盤上開辟20M的硬盤空間,作為設(shè)定的硬盤空間。(2) 編寫一管理程序?qū)Υ丝臻g進行管理,以模擬UNIX(或Linux)文件系統(tǒng),具體要求如下: 要求盤塊大小1k 正規(guī)文件 i結(jié)點文件類型 目錄文件 (共1byte) 塊設(shè)備 管道文件 物理地址(索引表) 共有13個
16、表項,每表項2byte 文件長度 4byte 聯(lián)結(jié)計數(shù) 1byte 0號塊 超級塊 棧長度50 空閑盤塊的管理:成組鏈接(UNIX) 或位示圖法(Linux) 每建一個目錄,分配4個物理塊 文件名 14byte 目錄項信息 i結(jié)點號 2byte 結(jié)構(gòu):0#:超級塊 1# 20#號為i結(jié)點區(qū) 20# 30#號為根目錄區(qū)功能:初始化 建立文件(需給出文件名,文件長度) 建立子目錄 打開文件(顯示文件所占的盤塊) 刪除文件 刪除目錄 顯示目錄(即顯示目錄下的信息,包括文件、子目錄等) 顯示整個系統(tǒng)信息 11、模擬文件系統(tǒng)【問題描述】在任一OS下,建立一個大文件,把它假象成一張盤,在其中實現(xiàn)一個簡單的
17、小型文件系統(tǒng)?!驹O(shè)計要求】該小型文件系統(tǒng)沒有子目錄機制,文件連續(xù)分配,不考慮分區(qū)。做一個簡單的操作界面,提供四條簡單的命令:簡單的ls、cat、cp、rd。l 進一步增強上題中的文件系統(tǒng)功能:文件系統(tǒng)不連續(xù)分配,可以有子目錄機制,(如兩級子目錄機制)。12、Windows磁盤直接讀寫實驗(1人)【問題描述】了解磁盤設(shè)備編程的特點?!驹O(shè)計要求】通過本實驗了解在windows系統(tǒng)中如何直接使用磁盤的讀寫功能;所編應用程序能夠響應用戶指定的讀寫磁盤扇區(qū)的請求,也能提供查看磁盤相關(guān)參數(shù)的功能。技術(shù)的關(guān)鍵是使用了windows提供的API(應用程序接口)來實現(xiàn)所要求的功能。用戶可以利用API進行底層的磁
18、盤操作。l 相關(guān)知識(下列函數(shù)的詳細使用方法參看VC+的MSDN文檔)CreateFile:用來創(chuàng)建或者打開一個文件、管道、磁盤設(shè)備等,它返回一個句柄用于以后對這信對象的訪問。DeviceControl:本API直接向相應設(shè)備的驅(qū)動程序發(fā)出指令,以完成在函數(shù)參數(shù)中所指定的動作。WriteFile:本API用于向文件中寫入數(shù)據(jù),寫入操作可以采用同步方式或者異步方式,寫入操作從文件指針處開始,寫操作后會被相應調(diào)整。磁盤設(shè)備被當作文件看待。ReadFile:本API用于文件中讀出數(shù)據(jù),讀出操作從文件指針處開始,文件指針在讀操作后會被相應調(diào)整。用法同寫文件函數(shù)相似。SetFilePointer:用于移
19、動一個打開的文件中的讀寫指針。選作部分1、睡眠理發(fā)師問題【目的】了解信號量機制,了解并掌握進程同步和互斥機制,熟悉信號量的操作函數(shù),利用信號量實現(xiàn)對共享資源的控制?!驹O(shè)計要求】編寫程序?qū)崿F(xiàn)理發(fā)師與顧客進程的同步。(1) 這是一種經(jīng)典的IPC問題,理發(fā)店有一位理發(fā)師,一把理發(fā)椅和n把用來等候理發(fā)的椅子。如果沒有顧客,則理發(fā)師在理發(fā)椅上睡覺,顧客理來時,如理發(fā)師閑則理發(fā),否則如有空椅則坐等,沒有空椅則離開,編寫程序?qū)崿F(xiàn)理發(fā)師和顧客程序,實現(xiàn)進程控制,要求不能出現(xiàn)競爭。(2) 將(1)題中問題修改為有兩位理發(fā)師,設(shè)計程序?qū)崿F(xiàn)同步控制。l 問題提示可以用一個變量waitting來記錄等候理發(fā)的顧客數(shù),
20、另使用三個信號量:用來記錄等候理發(fā)的顧客數(shù)customers;用來記錄理發(fā)師是否空閑的信號量barbers,一個用于互斥訪問waitting變量的mutex.。2、讀者與寫者問題(進程同步問題)【目的】了解進程同步的概念,理解信號量機制的原理,掌握運用信號量解決進程同步問題的方法,進而學會運用進程的同步與互斥?!驹O(shè)計要求】編程模擬讀者與寫者問題,要求顯示結(jié)果。(1) 多個進程共享一個文件,其中只讀文件的稱之為讀者,其余只寫文件的稱為寫者。讀者可以同時讀,但是寫者只能獨立寫。(2) 對(1)修改,使得它對寫者優(yōu)先,即一旦有寫者到,后續(xù)的讀者都必須等待,而無論是否有讀者在讀文件。3、模擬文件管理系
21、統(tǒng)【目的】深入了解文件管理系統(tǒng),初步掌握文件管理系統(tǒng)的實現(xiàn)方法?!驹O(shè)計要求】編寫一程序,模擬一個簡單的文件管理系統(tǒng)。樹型結(jié)構(gòu),目錄下可以是目錄,也可以是文件。在此文件管理系統(tǒng),可實現(xiàn)的操作有:改變目錄:格式:cd 顯示目錄:格式:dir 創(chuàng)建目錄:格式:md 刪除目錄:格式:rd 新建文件:格式:edit 刪除文件:格式:del 退出文件系統(tǒng):exitl 實現(xiàn)參考(1) 文件系統(tǒng)采用二叉樹型存儲結(jié)構(gòu),結(jié)點結(jié)構(gòu)如下:Struct FileNode Char filename FILENAME_LEN; /文件名/目錄名 Int isdir ; /目錄、文件的識別標志 Int i_nlink; /
22、文件鏈接數(shù) Int adr; /文件的地址 Struct FileNode *parent,*child; /指向父親的指針和左孩子的指針 Struct FileNode *sibling_prev,*sibling_next; /指向前一個兄弟的指針和后 一個兄弟的指針。(2) 目錄名和文件名支持全路徑名和相對路徑名,路徑名各分量間用“/”隔開。(3) 功能具體描述:改變目錄:改變當前工作目錄,目錄不存在是給出出錯信息顯示目錄:顯示指定目錄下或當前目錄下所有文件和一級目錄(選做:帶/s參數(shù)的dir命令,顯示所有子目錄)創(chuàng)建目錄:在指定路徑或當前路徑下創(chuàng)建指定目錄。重名時給出出錯信息。刪除目錄
23、:刪除指定目錄下所有文件和子目錄。要刪目錄不空時,要給出提示是否要刪除。創(chuàng)建文件:創(chuàng)建指定名字的文件,只要創(chuàng)建表示文件的節(jié)點即可,內(nèi)容及大小不考慮。刪除文件:刪除指定文件,不存在時給出出錯信息。退出文件系統(tǒng):exit(4) 總體流程:初始化文件目錄;輸出提示符,等待接受命令,分析鍵入的命令;對合法的命令,執(zhí)行相應的處理程序,否則輸出錯誤信息,繼續(xù)等待新命令。直到鍵入exit退出為止。4、售票員與乘客(信號量操作)【目的】了解進程同步的概念,理解信號量機制的原理,掌握運用信號量解決進程同步問題的方法,進而學會運用進程的同步與互斥。【設(shè)計要求】編程序模擬車站售票廳內(nèi)進程同步問題,售票廳任何時刻最多
24、可容納20名購票者進入,否則需要在外面等待。每個購票者可看成一個進程。5、驅(qū)動調(diào)度【目的】掌握驅(qū)動調(diào)度算法的原理?!驹O(shè)計要求】模擬電梯調(diào)度算法,實現(xiàn)對磁盤的驅(qū)動調(diào)度。要求模擬設(shè)計一個驅(qū)動調(diào)度程序,觀察驅(qū)動程序的動態(tài)運行過程。通過實驗理解和掌握驅(qū)動調(diào)度的職能。通過輸入一個0 1的數(shù)來確定函數(shù)執(zhí)行“接受請求”命令,還是執(zhí)行“驅(qū)動調(diào)度”命令。同時可以根據(jù)自已需要確定是否繼續(xù)執(zhí)行。調(diào)用數(shù)組對輸入的進程進行存儲,并運用循環(huán)進行顯示同時對I/O請求列表進行初始化。運用電梯調(diào)度算法,對I/O列表中的磁盤請求進行調(diào)度,同時對I/O列表進行排序,調(diào)度完成后顯示新的列表。6、交通信號燈模擬【目的】了解信號量機制,
25、了解并掌握進程同步和互斥機制,熟悉信號量的操作函數(shù),利用信號量實現(xiàn)對共享資源的控制?!驹O(shè)計要求】編程模擬交通信號燈的控制。一個十字路口,共有四組紅綠燈,每個路口的車輛都遵循“紅燈停,綠燈行”的原則,假設(shè)將每一臺汽車都作為一個進程,請設(shè)計良好的機制,展示出合理的“十字路口交通管理”情況。車輛通行設(shè)定:路口寬度不限,對一個路口而言,只有當一輛車通過路口(越過對面路口的交通燈后),其后續(xù)車輛才能繼續(xù)通過交通燈,車輛通過路口的時間可以固定,可以自行計算。進程的互斥:交通燈進程實際上是互斥的,即不能同時為紅或者同時為綠。進程的消息通信或其通信方式:對車輛進程而言,每一個車輛在通過路口前,必須確認前面的車
26、輛已經(jīng)通過了路口。進程的調(diào)度:停留在一個路口的車輛,決定其前進或等候的因素是交通燈和前面車輛的狀態(tài),需要設(shè)計一個良好的進程調(diào)度機制來控制所有車輛的通行。7、哲學家進餐問題【目的】通過實現(xiàn)哲學家進餐問題的互步,深入了解和掌握進程互斥的原理。【設(shè)計要求】哲學家有N個,規(guī)定全體到齊后開始討論,在討論的間隙哲學家進餐,每人進餐時都需使用刀、叉合一把,所有哲學家刀和叉都拿到后才能進餐。哲學家的人數(shù)、餐桌上的布置自行設(shè)定,實現(xiàn)刀和叉的互斥使用算法的程序?qū)崿F(xiàn)。8、司機與售票員(信號量操作) 【目的】掌握信號的使用方法和PV操作的定義,掌握使用PV操作實現(xiàn)進程之間同步和互斥的方法,加深對進程同步互斥概念的理解
27、。【設(shè)計要求】設(shè)計程序模擬在公共汽車上,司機和售票員操作的同步。司機:啟動車輛,正常行車,到站停車。售票員:上乘客,關(guān)車門,售票,開車門,下乘客。用PV操作對其控制。9、收銀員與顧客問題(信號量操作)【目的】了解信號量機制,了解并掌握進程同步和互斥機制,熟悉信號量的操作函數(shù),利用信號量實現(xiàn)對共享資源的控制?!驹O(shè)計要求】編程模擬下面同步問題:在某超市有下收銀員,且同時最多允許有n個顧客購物,我們可以將顧客和收銀員看成是兩類不同的進程,且工作流程如下圖所示。為了利用PV操作正確地協(xié)調(diào)這兩類進程之間的工作,設(shè)置了三個信號量S1、S2和Sn,且初值分別為0、0、和n。10、信號量的操作【目的】了解信號
28、量機制,了解并掌握進程同步和互斥機制,熟悉信號量的操作函數(shù),利用信號量實現(xiàn)對共享資源的控制?!驹O(shè)計要求】通過對Windows系統(tǒng)的內(nèi)核同步對象mutexes和semaphores的使用來實現(xiàn)進程同步的控制。利用CreateSemaphore、WaitForSingleObject等函數(shù)檢測內(nèi)核同步對象的狀態(tài)。11、進程間的通信(2人)【目的】了解進程間通信的機制,實現(xiàn)進程的兩種通信方式,多次執(zhí)行,觀察結(jié)果,并對兩種通信方式進行比較。【設(shè)計要求】利用系統(tǒng)提供的通信系統(tǒng)調(diào)用,進行一種方式的進程通信的程序設(shè)計,并對結(jié)果進行分析,同時了解另一種通信方式,將兩種方式進行比較分析。(1) 消息的創(chuàng)建發(fā)送和
29、接收使用系統(tǒng)調(diào)用msgget( )、msgsnd( )、msgrev( )、msgctl( )來編寫長度為500字節(jié)的發(fā)送和接收程序。用一個程序先后創(chuàng)建兩個子進程server和client,進行消息隊列方式通信。由server建立消息隊列,等待其他進程發(fā)來消息,當遇到類型為1的消息,則作為通信結(jié)束的信號,取消消息隊列,退出。Server每接收到一個消息顯示在屏幕上。Client判斷一個數(shù)據(jù)中的整數(shù)是否為素數(shù),然后使用server建立的消息隊列,將某數(shù)是否為素數(shù)的消息依次發(fā)送給server,然后退出。Client每次發(fā)送時把消息顯示在屏幕上。(2) 共享存儲區(qū)的創(chuàng)建,附接和斷接使用系統(tǒng)調(diào)用shm
30、get( )、shmat( )、shmctl( )編寫一個與上面(1)中相同功能的程序。12、分時系統(tǒng)實現(xiàn)【目的】了解計算機系統(tǒng)的啟動過程,實模式和保護模式的區(qū)別,進程管理功能的具體實現(xiàn)?!驹O(shè)計要求】(1) 制作計算機啟動盤。(2) 實現(xiàn)由實模式進入到保護模式。(3) 靜態(tài)建立幾個進程,采用時間片輪轉(zhuǎn)調(diào)度策略調(diào)度進程執(zhí)行。參考書目操作系統(tǒng)實驗教程,張麗芬、劉利雄、王全玉等,清華大學出版社。操作系統(tǒng)原理與實踐教程周湘貞、曾憲權(quán)編,清華大學出版社。Windows操作系統(tǒng)核心編程實驗教程,宋曉宇,中國鐵道出版社。三、關(guān)于選題及成績評定的說明1、設(shè)計題目選擇(1) 課程設(shè)計時間一般為一周,地點學院機房
31、,老師將不定期點名。(2) 課程設(shè)計題目均選自操作系統(tǒng)課程設(shè)計指導,請根據(jù)選題目查閱相應內(nèi)容;學生也可以自己選題,難度與設(shè)計指導中布置的題目難度相當,并必須經(jīng)老師審核批準。(3) 確定自己設(shè)計的題目的方法建議:用班級名單順序號對n取余,結(jié)果所得序號即為應做設(shè)計題目。(4) 按照設(shè)計內(nèi)容要求進行課程設(shè)計。(5) 向指導老師提交電子版設(shè)計文檔,由指導老師評閱。(6) 電子版設(shè)計文檔經(jīng)審核合格后,由指導老師對設(shè)計內(nèi)容進行口頭提問考核。(7) 提交合格的電子版文檔和打印文檔。電子文檔名:設(shè)計題目+班級+學號+姓名,課代表收齊,統(tǒng)一打包發(fā)給老師。2、評分標準(1) 操作系統(tǒng)課程設(shè)計嚴禁抄襲,無論是不同小
32、組之間還是與往屆之間,一旦確認為抄襲作品記為零分。被抄襲的作品與抄襲作品的處理相同。(2) 課程設(shè)計的成績分兩部分:上機檢查設(shè)計結(jié)果與質(zhì)疑+設(shè)計報告。(3) 提交實驗報告時,給出自我評價成績。(4) 成績?yōu)椤皟?yōu)”的同學,必須通過評優(yōu)答辯。四、課程設(shè)計報告內(nèi)容要求1、實驗題目的描述與要求;2、總體設(shè)計及環(huán)境說明、工具等;3、詳細設(shè)計:本題目所需數(shù)據(jù)結(jié)構(gòu)與模塊說明;4、調(diào)試過程、測試數(shù)據(jù)、運行結(jié)果及對結(jié)果的分析等;5、自我評析與總結(jié):(1) 你認為你完成的設(shè)計哪些比較好或比較出色;(2) 差距與局限:從本設(shè)計中得到的收獲,對設(shè)計進行進一步改進的思路;(3) 自評成績。五、課程設(shè)計報告模板(見下頁)設(shè)計題目:學 院:信息科學與工程學院專 業(yè):班 級:學 號:學生姓名:指導教師:2015 年 1 月 2 日目 錄1實驗內(nèi)容(二號黑體,段前12磅,段后12磅)41.1基本要求(三號黑體,段前、段后均0磅)41.1.1三級標題(四號黑體,段前、段后均0磅)41.1.2三級標題41.1.3三級標題41.2選作內(nèi)容41.3二級標題41.3.1三級標題41.3.2三級標題41.3.3三級標題41.4二級標題42數(shù)據(jù)結(jié)構(gòu)設(shè)計52.1二級標題52.1.1三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南有色金屬職業(yè)技術(shù)學院高職單招職業(yè)適應性測試參考題庫有答案解析
- 2026年河北機電職業(yè)技術(shù)學院單招綜合素質(zhì)考試模擬試題帶答案解析
- 2026年福建商學院高職單招職業(yè)適應性測試模擬試題帶答案解析
- 2026年合肥濱湖職業(yè)技術(shù)學院單招綜合素質(zhì)筆試備考試題帶答案解析
- 2026年廣西交通職業(yè)技術(shù)學院單招職業(yè)技能筆試備考題庫帶答案解析
- 2026年合肥信息技術(shù)職業(yè)學院單招綜合素質(zhì)考試備考題庫帶答案解析
- 2026年保山中醫(yī)藥高等??茖W校單招綜合素質(zhì)考試備考題庫帶答案解析
- 2026年廣東江門中醫(yī)藥職業(yè)學院高職單招職業(yè)適應性測試備考題庫有答案解析
- 數(shù)字廣告投放合同協(xié)議2025年
- 2026年黑龍江職業(yè)學院單招職業(yè)技能考試參考題庫帶答案解析
- 鉛鋅礦的選礦工廠自動化控制技術(shù)
- 《檔案利用與服務》課件
- 基礎(chǔ)拓撲學講義答案尤承業(yè)
- 單位工程施工組織設(shè)計的編制1概述2工程概況與施工特點分析
- 淺析幼小銜接中大班幼兒時間觀念的培養(yǎng)對策 論文
- LY/T 1821-2009林業(yè)地圖圖式
- GB/T 5565.2-2017橡膠和塑料軟管及非增強軟管柔性及挺性的測量第2部分:低于室溫彎曲試驗
- GB/T 3735.1-1983卡套式端直通長管接頭
- 診斷學課件 問診課件
- GB/T 18993.2-2020冷熱水用氯化聚氯乙烯(PVC-C)管道系統(tǒng)第2部分:管材
- SWAN客戶端安裝和使用手冊
評論
0/150
提交評論