算機操作系統(tǒng)》實驗大綱_第1頁
算機操作系統(tǒng)》實驗大綱_第2頁
算機操作系統(tǒng)》實驗大綱_第3頁
算機操作系統(tǒng)》實驗大綱_第4頁
算機操作系統(tǒng)》實驗大綱_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機操作系統(tǒng)實驗大綱一、課程性質和任務計算機操作系統(tǒng)是計算機科學與技術專業(yè)木科生的一門必修課程。通過學習使學員掌 握計算機操作系統(tǒng)的基木原理及組成;計算機操作系統(tǒng)的基木概念和相關的新概念、名詞及 術語;了解計算機操作系統(tǒng)的發(fā)展特點、設計技巧和方法;對常用計算機操作系統(tǒng)(dos、 windows和unix或linux)會進行基本的操作使用。二、課程的教學基本要求掌握計算機操作系統(tǒng)的基本概念、新名詞、術語及設計思路和方法技巧,掌握一種操作 系統(tǒng)的安裝、使用和簡單維護。三、操作系統(tǒng)實驗要求操作系統(tǒng)實驗共有5個,它們是在unix或linux環(huán)境卜工作,用c語言編程。因此要 求學生熟悉unix或lin

2、ux操作系統(tǒng)的命令,同時具冇一定的c語言或其它編程語言的編程 能力。對于算法模擬,可以選用各種其它語言。例如,vb, vc, java等。操作系統(tǒng)實驗的要求:1. 對實驗內容充分準備,并預先作好預習,對一些情況有所分析;2. 仔細觀察上機現象,記錄主要情況;3. 認真書寫實驗報告,實驗報告應包括實驗目的及要求,程序框圖及程序清單,運行情況及分析意見;4. 程序屮禁止使用goto語句,程序屮的主要部分要求有注釋。實驗1 unix或linux操作系統(tǒng)的實際使用1. 目的通過本實驗熟悉unix或linux操作系統(tǒng)的命令操作使用。2. 內容參見教材附錄3 linux簡要使用說明。3. 要求(1) 熟悉

3、開機后登錄進入系統(tǒng)和退出系統(tǒng);(2) 常用命令的操作使用;(3) 全屏幕編輯器vi的熟悉使用;(4) 為以后的上機實驗作好充分準備。實驗2命令解釋程序1. 目的通過木實驗熟悉unix或unux操作系統(tǒng)及c語言。熟悉系統(tǒng)調用的編程能力,程序屮 允許使用庫函數。2. 內容利用c語言編寫一個微型命令解釋程序,接收并解釋以下命令:(1) dir(2) cop文件1文件2(3) era文件名(4) dis字符串(5) end列當前目錄 拷貝文件 刪除文件 顯示字符串 結束,退出3. 要求(1) 進行命令合法性檢杳,若不合法,顯示出錯信息,等待重新輸入;(2) 命令前后有空格為合法命令。4 思路下面各題均

4、有編程思路,口的是給大家一些提示、借鑒。同學們可不必拘泥于此,根據 自己的理解和想法去編程。(1) 用靜態(tài)數組或二維數組形式定義命令保留字表和shell命令字表。靜態(tài)數組形式 如下:static char * cst="end"static char * scwt | =“isl xf;(2) 輸入命令字gets(string);(3) 分離命令宇一strcspn( ); strncpy();比較命令字strcmp();(5) 執(zhí)行shell命令system();5. 舉例dos 下定義:char * cwt = ts" “cp", “rm"e

5、cho", “end” linux 下定義:char * scwt = ts" “cp", “rm"echo", “end” char coml30, comp30, back30, “0”< stdio.h > gets(string) puts(string)<string.h>strcmp(stringl, string2) strcpy(stringl, string2) strcat(stringl, string2) 執(zhí)行:shell system()novell環(huán)境下用:tc 產生 a. exe2.numr

6、untimestorage120302401535()904201053560(2)輸出格式:要求有序號、運行吋間、存儲空間是何種調度。例:fcfsnumruntimestoragewaittime120300240152035090604201()11()53560130耍求有序號、運行時間、存儲空間。、等待吋間及總的等待吋間,并注明實驗3作業(yè)調度設計1. 目的作業(yè)管理是用戶與操作系統(tǒng)的接口。作業(yè)調度的主要功能是檢查系統(tǒng)是否能滿足用戶作業(yè) 的資源要求以及按照一定的算法選取作業(yè)。木實驗的口的是通過模擬作業(yè)調度算法的設計加深對作業(yè)管理基木原理的理解。 內容(1) 在后備作業(yè)隊列中,輸入5個作業(yè)各

7、口運行所需要的時間及存儲空間。 按先來先服務的原則進行調度,輸出作業(yè)調度則幀序及等待的時間和。 按最短作業(yè)(即運行時間最短)優(yōu)先的原則進行調度,輸出作業(yè)調度的順序及等待 時間和。 按最小作業(yè)(即存儲空間最小)優(yōu)先的原則進行調度,輸出作業(yè)調度的順序及等待 的時間和;根據運行情況,比較各種算法。(2) 在后備作業(yè)隊列中,先輸入5個作業(yè)各自運行所需要的時間,然后每輸入一個 作業(yè)的運行吋間,就按響應比高者優(yōu)先的原則進行調度,直到輸入作業(yè)的運行吋間 為0時,依次輸出響應比高的其它作業(yè)。(選作)3.要求(1) 對輸入的每個作業(yè)必須編號,輸出時要冇作業(yè)序號、運行時間、存儲空間及等待 時間(包括總的等待時間)

8、;(2) 實驗報告中的運行情況要包括輸入和輸出情況;(3) 比較上面幾種調度算法的優(yōu)劣。4.思路(1) 輸入格式:例:the whole waiting time is: 320響應比心®%門作業(yè)等待時間rp = 1 + 尸運行時間運行時首先輸出5個作業(yè)屮運行時間最短的作業(yè),然后每輸入一個作業(yè),計算響應比,輸出最高者。輸入要求有序號、運行時間;輸出要求有序號、運行時間、等待時間。5.舉例建主程序、三個子程序(例如:先來先服務fcfs、最短作業(yè)優(yōu)先lsfs、最短運行時間作 業(yè)優(yōu)先srfs)、打印程序及原始數據。五個作業(yè)運行時間,建文件datadat,其中包含num、runtime>

9、; storage> waittime和 the whole waiting time。實驗4存儲管理設計1. 目的存儲管理的主要功能z是合理地分配存儲空間。請求頁式存儲管理是常用的虛擬存儲 技術。木實驗的口的是通過請求頁式管理屮頁面置換算法了解虛擬存儲技術的特點,掌握請求 頁式存儲管理的頁面置換算法。2. 內容(1) 通過隨機數產生一個指令序列,共320條指令。指令的地址按下述原則生成: 50%的指令是順序執(zhí)行的; 25 %的指令是均勻分布在前地址部分 25%的指令是均勻分布在后地址部分。貝體的實施辦法是: 在0, 3之間選一起點m; 順序執(zhí)行一條指令,即m+1條; 向前地址0, ml

10、中執(zhí)行一條指令nf; 順序執(zhí)行一條指令,即nf+1條; 向后地址(nv+2, 319)中執(zhí)行一條指令nv。(2) 將指令序列變換成為頁地址流。假設: 頁面大小為1kb; 用戶實存容量為4頁到32頁; 用戶虛存容量為32kbo用戶虛存容量32kb,每1kb屮放10條指令,共320條指令(0319)。其屮09為0 頁,10-19 為頁 310-319 為 31 頁。(3) 使用不同的頁面調度算法處理缺頁小斷,并計算不同實存容量下(432kb)的命屮率。 先進先出算法(fifo); 最近最少使用算法(lru); 最佳淘汰算法(opt):先淘汰最不常用的頁地址;(選作) 最少訪問頁面算法(lfu)o

11、(選作)命屮率的算法為:命中率=1一 缺頁中斷次數頁地址流長度3. 要求(1) 實驗報告屮要有程序的詳細框圖,特別是有關算法木身的框圖;(2) 實驗報告中要有程序清單及執(zhí)行的結果;(3) 對不同算法的性能進行評價。4 思路關于隨機數的產生辦法。首先要初始化設置隨機數,產生序列的開始點,例如,通過下列語句實現:srand ( 400 );(1) 計算隨機數,產生320條指令序列m= 160;for (i=0; i<80; i+=j = i * 4;aj = m;aj+l = m+l ;aj+2 = aj *1.0* rand( )/32767;aj+3=aj+2+lm=aj+3+(319a

12、|j+3) * 1.0 * rand( )/32767;(2) 將指令序列變換成為頁地址流for(k=0; k<320; k+ = pt=ak/10;(3) 計算不同算法的命中率rate= 1-1.0 * u/320 ;其中u為缺頁中斷次數,320是頁地址流t度。(4)輸出格式k fifolru4 0.230.25 321.01.0實驗5進程管理設計1.目的通過進程的創(chuàng)建、控制和通訊的設計達到下述目的:(1) 加深對進程概念的理解,明確進程和程序的區(qū)別;(2) 進一步認識并發(fā)(共行)執(zhí)行的概念,區(qū)別順序執(zhí)行和并發(fā)(共行)執(zhí)行;(3) 分析進程爭用臨界資源的現象,學習解決進程互斥的方法;(

13、4) 了解unix或linux系統(tǒng)中進程通訊的基本原理。2. 內容(1) 進程的創(chuàng)建編制一段程序,使用系統(tǒng)調用fork()創(chuàng)建兩個子進程,這樣在此程序運行時,在系統(tǒng)屮 就有一個父進程和兩個子進程在活動。讓每一個進程在屏幕上顯示一個字符:父進程顯示 字符a, 了進程分別顯示字符b和字符c。試觀察、記錄并分析屏幕上進程調度的情況。如果在程序屮使用系統(tǒng)調用nice()來改變各進程的優(yōu)先級,會出現什么現彖?(2) 進程的控制修改已編制的程序,將每個進程輸出一個字符修改為每個進程輸出一句話,再觀察程序 執(zhí)行時屏幕上出現的現象。并分析岀現問題的原因。進一步理解各個進程爭奪臨界資源的情 況。如果在程序屮使用

14、系統(tǒng)調用locking()來給每一個進程加鎖,可以實現進程之間的互斥, 試觀察并分析出現的現彖。(有的系統(tǒng)中承認locking()系統(tǒng)調用的合法性,并不能真正鎖住, 在實驗過程屮要注意。)(3) 進程的軟中斷通訊編制一段程序,實現進程的軟中斷通訊:使用系統(tǒng)調用fork()創(chuàng)建兩個了進程;再使用 系統(tǒng)調用。signal()讓父進程捕捉鍵盤上來的屮斷信號(即按del鍵);在捕捉到屮斷信號后。 父進程用系統(tǒng)調用kill()向兩個子進程發(fā)信號;子進程捕捉到信號后分別輸出下列信息后終 止:child process 1 is killed by parent!child process2 is killed by parent!父進程等待兩個子進程都終止以后,輸出如下信息后終止。parent process is killed!(4) 進程的管道通訊編制一段程序,實現進程的管道通訊:使用系統(tǒng)調用pipe()建立-條管道線;兩個子進 程分別循環(huán)向這條管道寫一句話:child 1 is sending a message!child 2 is sending a message!而父進程則循環(huán)從管道屮讀出信息,顯示在屏幕上。用管道進行通訊,實質上是一個多生產者單消費者的問題,必須考慮其中都有哪些同 步和互斥,同時向管道輸入端寫的字節(jié)數必須和從輸出端讀的字節(jié)數一致,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論