




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機操作系統上機教案學院名稱:河北政法職業學院系部名稱:計算機系課程名稱:計算機操作系統任課教師:張敏麗授課題目:操作系統實訓1授課序號:12授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握該計算機系統的使用方法。教學重點:界面的使用。教學難點:熟悉該系統的操作命令。作業布置:教學內容:一、實習內容選擇一個計算機系統,熟悉該系統的操作命令,且掌握該計算機系統的使用方法。二、實習目的配合操作系統課程的學習,模擬實現操作系統的功能,有助于對操作系統的理解。操作系統功能的模擬實現可以在計算機系統的終端上進行,也可以在一臺微型計算機上進行。根據您的學習條件,選擇一個計算機系統,熟悉對該系統的使用,那么您可以順利地完成本課程的實習。為了盡快地熟悉計算機系統,可編輯一個源程序,且對編輯好的源程序編譯、運行、顯示/打印運行結果等。三、實習題目1打開:"開始"-"程序"-"附件"-"系統工具",①進行磁盤清理,②進行磁盤碎片整理,③進行磁盤掃描,④進行磁盤維護向導的操作,⑤進行"系統信息"中啟動過程的設置.
2瀏覽"控制面板"-"系統"---"設備管理器"信息的查看及"控制面板"-"網絡"-的配置信息的作用.在"控制面板"-"電源管理"-中修改電源管理選項和,在"控制面板"-"日期/時間"-中修改日期和時間.2按大綱模式建立一"培訓練習"文檔,文檔內容為本本書目錄的前三章,每章節只取兩個標題,然后在普通視圖下輸入每節的前兩行文字,并在頁面視圖下排版出滿意的文檔,最后存于"Word文檔練習"中.
4根據"簡歷向導"建立一個人建立資料,用文件名"簡歷"存于"Word文檔練習"文件夾中.
授課題目:操作系統實訓2授課序號:14授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握處理機的調度方法。教學重點:調度算法。教學難點:進程調度。作業布置:教學內容:實驗一處理器調度
一,實驗內容
選擇一個調度算法,實現處理器調度.
二,實驗目的
在采用多道程序設計的系統中,往往有若干個進程同時處于就緒狀態.當就緒狀態進程個數大于處理器數時,就必須依照某種策略來決定哪些進程優先占用處理器.本實驗模擬在單處理器情況下處理器調度,幫助學生加深了解處理器調度的工作.
三,實驗題目
本實驗有兩個題目,學生可選擇其中的一題.
第一題:設計一個按優先數調度算法實現處理器調度的進程.[提示]:
假定系統有五個進程,每一個進程用一個進程控制塊PCB來代表.進程控制塊的格式為:
進程名
時間
要求求運行時間
優先數
狀態
其中,進程名----作為進程的標識,假設五個進程的進程名分別是P1,P2,P3,P4,P5.
指針----按優先數的大小把五個進程連成隊列,用指針指出下一個進程的進程控制塊
首地址,最后一個進程中的指針為"0".
要求運行時間----假設進程需要運行的單位時間數.
優先數----賦予進程的優先數,調度時總是選取優先數大的進程先執行.狀態----可假設有兩種狀態,"就緒"狀態和"結束"狀態,五個進程的初始狀態都為"就緒"狀態,用"R"表示,當一個進程運行結束后,它的狀態變為"結束",
用"E"表示.
在每次運行你所設計的處理器調度程序之前,為每個進程任意確定它的"優先數"和"要求運行時間".
為了調度方便,把五個進程按給定的優先數從大到小連成隊列,用一單元指出隊首進程,用指針指出隊列的連接情況.例:
隊首標志
k1k2k3k4k5
PCB1PCB2PCB3PCB4PCB5
處理器調度總是選隊首進程運行.采用動態改變優先數的辦法,進程每運行一次優先數就減"1".由于本實驗是模擬處理器調度,所以,對被選中的進程并不實際的啟動運行,而是執行:
優先數-1
要求運行時間-1
來模擬進程的一次運行.
提醒注意的是:在實際的系統中,當一個進程被選中運行時,必須恢復進程的現場,它占有處理器運行,直到出現等待事件或運行結束.在這里省去了這些工作.
進程運行一次后,若要求運行時間≠0,則再將它加入隊列(按優先數大小插入,且置隊首標志);若要求運行時間=0,則把它的狀態修改為"結束"(),且退出隊列.
若"就緒"狀態的進程隊列不為空,則重復上面(4)和(5)的步驟,直到所有進程都成為"結束"狀態.
在所設計的稱序中應有顯示或打印語句,能顯示或打印每次被選中進程的進程名以及運行一次后進稱對列的變化.
為五個進程任意確定一組"優先數"和"要求運行時間",啟動所設計的處理器調度程序,顯示或打印逐次被選中進程的進程名以及進程控制塊的動態變化過程.授課題目:操作系統實訓3授課序號:16授課班級:司法信息2003級教學方法:講授法課時:2學時教學目的:通過這一章的學習,使學生掌握處理機的調度方法。教學重點:調度算法。教學難點:進程調度。作業布置:教學內容:設計一個按時間片輪轉法實現處理器調度的程序.
[提示]
假定系統有五個進程,每一個進程用一個進程控制塊PCB來代表.進程控制塊的格式為:
進程名
時間
要求求運行時間
優先數
狀態
其中,進程名----作為進程的標識,假設五個進程的進程名分別是Q1,Q2,Q3,Q4,Q5.
指針----進程按順序排成循環隊列,用指針指出下一個進程的進程控制塊首地址,最后一個進程中的指針指出第一個進程的進程控制塊首地址.
要求運行時間----假設進程需要運行的單位時間數.
已運行時間----假設進程已經運行的單位時間數,初始值為"0".
狀態----有兩種狀態,"就緒"狀態和"結束"狀態,初始狀態都為"就緒",用"R"表示,當一個進程運行結束后,它的狀態變為"結束",用"E"表示.
每次運行你所設計的處理器調度程序之前,為每個進程任意確定它的"要求運行時間".
把五個進程按順序排成循環隊列,用指針指出隊列連接情況.另用一標志單元記錄輪到運行的進程.例如,當前輪到Q2執行,則有:
標志單元
k1k2k3k4k5
PCB1PCB2PCB3PCB4PCB5
處理器調度總是選擇標志單元指示的進程運行.由于本實驗是模擬處理器調度的功能,所以,對被選中的進程并不實際啟動運行,而是執行:
已運行時間-1
來模擬進程的一次運行,表示進程已經運行過一個單位的時間.
請同學們注意:在實際的系統中,當一個進程被選中運行時,必須置上該進程可以運行的時間片值,以及恢復進程的現場,讓它占有處理器運行,直到出現等待事件或運行滿一個時間片.在這里省去了這些工作,僅用"已運行時間+1"來表示進程已經運行滿一個時間片.
進程運行一次后,應把該進程的進程控制塊中的指針值送到標志單元,以指示下一個輪到運行的進程.同時,應判斷該進程的要求運行時間與已運行時間,若該進程要求運行時間≠已運行時間,則表示它尚未執行結束,應待到下一輪時再運行.若該進程的要求運行時間=已運行時間,則表示它已經執行結束,應把它的狀態修改為"結束"(E)且退出隊列.此時,應把該進程的進程控制塊中的指針值送到前面一個進程的指針位置.
若"就緒"狀態的進程隊列不為空,則重復上面(4)和(5)的步驟,直到所有進程都成為"結束"狀態.
在所設計的稱序中應有顯示或打印語句,能顯示或打印每次被選中進程的進程名以及運行一次后進稱對列的變化.
為五個進程任意確定一組"要求運行時間",啟動所設計的處理器調度程序,顯示或打印逐次被選中進程的進程名以及進程控制塊的動態變化過程.授課題目:操作系統實訓4授課序號:18授課班級:司法信息2003級教學方法:講授法課時:2學時教學目的:通過這一章的學習,使學生掌握虛擬存儲器的功能。教學重點:虛擬存儲器的功能。教學難點:虛擬存儲器的功能。作業布置:教學內容:實驗二虛擬存儲器
一,實驗內容
模擬分頁式虛擬存儲管理中硬件的地址轉換和缺頁中斷,以及選擇頁面調度算法處理缺頁中斷.
二,實驗目的
在計算機系統中,為了提高主存利用率,往往把輔助存儲器(如磁盤)作為主存儲器的擴充,使多道運行的作業的全部邏輯地址空間總和可以超出主存的絕對地址空間.用這種辦法擴充的主存儲器稱為虛擬存儲器.通過本實驗幫助同學理解在分頁式存儲管理中怎樣實現虛擬存儲器.
三,實驗題目
本實驗有三道題目,其中第一題必做,第二,三題中可任選一個.
第一題:模擬分頁式存儲管理中硬件的地址轉換和產生缺頁中斷.
[提示]
分頁式虛擬存儲系統是把作業信息的副本存放在磁盤上,當作業被選中時,可把作業的開始幾頁先裝入主存且啟動執行.為此,在為作業建立頁表時,應說明哪些頁已在主存,哪些頁尚未裝入主存,頁表的格式為:
頁號
標志
主存塊號
在磁盤上的位置
其中,標志----用來表示對應頁是否已經裝入主存,標志位=1,則表示該頁已經在主存,標志位=0,則表示該頁尚未裝入主存.
主存塊號----用來表示已經裝入主存的頁所占的塊號.
在磁盤上的位置----用來指出作業副本的每一頁被存放在磁盤上的位置.
作業執行時,指令中的邏輯地址指出了參加運算的操作存放的頁號和單元號,硬件的地址轉換機構按頁號查頁表,若該頁對應標志為"1",則表示該頁已在主存,這時根據關系式:
絕對地址=塊號×塊長+單元號
計算出欲訪問的主存單元地址.如果塊長為2的冪次,則可把塊號作為高地址部分,把單元號作為低地址部分,兩者拼接而成絕對地址.若訪問的頁對應標志為"0",則表示該頁不在主存,這時硬件發"缺頁中斷"信號,有操作系統按該頁在磁盤上的位置,把該頁信息從磁盤讀出裝入主存后再重新執行這條指令.
設計一個"地址轉換"程序來模擬硬件的地址轉換工作.當訪問的頁在主存時,則形成絕對地址,但不去模擬指令的執行,而用輸出轉換后的地址來代替一條指令的執行.當訪問的頁不在主存時,則輸出"*該頁頁號",表示產生了一次缺頁中斷.運行設計的地址轉換程序,顯示或打印運行結果.因僅模擬地址轉換,并不模擬指令的執行,故可不考慮上述指令序列中的操作.授課題目:操作系統實訓5授課序號:20授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握頁面調度算法。教學重點:掌握頁面調度算法。教學難點:最近最少用(LRU)頁面調度算法處理缺頁中斷。作業布置:教學內容:用先進先出(FIFO)頁面調度算法處理缺頁中斷.
[提示]:
在分頁式虛擬存儲系統中,當硬件發出"缺頁中斷"后,引出操作系統來處理這個中斷事件.如果主存中已經沒有空閑塊,則可用FIFO頁面調度算法把該作業中最先進入主存的一頁調出,存放到磁盤上,然后再把當前要訪問的頁裝入該塊.調出和裝入后都要修改頁表頁表中對應頁的標志.
FIFO頁面調度算法總是淘汰該作業中最先進入主存的那一頁,因此可以用一個數組來表示該作業已在主存的頁面.假定作業被選中時,把開始的m個頁面裝入主存,則數組的元素可定為m個.例如:
P[0],P[1],….,P[m-1]
其中每一個P[i](i=0,1,….,m-1)表示一個在主存中的頁面號.它們的初值為:
P[0]:=0,P[1]:=1,….,P[m-1]:=m-1
用一指針k指示當要裝入新頁時,應淘汰的頁在數組中的位置,k的初值為"0".
當產生缺頁中斷后,操作系統選擇P[k]所指出的頁面調出,然后執行:
P[k]:=要裝入頁的頁號
k:=(k+1)modm
再由裝入程序把要訪問的一頁信息裝入到主存中.重新啟動剛才那條指令執行.
編制一個FIFO頁面調度程序,為了提高系統效率,如果應淘汰的頁在執行中沒有修改過,則可不必把該頁調出(因在磁盤上已有副本)而直接裝入一個新頁將其覆蓋.因此在頁表中增加是否修改過的標志,為"1"表示修改過,為"0"表示未修改過,格式為:
由于是模擬調度算法,所以,不實際啟動輸出一頁和裝入一頁的程序,而用輸出調出的頁號和裝入的頁號來代替一次調出和裝入的過程.
把第一題中程序稍作修改,與本題結合起來,FIFO頁面調度模擬算法如p103圖2-2.
磁盤上,在磁盤上的存放地址以及已裝入主存的頁和作業依次執行的指令序列都同第一題中(4)所示.于是增加了"修改標志"后的初始頁表為:按依次執行的指令序列,運行你所設計的程序,顯示或打印每次調出和裝入的頁號,以及執行了最后一條指令后的數組P的值.
為了檢查程序的正確性,可再任意確定一組指令序列,運行設計的程序,核對執行的結果.用最近最少用(LRU)頁面調度算法處理缺頁中斷.
[提示]
在分頁式虛擬存儲系統中,當硬件發出"缺頁中斷"后,引出操作系統來處理這個中斷事件.如果主存中已經沒有空閑塊,則可用LRU頁面調度算法把該作業中最先進入主存的一頁調出,存放到磁盤上,然后再把當前要訪問的頁裝入該塊.調出和裝入后都要修改頁表頁表中對應頁的標志.
LRU頁面調度算法總是淘汰該作業中距現在最久沒有訪問過的那一頁,因此可以用一個數組來表示該作業已在主存的頁面.數組中的第一個元素總是指出當前剛訪問的頁號,因此最久沒被訪問的頁總是由最后一個元素指出.如果主存中只有四塊空閑塊且執行第一題提示(4)假設的指令序列,采用LRU頁面調度算法,那麼在主存中的頁面變化情況如下:編制一個LRU頁面調度程序,為了提高系統效率,如果應淘汰的頁在執行中沒有修改過,則可不必把該頁調出.參看第二題中提示(3).模擬調度算法不實際啟動輸出一頁和裝入一頁的程序,而用輸出調出的頁號和裝入的頁號來代替.把第一題中的程序稍作
改動,與本題集合起來,LRU頁面調度模擬算法如圖2-3.
按第一題中提示(4)的要求,建立一張初始頁表,表中為每一頁增加"修改標志"位(參考第二題中提示(4)).然后按依次執行的指令序列,運行你所設計的程序,顯示或打印每次調出和裝入的頁號,以及執行了最后一條指令后的數組中的值.
為了檢查程序的正確性,可再任意確定一組指令序列,運行設計的程序,核對執行的結果授課題目:操作系統實訓6授課序號:22授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握主存儲器空間的分配和回收。教學重點:掌握主存儲器空間的分配和回收。教學難點:主存儲器空間的分配。作業布置:教學內容:實驗三、主存儲器空間的分配和回收一、實習內容主存儲器空間的分配和回收。二、實習目的一個好的計算機系統不僅要有一個足夠容量的、存取速度高的、穩定可靠的主存儲器,而且要能合理地分配和使用這些存儲空間。當用戶提出申請存儲器空間時,存儲管理必須根據申請者的要求,按一定的策略分析主存空間的使用情況,找出足夠的空閑區域分配給申請者。當作業撤離或主動歸還主存資源時,則存儲管理要收回作業占用的主存空間或歸還部分主存空間。主存的分配和回收的實現雖與主存儲器的管理方式有關的,通過本實習幫助學生理解在不同的存儲管理方式下應怎樣實現主存空間的分配和回收。三、實習題目本實習模擬在兩種存儲管理方式下的主存分配和回收。第一題:在可變分區管理方式下采用最先適應算法實現主存分配和實現主存回收。[提示]:可變分區方式是按作業需要的主存空間大小來分割分區的。當要裝入一個作業時,根據作業需要的主存量查看是否有足夠的空閑空間,若有,則按需要量分割一個分區分配給該作業;若無,則作業不能裝入。隨著作業的裝入、撤離,主存空間被分成許多個分區,有的分區被作業占用,而有的分區是空閑的。例如:
005k10k14k26k32k
128k操作系統作業1作業3空閑區作業2
空閑區
為了 說明哪些區是空閑的,可以用來裝入新作業,必須要有一張空閑區說明表,格式如下:
起址長度狀態第一欄14K12K未分配第二欄32K96K未分配MM
空表目
空表目
MM
其中,起址——指出一個空閑區的主存起始地址。長度——指出從起始地址開始的一個連續空閑的長度。狀態——有兩種狀態,一種是“未分配”狀態,指出對應的由起址指出的某個長度的區域是空閑區;另一種是“空表目”狀態,表示表中對應的登記項目是空白(無效),可用來登記新的空閑區(例如,作業撤離后,它所占的區域就成了空閑區,應找一個“空表目”欄登記歸還區的起址和長度且修改狀態)。由于分區的個數不定,所以空閑區說明表中應有適量的狀態為“空表目”的登記欄目,否則造成表格“溢出”無法登記。上述的這張說明表的登記情況是按提示(1)中的例所裝入的三個作業占用的主存區域后填寫的。(2)當有一個新作業要求裝入主存時,必須查空閑區說明表,從中找出一個足夠大的空閑區。有時找到的空閑區可能大于作業需要量,這時應把原來的空閑區變成兩部分:一部分分給作業占用;另一部分又成為一個較小的空閑區。為了盡量減少由于分割造成的空閑區,而盡量保存高地址部分有較大的連續空閑區域,以利于大型作業的裝入。為此,在空閑區說明表中,把每個空閑區按其地址順序登記,即每個后繼的空閑區其起始地址總是比前者大。為了方便查找還可使表格“緊縮”,總是讓“空表目”欄集中在表格的后部。(3)采用最先適應算法(順序分配算法)分配主存空間。按照作業的需要量,查空閑區說明表,順序查看登記欄,找到第一個能滿足要求的空閑區。當空閑區大于需要量時,一部分用來裝入作業,另一部分仍為空閑區登記在空閑區說明表中。由于本實習是模擬主存的分配,所以把主存區分配給作業后并不實際啟動裝入程序裝入作業,而用輸出“分配情況”來代替。最先適應分配算法如圖4-1。(4)當一個作業執行結束撤離時,作業所占的區域應該歸還,歸還的區域如果與其它空閑區相鄰,則應合成一個較大的空閑區,登記在空閑區說明表中。例如,在提示(1)中列舉的情況下,如果作業2撤離,歸還所占主存區域時,應與上、下相鄰的空閑區一起合成一個大的空閑區登記在空閑區說明表中。歸還主存時的回收算法如圖4-2。(5)請按最先適應算法設計主存分配和回收的程序。然后按(1)中假設主存中已裝入三個作業,且形成兩個空閑區,確定空閑區說明表的初值。現有一個需要主存量為6K的作業4申請裝入主存;然后作業3撤離;再作業2撤離。請你為它們進行主存分配和回收,把空閑區說明表的初值以及每次分配或回收后的變化顯示出來或打印出來。第二題:在分頁式管理方式下采用位示圖來表示主存分配情況,實現主存空間的分配和回收。[提示]:(1)分頁式存儲器把主存分成大小相等的若干塊,作業的信息也按塊的大小分頁,作業裝入主存時可把作業的信息按頁分散存放在主存的空閑塊中,為了說明主存中哪些塊已經被占用,哪些塊是尚未分配的空閑塊,可用一張位示圖來指出。位示圖可由若干存儲單元來構成,其中每一位與一個物理塊對應,用0/1表示對應塊為空閑/已占用。(2)假設某系統的主存被分成大小相等的64塊,則位示圖可用8個字節來構成,另用一單元記錄當前空閑塊數。如果已有第0,1,4,5,6,9,11,13,24,31,共10個主存塊被占用了,那么位示圖情況如下:字位節數號
0
1
2
3
4
5
6
7011001110101010100200000000310000001400000000500000000600000000700000000授課題目:操作系統實訓7授課序號:24授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握進程同步。教學重點:掌握進程同步。教學難點:用PV操作解決生產者——消費者問題。作業布置:教學內容:實驗四、同步機構
一,實驗內容
模擬實現用同步機構避免并發進程執行時可能出現的與時間有關的錯誤.
二,實驗目的
進程是程序在一個數據集合上運行的過程,進程是并發執行的,也即系統中的多個進程輪流地占用處理器運行.
我們把如干個進程都能進行訪問和修改地那些變量成為公共變量.由于進程是并發執行的,所以,如果對進程訪問公共變量不加限制,那么就會產生"與時間有關"的錯誤,即進程執行后,所得到的結果與訪問公共變量的時間有關.為了防止這類錯誤,系統必須要用同步機構來控制進程對公共變量的訪問.一般說,同步機構是由若干條原語——同步原語——所組成.本實驗要求學生模擬PV操作同步機構的實現,模擬進程的并發執行,了解進程并發執行時同步機構的作用.
三,實驗題目
模擬PV操作同步機構,且用PV操作解決生產者——消費者問題.
[提示]:
(1)PV操作同步機構,由P操作原語和V操作原語組成,它們的定義如下:
P操作原語P(s):將信號量s減去1,若結果小于0,則執行原語的進程被置成等待信號量s的狀態.
V操作原語V(s):將信號量s加1,若結果不大于0,則釋放一個等待信號量s的進程.
這兩條原語是如下的兩個過程:
procedurep(vars:semaphore);
begins:=s-1;
ifs<0thenW(s)
end{p}
procedurev(vars:semaphore);
begins:=s+1;
ifs<=0thenR(s)
end{V}
其中W(s)表示將調用過程的進程置為等待信號量s的狀態;R(s)表示釋放一個等待信號量s的進程.
在系統初始化時應把semaphore定義為某個類型,為簡單起見,在模擬實驗中可把上述的semaphore直接改成integer.
(2)生產者——消費者問題.
假定有一個生產者和消費者,生產者每次生產一件產品,并把生產的產品存入共享緩沖器以供消費者取走使用.消費者每次從緩沖器內取出一件產品去消費.禁止生產者將產品放入已滿的緩沖器內,禁止消費者從空緩沖器內取產品.假定緩沖器內可同時存放10件產品.那么,用PV操作來實現生產者和消費者之間的同步,生產者和消費者兩個進程的程序如下:
B:array[0..9]ofproducts;
s1,s2:semaphore;
IN,out;integer;
IN:=0;out:=0;
cobegin
procedureproducer;
c:products;
begin
L1:
produce(c);
p(s1);
B[IN]:=C;
IN:=(IN+1)mod10;
v(s2);
gotoL1
end;
procedureconsumer;
x:products;
begin
L2:P(s2);
x:=B[out];
out:=(out+1)mod10;
v(s1);
consume(x);
gotoL2
end;
coend
其中的semaphore和products是預先定義的兩個類型,在模擬實現中semaphore用integer或char等代替.
授課題目:操作系統實訓8授課序號:26授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生掌握作業調度。教學重點:模擬批處理多道操作系統的作業調度。教學難點:模擬批處理多道操作系統的作業調度。作業布置:教學內容:實習五作業調度一、實習內容模擬批處理多道操作系統的作業調度。二、實習目的每個用戶請求計算機計算的一個計算任務叫做一個作業。一個作業從輸入初始數據到得到計算結果,要經過若干個步驟的相繼執行。例如,編輯、編譯、運行等,其中每一個步驟稱作一個作業步。用戶向系統提出作業加工步驟的方式稱作業控制方式,作業控制方式有兩種:終端控制方式(又稱直接控制方式或聯機控制方式)和批處理控制方式(又稱自動控制方式或脫機控制方式)。在批處理控制方式下,用戶采用系統提供的作業控制語言(JCL)寫好作業說明書,說明作業加工的步驟。操作員把一批作業組織成輸入流,通過“預輸入”手段使每個作業的信息(包括作業說明書、源程序、初始數據等)暫存在輔助存儲器的“輸入井”中。批處理多道操作系統的作業管理有兩個任務:作業調度和作業控制。采用多道程序設計方法的操作系統,在系統中要經常保留多個運行的作業,以提高系統效率。作業調度從系統已接納的暫存在輸入井中的一批作業中挑選出若干個可運行的作業,并為這些被選中的作業分配所需的系統資源。對被選中運行的作業必須按照它們各自的作業說明書規定的步驟進行控制。本實習要求學生模擬作業調度的實現,了解作業調度在操作系統中的作用。三、實習題目采用先來先服務算法和運行時間最短者優先算法模擬設計作業調度程序。[提示]:(1)作業調度程序負責從輸入井選擇若干個作業進入主存,為它們分配必要的資源,當它們能夠被進程調度選中時,就可占用處理器運行。作業調度選擇一個作業的必要條件是系統中現有的尚未分配的資源可滿足該作業的資源要求。但有時系統中現有的尚未分配的資源既可滿足某個作業的要求也可滿足其它一些作業的要求,那么,作業調度必須按一定的算法在這些作業中作出選擇。先來先服務算法是按照作業進入輸入井的先后次序來挑選作業,先進入輸入井的作業優先被挑選,當系統中現有的尚未分配的資源不能滿足先進入輸入井的作業時,那么順序挑選后面的作業。運行時間最短者優先算法總是按作業要求運行的時間來選擇作業,每次挑選要求運行時間短且資源要求能滿足的作業先進入主存執行。(2)為了表示暫存在輸入井中的各個作業的情況(作業信息在輸入井中的位置、作業的資源要求等),常常采用二級目錄結構:作業表和預輸入表。例如:
用戶名作業名資源要求預輸入表地址
作業表
文件名文件屬性文件長度在輸入井中位置
預輸入表
“預輸入”程序為每個作業在作業表中占一登記欄,且把作業信息存放到輸入井中并按文件(源程序文件、數據文件等)登記在預輸入表中。“預輸入”程序工作時還把作業控制語句集中,作為作業說明書文件存放在輸入井并登記在預輸入表的第一欄中,同時把用戶在作業說明書中提出的資源要求登記在作業表中。本實習模擬作業調度,所以可不考慮有關“預輸入”程序的工作。假定“預輸入”程序已經把一批作業的信息存放在輸入井了,并為它們建立了如下的作業表:
用戶名作業名狀態運行時間資源要求預輸入表地址主存磁帶AZYA收容0.3小時15k2
BZYB收容0.5小時60k1
CZYC收容0.1小時50k3
DZYD收容0.4小時10k2
EZYE收容0.1小時30k3
其中狀態分三種:收容狀態——作業已在輸入井,但尚未被選中執行;執行狀態——作業被選中,正在執行;完成狀態——作業執行結束。(3)假定主存中可容納多道作業同時執行,那么作業調度按調度算法和資源分配情況查作業表,從中選擇若干作業,對每個被選中的作業創建一個作業控制進程且使它們處于就緒狀態,同時把選中作業的作業說明書讀入主存。處理器調度按調度策略選擇作業調度進程或作業控制進程輪流占有處理器(處理器調度參見實習二)。作業控制進程按作業說明書控制作業執行,當一個作業執行結束后,作業調度再從輸入井中選擇一個作業進入主存,直到輸入井中的作業都執行結束,通知操作員再預輸入一批作業。本實習主要模擬作業調度,所以對處理器調度、作業控制過程簡化。用輸入隨機數模擬處理器調度,用輸入“用戶名、作業名”模擬一個作業已經執行結束。于是,本實習的模擬流程可參考圖11-1。(4)假定某系統可供用戶使用的主存空間共100k,并有5臺磁帶機。主存分配采用可變分區分配方式且主存中信息不允許移動(參考實習四),對磁帶機采用靜態分配策略,主存中可同時執行的作業限定為兩道,作業調度分別采用先來先服務算法和運行時間最短者優先算法,參考圖11-1設計模擬作業調度的程序。假定作業表的初值如提示(2),分別在兩種算法控制下運行設計的程序,依次顯示被選中作業的用戶名和作業名。比較兩種作業調度算法選擇作業的次序。在模擬作業執行結束輸入被撤離作業的用戶名、作業名時,應根據已在主存中的作業需運行的時間來決定撤離的先后次序。四、實習報告(1)實習題目。(2)程序所用的數據結構及其說明。(3)打印一份源程序且附上注釋。(4)打印程序運行前的作業表,運行不同算法的作業調度程序,打印每選擇一個作業后的作業表變化情況以及作業被選中執行的次序。授課題目:操作系統實訓9授課序號:28授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生理解文件的邏輯結構、存儲結構、存取方式之間的聯系。教學重點:文件的邏輯結構。教學難點:文件的存儲結構作業布置:教學內容:實習六文件結構一、實習內容把文件的邏輯結構轉換成存儲結構,設計便于順序存取和直接存取的文件存儲結構。二、實習目的文件的結構是指文件中信息的構造方式,通常分成邏輯結構和存儲結構兩種。文件的邏輯結構是從用戶的觀點出發,研究用戶概念中的信息組織方式,這時,把文件看成是若干個邏輯記錄的集合。文件的存儲結構是指文件中的信息在物理存儲介質上的存放方法和組織關系,這時,把文件看成是相關物理塊的有序集合。用戶是按邏輯結構來生成和使用文件的,而文件系統必須按照存儲設備的物理特性和用戶對文件信息的存取方式來管理文件。所以,文件系統一個主要任務就是要在文件的邏輯結構和存儲結構之間建立一個映射。本實習要求學生模擬設計文件的存儲結構,通過實習理解文件的邏輯結構、存儲結構、存取方式之間的聯系。三、實習題目模擬設計MS-DOS操作系統中磁盤文件的存儲結構。[提示]:(1)當用戶對記錄式文件采用順序存以方式時,用戶總是依次地訪問一個個邏輯記錄,即當訪問了第I個記錄后,下次總是訪問第i+1個記錄。所以,當用戶采用順序存取方式訪問文件時,只要給出訪問要求(讀或寫)而無需再指出要訪問的記錄號。在MS-DOS中FAT的前兩項用來記錄盤的類型。第2項起表示盤的分配和鏈接情況,在上例中第3項為“0表示對應的第3塊空閑。圖7-2還指出了文件A依次存放在第2,4,20,21,45,46塊中,指針為FFF時表示文件結束。可見,MS-DOS的FAT表起了兩個作用:一是起到位示圖的作用,可從中判別哪些塊被占用,哪些塊是空閑的;二是指出了文件的鏈接情況。(3)假定磁盤存儲空間共有32個物理塊,模擬設計文件定位表FAT。文件定位表可以用一個一維數組FAT[031]來定義,其中一個元素與一個物理塊對應。當FAT[i]=0時,表示第i塊為空閑塊;當FAT[i]=FFF時,表示鏈接文件到第i塊結束;當FAT[i]10LFAT[i]1FFF時,其值指示鏈接文件中下一個物理塊號。(4)假定磁盤上的每個物理塊只能存放一個邏輯記錄,設計一個程序把文件的邏輯結構模擬轉換成MS-DOS的鏈接結構。用戶要求保存一個已經在主存中的文件時,給出文件名和文件的邏輯記錄長度及個數,對一個已經保存的文件,允許用戶插入新記錄。用鍵盤輸入來模擬用戶的要求,輸入信息為:“存”文件名邏輯記錄長度邏輯記錄個數“插入”文件名邏輯記錄號“插入”要求中的邏輯記錄號是指在該記錄后插入一個新記錄。模擬程序的算法如圖7-3。在設計的模擬程序中可不執行“邏輯記錄存入物理塊”的工作,而用顯示文件目錄表和FAT來代替。(5)可假設系統中已經有兩個鏈接文件,其鏈接情況由FAT表指出(鏈接情況學生自定),現又要保存一個新文件,然后對已保存的文件插入一個新記錄。運行你所設計的程序,觀察其結果。授課題目:操作系統實訓10授課序號:30授課班級:司法信息2003級教學方法:講授,實訓課時:2學時教學目的:通過這一章的學習,使學生理解中斷處理教學重點:中斷處理。教學難點:模擬中斷事件的處理作業布置:教學內容:實習七中斷處理一、實習內容模擬中斷事件的處理。二、實習目的現代計算機系統的硬件部分都設有中斷機構,它是實現多道程序設計的基礎。中斷機構能發現中斷事件,且當發現中斷事件后迫使正在處理器上執行的進程暫時停止執行,而讓操作系統的中斷處理程序占有處理器去處理出現的中斷事件。對不同的中斷事件,由于它們的性質不同,所以操作系統應采用不同的處理。通過實習了解中斷及中斷處理程序的作用。本實習模擬“時鐘中斷事件”的處理,對其它中斷事件的模擬處理,可根據各中斷事件的性質確定處理原則,制定算法,然后依照本實習,自行設計。三、實習題目模擬時鐘中斷的產生及設計一個對時鐘中斷事件進行處理的模擬程序。[提示]:(1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橡膠制品質量控制與檢測考核試卷
- 皮鞋生產工藝流程再造考核試卷
- 留在心底的聲音初三語文作文
- 上海高三語文一模滿分作文
- 摩托車展示區環境衛生考核試卷
- 再生物資回收與工業綠色轉型考核試卷
- 靜脈血液標本采集指南(WST661-2020)解讀
- 河南省洛陽市2023~2024學年高一數學下學期5月月考試題含答案
- 二年級加減混合運算練習題
- 山東省牡丹區胡集中學2024-2025學年初三下期期中考試英語試題含答案
- 河南省洛陽市強基聯盟2024-2025學年高二下學期3月月考歷史試題(原卷版+解析版)
- 2025屆上海市奉賢區高三語文二模試卷作文題目解析及范文:達克效應
- 2024年新瓦斯檢查工國家考試題庫
- 河南省普通高中2024-2025學年高三下學期學業水平選擇性模擬考試(四)歷史試題(原卷版+解析版)
- (一模)桂林市、來賓市2025屆高考第一次跨市聯合模擬考試地理試卷(含答案詳解)
- 飾品干貨知識培訓課件
- 2024-2030年中國高純銅行業發展監測及發展趨勢預測報告
- 2022城市道路照明設施養護維修服務規范
- 企業員工環保培訓
- 2024年9月21日浙江省事業單位統考《職業能力傾向測驗》真題及答案
- 獸醫病理學基礎試題及答案
評論
0/150
提交評論