計(jì)算機(jī)操作系統(tǒng)上機(jī)教案_第1頁
計(jì)算機(jī)操作系統(tǒng)上機(jī)教案_第2頁
計(jì)算機(jī)操作系統(tǒng)上機(jī)教案_第3頁
計(jì)算機(jī)操作系統(tǒng)上機(jī)教案_第4頁
計(jì)算機(jī)操作系統(tǒng)上機(jī)教案_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)操作系統(tǒng)上機(jī)教案學(xué)院名稱:河北政法職業(yè)學(xué)院系部名稱:計(jì)算機(jī)系課程名稱:計(jì)算機(jī)操作系統(tǒng)任課教師:張敏麗授課題目:操作系統(tǒng)實(shí)訓(xùn)1授課序號(hào):12授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握該計(jì)算機(jī)系統(tǒng)的使用方法。教學(xué)重點(diǎn):界面的使用。教學(xué)難點(diǎn):熟悉該系統(tǒng)的操作命令。作業(yè)布置:教學(xué)內(nèi)容:一、實(shí)習(xí)內(nèi)容選擇一個(gè)計(jì)算機(jī)系統(tǒng),熟悉該系統(tǒng)的操作命令,且掌握該計(jì)算機(jī)系統(tǒng)的使用方法。二、實(shí)習(xí)目的配合操作系統(tǒng)課程的學(xué)習(xí),模擬實(shí)現(xiàn)操作系統(tǒng)的功能,有助于對(duì)操作系統(tǒng)的理解。操作系統(tǒng)功能的模擬實(shí)現(xiàn)可以在計(jì)算機(jī)系統(tǒng)的終端上進(jìn)行,也可以在一臺(tái)微型計(jì)算機(jī)上進(jìn)行。根據(jù)您的學(xué)習(xí)條件,選擇一個(gè)計(jì)算機(jī)系統(tǒng),熟悉對(duì)該系統(tǒng)的使用,那么您可以順利地完成本課程的實(shí)習(xí)。為了盡快地熟悉計(jì)算機(jī)系統(tǒng),可編輯一個(gè)源程序,且對(duì)編輯好的源程序編譯、運(yùn)行、顯示/打印運(yùn)行結(jié)果等。三、實(shí)習(xí)題目1打開:"開始"-"程序"-"附件"-"系統(tǒng)工具",①進(jìn)行磁盤清理,②進(jìn)行磁盤碎片整理,③進(jìn)行磁盤掃描,④進(jìn)行磁盤維護(hù)向?qū)У牟僮?⑤進(jìn)行"系統(tǒng)信息"中啟動(dòng)過程的設(shè)置.

2瀏覽"控制面板"-"系統(tǒng)"---"設(shè)備管理器"信息的查看及"控制面板"-"網(wǎng)絡(luò)"-的配置信息的作用.在"控制面板"-"電源管理"-中修改電源管理選項(xiàng)和,在"控制面板"-"日期/時(shí)間"-中修改日期和時(shí)間.2按大綱模式建立一"培訓(xùn)練習(xí)"文檔,文檔內(nèi)容為本本書目錄的前三章,每章節(jié)只取兩個(gè)標(biāo)題,然后在普通視圖下輸入每節(jié)的前兩行文字,并在頁面視圖下排版出滿意的文檔,最后存于"Word文檔練習(xí)"中.

4根據(jù)"簡歷向?qū)?建立一個(gè)人建立資料,用文件名"簡歷"存于"Word文檔練習(xí)"文件夾中.

授課題目:操作系統(tǒng)實(shí)訓(xùn)2授課序號(hào):14授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握處理機(jī)的調(diào)度方法。教學(xué)重點(diǎn):調(diào)度算法。教學(xué)難點(diǎn):進(jìn)程調(diào)度。作業(yè)布置:教學(xué)內(nèi)容:實(shí)驗(yàn)一處理器調(diào)度

一,實(shí)驗(yàn)內(nèi)容

選擇一個(gè)調(diào)度算法,實(shí)現(xiàn)處理器調(diào)度.

二,實(shí)驗(yàn)?zāi)康?/p>

在采用多道程序設(shè)計(jì)的系統(tǒng)中,往往有若干個(gè)進(jìn)程同時(shí)處于就緒狀態(tài).當(dāng)就緒狀態(tài)進(jìn)程個(gè)數(shù)大于處理器數(shù)時(shí),就必須依照某種策略來決定哪些進(jìn)程優(yōu)先占用處理器.本實(shí)驗(yàn)?zāi)M在單處理器情況下處理器調(diào)度,幫助學(xué)生加深了解處理器調(diào)度的工作.

三,實(shí)驗(yàn)題目

本實(shí)驗(yàn)有兩個(gè)題目,學(xué)生可選擇其中的一題.

第一題:設(shè)計(jì)一個(gè)按優(yōu)先數(shù)調(diào)度算法實(shí)現(xiàn)處理器調(diào)度的進(jìn)程.[提示]:

假定系統(tǒng)有五個(gè)進(jìn)程,每一個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB來代表.進(jìn)程控制塊的格式為:

進(jìn)程名

時(shí)間

要求求運(yùn)行時(shí)間

優(yōu)先數(shù)

狀態(tài)

其中,進(jìn)程名----作為進(jìn)程的標(biāo)識(shí),假設(shè)五個(gè)進(jìn)程的進(jìn)程名分別是P1,P2,P3,P4,P5.

指針----按優(yōu)先數(shù)的大小把五個(gè)進(jìn)程連成隊(duì)列,用指針指出下一個(gè)進(jìn)程的進(jìn)程控制塊

首地址,最后一個(gè)進(jìn)程中的指針為"0".

要求運(yùn)行時(shí)間----假設(shè)進(jìn)程需要運(yùn)行的單位時(shí)間數(shù).

優(yōu)先數(shù)----賦予進(jìn)程的優(yōu)先數(shù),調(diào)度時(shí)總是選取優(yōu)先數(shù)大的進(jìn)程先執(zhí)行.狀態(tài)----可假設(shè)有兩種狀態(tài),"就緒"狀態(tài)和"結(jié)束"狀態(tài),五個(gè)進(jìn)程的初始狀態(tài)都為"就緒"狀態(tài),用"R"表示,當(dāng)一個(gè)進(jìn)程運(yùn)行結(jié)束后,它的狀態(tài)變?yōu)?結(jié)束",

用"E"表示.

在每次運(yùn)行你所設(shè)計(jì)的處理器調(diào)度程序之前,為每個(gè)進(jìn)程任意確定它的"優(yōu)先數(shù)"和"要求運(yùn)行時(shí)間".

為了調(diào)度方便,把五個(gè)進(jìn)程按給定的優(yōu)先數(shù)從大到小連成隊(duì)列,用一單元指出隊(duì)首進(jìn)程,用指針指出隊(duì)列的連接情況.例:

隊(duì)首標(biāo)志

k1k2k3k4k5

PCB1PCB2PCB3PCB4PCB5

處理器調(diào)度總是選隊(duì)首進(jìn)程運(yùn)行.采用動(dòng)態(tài)改變優(yōu)先數(shù)的辦法,進(jìn)程每運(yùn)行一次優(yōu)先數(shù)就減"1".由于本實(shí)驗(yàn)是模擬處理器調(diào)度,所以,對(duì)被選中的進(jìn)程并不實(shí)際的啟動(dòng)運(yùn)行,而是執(zhí)行:

優(yōu)先數(shù)-1

要求運(yùn)行時(shí)間-1

來模擬進(jìn)程的一次運(yùn)行.

提醒注意的是:在實(shí)際的系統(tǒng)中,當(dāng)一個(gè)進(jìn)程被選中運(yùn)行時(shí),必須恢復(fù)進(jìn)程的現(xiàn)場,它占有處理器運(yùn)行,直到出現(xiàn)等待事件或運(yùn)行結(jié)束.在這里省去了這些工作.

進(jìn)程運(yùn)行一次后,若要求運(yùn)行時(shí)間≠0,則再將它加入隊(duì)列(按優(yōu)先數(shù)大小插入,且置隊(duì)首標(biāo)志);若要求運(yùn)行時(shí)間=0,則把它的狀態(tài)修改為"結(jié)束"(),且退出隊(duì)列.

若"就緒"狀態(tài)的進(jìn)程隊(duì)列不為空,則重復(fù)上面(4)和(5)的步驟,直到所有進(jìn)程都成為"結(jié)束"狀態(tài).

在所設(shè)計(jì)的稱序中應(yīng)有顯示或打印語句,能顯示或打印每次被選中進(jìn)程的進(jìn)程名以及運(yùn)行一次后進(jìn)稱對(duì)列的變化.

為五個(gè)進(jìn)程任意確定一組"優(yōu)先數(shù)"和"要求運(yùn)行時(shí)間",啟動(dòng)所設(shè)計(jì)的處理器調(diào)度程序,顯示或打印逐次被選中進(jìn)程的進(jìn)程名以及進(jìn)程控制塊的動(dòng)態(tài)變化過程.授課題目:操作系統(tǒng)實(shí)訓(xùn)3授課序號(hào):16授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授法課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握處理機(jī)的調(diào)度方法。教學(xué)重點(diǎn):調(diào)度算法。教學(xué)難點(diǎn):進(jìn)程調(diào)度。作業(yè)布置:教學(xué)內(nèi)容:設(shè)計(jì)一個(gè)按時(shí)間片輪轉(zhuǎn)法實(shí)現(xiàn)處理器調(diào)度的程序.

[提示]

假定系統(tǒng)有五個(gè)進(jìn)程,每一個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB來代表.進(jìn)程控制塊的格式為:

進(jìn)程名

時(shí)間

要求求運(yùn)行時(shí)間

優(yōu)先數(shù)

狀態(tài)

其中,進(jìn)程名----作為進(jìn)程的標(biāo)識(shí),假設(shè)五個(gè)進(jìn)程的進(jìn)程名分別是Q1,Q2,Q3,Q4,Q5.

指針----進(jìn)程按順序排成循環(huán)隊(duì)列,用指針指出下一個(gè)進(jìn)程的進(jìn)程控制塊首地址,最后一個(gè)進(jìn)程中的指針指出第一個(gè)進(jìn)程的進(jìn)程控制塊首地址.

要求運(yùn)行時(shí)間----假設(shè)進(jìn)程需要運(yùn)行的單位時(shí)間數(shù).

已運(yùn)行時(shí)間----假設(shè)進(jìn)程已經(jīng)運(yùn)行的單位時(shí)間數(shù),初始值為"0".

狀態(tài)----有兩種狀態(tài),"就緒"狀態(tài)和"結(jié)束"狀態(tài),初始狀態(tài)都為"就緒",用"R"表示,當(dāng)一個(gè)進(jìn)程運(yùn)行結(jié)束后,它的狀態(tài)變?yōu)?結(jié)束",用"E"表示.

每次運(yùn)行你所設(shè)計(jì)的處理器調(diào)度程序之前,為每個(gè)進(jìn)程任意確定它的"要求運(yùn)行時(shí)間".

把五個(gè)進(jìn)程按順序排成循環(huán)隊(duì)列,用指針指出隊(duì)列連接情況.另用一標(biāo)志單元記錄輪到運(yùn)行的進(jìn)程.例如,當(dāng)前輪到Q2執(zhí)行,則有:

標(biāo)志單元

k1k2k3k4k5

PCB1PCB2PCB3PCB4PCB5

處理器調(diào)度總是選擇標(biāo)志單元指示的進(jìn)程運(yùn)行.由于本實(shí)驗(yàn)是模擬處理器調(diào)度的功能,所以,對(duì)被選中的進(jìn)程并不實(shí)際啟動(dòng)運(yùn)行,而是執(zhí)行:

已運(yùn)行時(shí)間-1

來模擬進(jìn)程的一次運(yùn)行,表示進(jìn)程已經(jīng)運(yùn)行過一個(gè)單位的時(shí)間.

請同學(xué)們注意:在實(shí)際的系統(tǒng)中,當(dāng)一個(gè)進(jìn)程被選中運(yùn)行時(shí),必須置上該進(jìn)程可以運(yùn)行的時(shí)間片值,以及恢復(fù)進(jìn)程的現(xiàn)場,讓它占有處理器運(yùn)行,直到出現(xiàn)等待事件或運(yùn)行滿一個(gè)時(shí)間片.在這里省去了這些工作,僅用"已運(yùn)行時(shí)間+1"來表示進(jìn)程已經(jīng)運(yùn)行滿一個(gè)時(shí)間片.

進(jìn)程運(yùn)行一次后,應(yīng)把該進(jìn)程的進(jìn)程控制塊中的指針值送到標(biāo)志單元,以指示下一個(gè)輪到運(yùn)行的進(jìn)程.同時(shí),應(yīng)判斷該進(jìn)程的要求運(yùn)行時(shí)間與已運(yùn)行時(shí)間,若該進(jìn)程要求運(yùn)行時(shí)間≠已運(yùn)行時(shí)間,則表示它尚未執(zhí)行結(jié)束,應(yīng)待到下一輪時(shí)再運(yùn)行.若該進(jìn)程的要求運(yùn)行時(shí)間=已運(yùn)行時(shí)間,則表示它已經(jīng)執(zhí)行結(jié)束,應(yīng)把它的狀態(tài)修改為"結(jié)束"(E)且退出隊(duì)列.此時(shí),應(yīng)把該進(jìn)程的進(jìn)程控制塊中的指針值送到前面一個(gè)進(jìn)程的指針位置.

若"就緒"狀態(tài)的進(jìn)程隊(duì)列不為空,則重復(fù)上面(4)和(5)的步驟,直到所有進(jìn)程都成為"結(jié)束"狀態(tài).

在所設(shè)計(jì)的稱序中應(yīng)有顯示或打印語句,能顯示或打印每次被選中進(jìn)程的進(jìn)程名以及運(yùn)行一次后進(jìn)稱對(duì)列的變化.

為五個(gè)進(jìn)程任意確定一組"要求運(yùn)行時(shí)間",啟動(dòng)所設(shè)計(jì)的處理器調(diào)度程序,顯示或打印逐次被選中進(jìn)程的進(jìn)程名以及進(jìn)程控制塊的動(dòng)態(tài)變化過程.授課題目:操作系統(tǒng)實(shí)訓(xùn)4授課序號(hào):18授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授法課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握虛擬存儲(chǔ)器的功能。教學(xué)重點(diǎn):虛擬存儲(chǔ)器的功能。教學(xué)難點(diǎn):虛擬存儲(chǔ)器的功能。作業(yè)布置:教學(xué)內(nèi)容:實(shí)驗(yàn)二虛擬存儲(chǔ)器

一,實(shí)驗(yàn)內(nèi)容

模擬分頁式虛擬存儲(chǔ)管理中硬件的地址轉(zhuǎn)換和缺頁中斷,以及選擇頁面調(diào)度算法處理缺頁中斷.

二,實(shí)驗(yàn)?zāi)康?/p>

在計(jì)算機(jī)系統(tǒng)中,為了提高主存利用率,往往把輔助存儲(chǔ)器(如磁盤)作為主存儲(chǔ)器的擴(kuò)充,使多道運(yùn)行的作業(yè)的全部邏輯地址空間總和可以超出主存的絕對(duì)地址空間.用這種辦法擴(kuò)充的主存儲(chǔ)器稱為虛擬存儲(chǔ)器.通過本實(shí)驗(yàn)幫助同學(xué)理解在分頁式存儲(chǔ)管理中怎樣實(shí)現(xiàn)虛擬存儲(chǔ)器.

三,實(shí)驗(yàn)題目

本實(shí)驗(yàn)有三道題目,其中第一題必做,第二,三題中可任選一個(gè).

第一題:模擬分頁式存儲(chǔ)管理中硬件的地址轉(zhuǎn)換和產(chǎn)生缺頁中斷.

[提示]

分頁式虛擬存儲(chǔ)系統(tǒng)是把作業(yè)信息的副本存放在磁盤上,當(dāng)作業(yè)被選中時(shí),可把作業(yè)的開始幾頁先裝入主存且啟動(dòng)執(zhí)行.為此,在為作業(yè)建立頁表時(shí),應(yīng)說明哪些頁已在主存,哪些頁尚未裝入主存,頁表的格式為:

頁號(hào)

標(biāo)志

主存塊號(hào)

在磁盤上的位置

其中,標(biāo)志----用來表示對(duì)應(yīng)頁是否已經(jīng)裝入主存,標(biāo)志位=1,則表示該頁已經(jīng)在主存,標(biāo)志位=0,則表示該頁尚未裝入主存.

主存塊號(hào)----用來表示已經(jīng)裝入主存的頁所占的塊號(hào).

在磁盤上的位置----用來指出作業(yè)副本的每一頁被存放在磁盤上的位置.

作業(yè)執(zhí)行時(shí),指令中的邏輯地址指出了參加運(yùn)算的操作存放的頁號(hào)和單元號(hào),硬件的地址轉(zhuǎn)換機(jī)構(gòu)按頁號(hào)查頁表,若該頁對(duì)應(yīng)標(biāo)志為"1",則表示該頁已在主存,這時(shí)根據(jù)關(guān)系式:

絕對(duì)地址=塊號(hào)×塊長+單元號(hào)

計(jì)算出欲訪問的主存單元地址.如果塊長為2的冪次,則可把塊號(hào)作為高地址部分,把單元號(hào)作為低地址部分,兩者拼接而成絕對(duì)地址.若訪問的頁對(duì)應(yīng)標(biāo)志為"0",則表示該頁不在主存,這時(shí)硬件發(fā)"缺頁中斷"信號(hào),有操作系統(tǒng)按該頁在磁盤上的位置,把該頁信息從磁盤讀出裝入主存后再重新執(zhí)行這條指令.

設(shè)計(jì)一個(gè)"地址轉(zhuǎn)換"程序來模擬硬件的地址轉(zhuǎn)換工作.當(dāng)訪問的頁在主存時(shí),則形成絕對(duì)地址,但不去模擬指令的執(zhí)行,而用輸出轉(zhuǎn)換后的地址來代替一條指令的執(zhí)行.當(dāng)訪問的頁不在主存時(shí),則輸出"*該頁頁號(hào)",表示產(chǎn)生了一次缺頁中斷.運(yùn)行設(shè)計(jì)的地址轉(zhuǎn)換程序,顯示或打印運(yùn)行結(jié)果.因僅模擬地址轉(zhuǎn)換,并不模擬指令的執(zhí)行,故可不考慮上述指令序列中的操作.授課題目:操作系統(tǒng)實(shí)訓(xùn)5授課序號(hào):20授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握頁面調(diào)度算法。教學(xué)重點(diǎn):掌握頁面調(diào)度算法。教學(xué)難點(diǎn):最近最少用(LRU)頁面調(diào)度算法處理缺頁中斷。作業(yè)布置:教學(xué)內(nèi)容:用先進(jìn)先出(FIFO)頁面調(diào)度算法處理缺頁中斷.

[提示]:

在分頁式虛擬存儲(chǔ)系統(tǒng)中,當(dāng)硬件發(fā)出"缺頁中斷"后,引出操作系統(tǒng)來處理這個(gè)中斷事件.如果主存中已經(jīng)沒有空閑塊,則可用FIFO頁面調(diào)度算法把該作業(yè)中最先進(jìn)入主存的一頁調(diào)出,存放到磁盤上,然后再把當(dāng)前要訪問的頁裝入該塊.調(diào)出和裝入后都要修改頁表頁表中對(duì)應(yīng)頁的標(biāo)志.

FIFO頁面調(diào)度算法總是淘汰該作業(yè)中最先進(jìn)入主存的那一頁,因此可以用一個(gè)數(shù)組來表示該作業(yè)已在主存的頁面.假定作業(yè)被選中時(shí),把開始的m個(gè)頁面裝入主存,則數(shù)組的元素可定為m個(gè).例如:

P[0],P[1],….,P[m-1]

其中每一個(gè)P[i](i=0,1,….,m-1)表示一個(gè)在主存中的頁面號(hào).它們的初值為:

P[0]:=0,P[1]:=1,….,P[m-1]:=m-1

用一指針k指示當(dāng)要裝入新頁時(shí),應(yīng)淘汰的頁在數(shù)組中的位置,k的初值為"0".

當(dāng)產(chǎn)生缺頁中斷后,操作系統(tǒng)選擇P[k]所指出的頁面調(diào)出,然后執(zhí)行:

P[k]:=要裝入頁的頁號(hào)

k:=(k+1)modm

再由裝入程序把要訪問的一頁信息裝入到主存中.重新啟動(dòng)剛才那條指令執(zhí)行.

編制一個(gè)FIFO頁面調(diào)度程序,為了提高系統(tǒng)效率,如果應(yīng)淘汰的頁在執(zhí)行中沒有修改過,則可不必把該頁調(diào)出(因在磁盤上已有副本)而直接裝入一個(gè)新頁將其覆蓋.因此在頁表中增加是否修改過的標(biāo)志,為"1"表示修改過,為"0"表示未修改過,格式為:

由于是模擬調(diào)度算法,所以,不實(shí)際啟動(dòng)輸出一頁和裝入一頁的程序,而用輸出調(diào)出的頁號(hào)和裝入的頁號(hào)來代替一次調(diào)出和裝入的過程.

把第一題中程序稍作修改,與本題結(jié)合起來,FIFO頁面調(diào)度模擬算法如p103圖2-2.

磁盤上,在磁盤上的存放地址以及已裝入主存的頁和作業(yè)依次執(zhí)行的指令序列都同第一題中(4)所示.于是增加了"修改標(biāo)志"后的初始頁表為:按依次執(zhí)行的指令序列,運(yùn)行你所設(shè)計(jì)的程序,顯示或打印每次調(diào)出和裝入的頁號(hào),以及執(zhí)行了最后一條指令后的數(shù)組P的值.

為了檢查程序的正確性,可再任意確定一組指令序列,運(yùn)行設(shè)計(jì)的程序,核對(duì)執(zhí)行的結(jié)果.用最近最少用(LRU)頁面調(diào)度算法處理缺頁中斷.

[提示]

在分頁式虛擬存儲(chǔ)系統(tǒng)中,當(dāng)硬件發(fā)出"缺頁中斷"后,引出操作系統(tǒng)來處理這個(gè)中斷事件.如果主存中已經(jīng)沒有空閑塊,則可用LRU頁面調(diào)度算法把該作業(yè)中最先進(jìn)入主存的一頁調(diào)出,存放到磁盤上,然后再把當(dāng)前要訪問的頁裝入該塊.調(diào)出和裝入后都要修改頁表頁表中對(duì)應(yīng)頁的標(biāo)志.

LRU頁面調(diào)度算法總是淘汰該作業(yè)中距現(xiàn)在最久沒有訪問過的那一頁,因此可以用一個(gè)數(shù)組來表示該作業(yè)已在主存的頁面.數(shù)組中的第一個(gè)元素總是指出當(dāng)前剛訪問的頁號(hào),因此最久沒被訪問的頁總是由最后一個(gè)元素指出.如果主存中只有四塊空閑塊且執(zhí)行第一題提示(4)假設(shè)的指令序列,采用LRU頁面調(diào)度算法,那麼在主存中的頁面變化情況如下:編制一個(gè)LRU頁面調(diào)度程序,為了提高系統(tǒng)效率,如果應(yīng)淘汰的頁在執(zhí)行中沒有修改過,則可不必把該頁調(diào)出.參看第二題中提示(3).模擬調(diào)度算法不實(shí)際啟動(dòng)輸出一頁和裝入一頁的程序,而用輸出調(diào)出的頁號(hào)和裝入的頁號(hào)來代替.把第一題中的程序稍作

改動(dòng),與本題集合起來,LRU頁面調(diào)度模擬算法如圖2-3.

按第一題中提示(4)的要求,建立一張初始頁表,表中為每一頁增加"修改標(biāo)志"位(參考第二題中提示(4)).然后按依次執(zhí)行的指令序列,運(yùn)行你所設(shè)計(jì)的程序,顯示或打印每次調(diào)出和裝入的頁號(hào),以及執(zhí)行了最后一條指令后的數(shù)組中的值.

為了檢查程序的正確性,可再任意確定一組指令序列,運(yùn)行設(shè)計(jì)的程序,核對(duì)執(zhí)行的結(jié)果授課題目:操作系統(tǒng)實(shí)訓(xùn)6授課序號(hào):22授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握主存儲(chǔ)器空間的分配和回收。教學(xué)重點(diǎn):掌握主存儲(chǔ)器空間的分配和回收。教學(xué)難點(diǎn):主存儲(chǔ)器空間的分配。作業(yè)布置:教學(xué)內(nèi)容:實(shí)驗(yàn)三、主存儲(chǔ)器空間的分配和回收一、實(shí)習(xí)內(nèi)容主存儲(chǔ)器空間的分配和回收。二、實(shí)習(xí)目的一個(gè)好的計(jì)算機(jī)系統(tǒng)不僅要有一個(gè)足夠容量的、存取速度高的、穩(wěn)定可靠的主存儲(chǔ)器,而且要能合理地分配和使用這些存儲(chǔ)空間。當(dāng)用戶提出申請存儲(chǔ)器空間時(shí),存儲(chǔ)管理必須根據(jù)申請者的要求,按一定的策略分析主存空間的使用情況,找出足夠的空閑區(qū)域分配給申請者。當(dāng)作業(yè)撤離或主動(dòng)歸還主存資源時(shí),則存儲(chǔ)管理要收回作業(yè)占用的主存空間或歸還部分主存空間。主存的分配和回收的實(shí)現(xiàn)雖與主存儲(chǔ)器的管理方式有關(guān)的,通過本實(shí)習(xí)幫助學(xué)生理解在不同的存儲(chǔ)管理方式下應(yīng)怎樣實(shí)現(xiàn)主存空間的分配和回收。三、實(shí)習(xí)題目本實(shí)習(xí)模擬在兩種存儲(chǔ)管理方式下的主存分配和回收。第一題:在可變分區(qū)管理方式下采用最先適應(yīng)算法實(shí)現(xiàn)主存分配和實(shí)現(xiàn)主存回收。[提示]:可變分區(qū)方式是按作業(yè)需要的主存空間大小來分割分區(qū)的。當(dāng)要裝入一個(gè)作業(yè)時(shí),根據(jù)作業(yè)需要的主存量查看是否有足夠的空閑空間,若有,則按需要量分割一個(gè)分區(qū)分配給該作業(yè);若無,則作業(yè)不能裝入。隨著作業(yè)的裝入、撤離,主存空間被分成許多個(gè)分區(qū),有的分區(qū)被作業(yè)占用,而有的分區(qū)是空閑的。例如:

005k10k14k26k32k

128k操作系統(tǒng)作業(yè)1作業(yè)3空閑區(qū)作業(yè)2

空閑區(qū)

為了 說明哪些區(qū)是空閑的,可以用來裝入新作業(yè),必須要有一張空閑區(qū)說明表,格式如下:

起址長度狀態(tài)第一欄14K12K未分配第二欄32K96K未分配MM

空表目

空表目

MM

其中,起址——指出一個(gè)空閑區(qū)的主存起始地址。長度——指出從起始地址開始的一個(gè)連續(xù)空閑的長度。狀態(tài)——有兩種狀態(tài),一種是“未分配”狀態(tài),指出對(duì)應(yīng)的由起址指出的某個(gè)長度的區(qū)域是空閑區(qū);另一種是“空表目”狀態(tài),表示表中對(duì)應(yīng)的登記項(xiàng)目是空白(無效),可用來登記新的空閑區(qū)(例如,作業(yè)撤離后,它所占的區(qū)域就成了空閑區(qū),應(yīng)找一個(gè)“空表目”欄登記歸還區(qū)的起址和長度且修改狀態(tài))。由于分區(qū)的個(gè)數(shù)不定,所以空閑區(qū)說明表中應(yīng)有適量的狀態(tài)為“空表目”的登記欄目,否則造成表格“溢出”無法登記。上述的這張說明表的登記情況是按提示(1)中的例所裝入的三個(gè)作業(yè)占用的主存區(qū)域后填寫的。(2)當(dāng)有一個(gè)新作業(yè)要求裝入主存時(shí),必須查空閑區(qū)說明表,從中找出一個(gè)足夠大的空閑區(qū)。有時(shí)找到的空閑區(qū)可能大于作業(yè)需要量,這時(shí)應(yīng)把原來的空閑區(qū)變成兩部分:一部分分給作業(yè)占用;另一部分又成為一個(gè)較小的空閑區(qū)。為了盡量減少由于分割造成的空閑區(qū),而盡量保存高地址部分有較大的連續(xù)空閑區(qū)域,以利于大型作業(yè)的裝入。為此,在空閑區(qū)說明表中,把每個(gè)空閑區(qū)按其地址順序登記,即每個(gè)后繼的空閑區(qū)其起始地址總是比前者大。為了方便查找還可使表格“緊縮”,總是讓“空表目”欄集中在表格的后部。(3)采用最先適應(yīng)算法(順序分配算法)分配主存空間。按照作業(yè)的需要量,查空閑區(qū)說明表,順序查看登記欄,找到第一個(gè)能滿足要求的空閑區(qū)。當(dāng)空閑區(qū)大于需要量時(shí),一部分用來裝入作業(yè),另一部分仍為空閑區(qū)登記在空閑區(qū)說明表中。由于本實(shí)習(xí)是模擬主存的分配,所以把主存區(qū)分配給作業(yè)后并不實(shí)際啟動(dòng)裝入程序裝入作業(yè),而用輸出“分配情況”來代替。最先適應(yīng)分配算法如圖4-1。(4)當(dāng)一個(gè)作業(yè)執(zhí)行結(jié)束撤離時(shí),作業(yè)所占的區(qū)域應(yīng)該歸還,歸還的區(qū)域如果與其它空閑區(qū)相鄰,則應(yīng)合成一個(gè)較大的空閑區(qū),登記在空閑區(qū)說明表中。例如,在提示(1)中列舉的情況下,如果作業(yè)2撤離,歸還所占主存區(qū)域時(shí),應(yīng)與上、下相鄰的空閑區(qū)一起合成一個(gè)大的空閑區(qū)登記在空閑區(qū)說明表中。歸還主存時(shí)的回收算法如圖4-2。(5)請按最先適應(yīng)算法設(shè)計(jì)主存分配和回收的程序。然后按(1)中假設(shè)主存中已裝入三個(gè)作業(yè),且形成兩個(gè)空閑區(qū),確定空閑區(qū)說明表的初值?,F(xiàn)有一個(gè)需要主存量為6K的作業(yè)4申請裝入主存;然后作業(yè)3撤離;再作業(yè)2撤離。請你為它們進(jìn)行主存分配和回收,把空閑區(qū)說明表的初值以及每次分配或回收后的變化顯示出來或打印出來。第二題:在分頁式管理方式下采用位示圖來表示主存分配情況,實(shí)現(xiàn)主存空間的分配和回收。[提示]:(1)分頁式存儲(chǔ)器把主存分成大小相等的若干塊,作業(yè)的信息也按塊的大小分頁,作業(yè)裝入主存時(shí)可把作業(yè)的信息按頁分散存放在主存的空閑塊中,為了說明主存中哪些塊已經(jīng)被占用,哪些塊是尚未分配的空閑塊,可用一張位示圖來指出。位示圖可由若干存儲(chǔ)單元來構(gòu)成,其中每一位與一個(gè)物理塊對(duì)應(yīng),用0/1表示對(duì)應(yīng)塊為空閑/已占用。(2)假設(shè)某系統(tǒng)的主存被分成大小相等的64塊,則位示圖可用8個(gè)字節(jié)來構(gòu)成,另用一單元記錄當(dāng)前空閑塊數(shù)。如果已有第0,1,4,5,6,9,11,13,24,31,共10個(gè)主存塊被占用了,那么位示圖情況如下:字位節(jié)數(shù)號(hào)

0

1

2

3

4

5

6

7011001110101010100200000000310000001400000000500000000600000000700000000授課題目:操作系統(tǒng)實(shí)訓(xùn)7授課序號(hào):24授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握進(jìn)程同步。教學(xué)重點(diǎn):掌握進(jìn)程同步。教學(xué)難點(diǎn):用PV操作解決生產(chǎn)者——消費(fèi)者問題。作業(yè)布置:教學(xué)內(nèi)容:實(shí)驗(yàn)四、同步機(jī)構(gòu)

一,實(shí)驗(yàn)內(nèi)容

模擬實(shí)現(xiàn)用同步機(jī)構(gòu)避免并發(fā)進(jìn)程執(zhí)行時(shí)可能出現(xiàn)的與時(shí)間有關(guān)的錯(cuò)誤.

二,實(shí)驗(yàn)?zāi)康?/p>

進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過程,進(jìn)程是并發(fā)執(zhí)行的,也即系統(tǒng)中的多個(gè)進(jìn)程輪流地占用處理器運(yùn)行.

我們把如干個(gè)進(jìn)程都能進(jìn)行訪問和修改地那些變量成為公共變量.由于進(jìn)程是并發(fā)執(zhí)行的,所以,如果對(duì)進(jìn)程訪問公共變量不加限制,那么就會(huì)產(chǎn)生"與時(shí)間有關(guān)"的錯(cuò)誤,即進(jìn)程執(zhí)行后,所得到的結(jié)果與訪問公共變量的時(shí)間有關(guān).為了防止這類錯(cuò)誤,系統(tǒng)必須要用同步機(jī)構(gòu)來控制進(jìn)程對(duì)公共變量的訪問.一般說,同步機(jī)構(gòu)是由若干條原語——同步原語——所組成.本實(shí)驗(yàn)要求學(xué)生模擬PV操作同步機(jī)構(gòu)的實(shí)現(xiàn),模擬進(jìn)程的并發(fā)執(zhí)行,了解進(jìn)程并發(fā)執(zhí)行時(shí)同步機(jī)構(gòu)的作用.

三,實(shí)驗(yàn)題目

模擬PV操作同步機(jī)構(gòu),且用PV操作解決生產(chǎn)者——消費(fèi)者問題.

[提示]:

(1)PV操作同步機(jī)構(gòu),由P操作原語和V操作原語組成,它們的定義如下:

P操作原語P(s):將信號(hào)量s減去1,若結(jié)果小于0,則執(zhí)行原語的進(jìn)程被置成等待信號(hào)量s的狀態(tài).

V操作原語V(s):將信號(hào)量s加1,若結(jié)果不大于0,則釋放一個(gè)等待信號(hào)量s的進(jìn)程.

這兩條原語是如下的兩個(gè)過程:

procedurep(vars:semaphore);

begins:=s-1;

ifs<0thenW(s)

end{p}

procedurev(vars:semaphore);

begins:=s+1;

ifs<=0thenR(s)

end{V}

其中W(s)表示將調(diào)用過程的進(jìn)程置為等待信號(hào)量s的狀態(tài);R(s)表示釋放一個(gè)等待信號(hào)量s的進(jìn)程.

在系統(tǒng)初始化時(shí)應(yīng)把semaphore定義為某個(gè)類型,為簡單起見,在模擬實(shí)驗(yàn)中可把上述的semaphore直接改成integer.

(2)生產(chǎn)者——消費(fèi)者問題.

假定有一個(gè)生產(chǎn)者和消費(fèi)者,生產(chǎn)者每次生產(chǎn)一件產(chǎn)品,并把生產(chǎn)的產(chǎn)品存入共享緩沖器以供消費(fèi)者取走使用.消費(fèi)者每次從緩沖器內(nèi)取出一件產(chǎn)品去消費(fèi).禁止生產(chǎn)者將產(chǎn)品放入已滿的緩沖器內(nèi),禁止消費(fèi)者從空緩沖器內(nèi)取產(chǎn)品.假定緩沖器內(nèi)可同時(shí)存放10件產(chǎn)品.那么,用PV操作來實(shí)現(xiàn)生產(chǎn)者和消費(fèi)者之間的同步,生產(chǎn)者和消費(fèi)者兩個(gè)進(jìn)程的程序如下:

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是預(yù)先定義的兩個(gè)類型,在模擬實(shí)現(xiàn)中semaphore用integer或char等代替.

授課題目:操作系統(tǒng)實(shí)訓(xùn)8授課序號(hào):26授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生掌握作業(yè)調(diào)度。教學(xué)重點(diǎn):模擬批處理多道操作系統(tǒng)的作業(yè)調(diào)度。教學(xué)難點(diǎn):模擬批處理多道操作系統(tǒng)的作業(yè)調(diào)度。作業(yè)布置:教學(xué)內(nèi)容:實(shí)習(xí)五作業(yè)調(diào)度一、實(shí)習(xí)內(nèi)容模擬批處理多道操作系統(tǒng)的作業(yè)調(diào)度。二、實(shí)習(xí)目的每個(gè)用戶請求計(jì)算機(jī)計(jì)算的一個(gè)計(jì)算任務(wù)叫做一個(gè)作業(yè)。一個(gè)作業(yè)從輸入初始數(shù)據(jù)到得到計(jì)算結(jié)果,要經(jīng)過若干個(gè)步驟的相繼執(zhí)行。例如,編輯、編譯、運(yùn)行等,其中每一個(gè)步驟稱作一個(gè)作業(yè)步。用戶向系統(tǒng)提出作業(yè)加工步驟的方式稱作業(yè)控制方式,作業(yè)控制方式有兩種:終端控制方式(又稱直接控制方式或聯(lián)機(jī)控制方式)和批處理控制方式(又稱自動(dòng)控制方式或脫機(jī)控制方式)。在批處理控制方式下,用戶采用系統(tǒng)提供的作業(yè)控制語言(JCL)寫好作業(yè)說明書,說明作業(yè)加工的步驟。操作員把一批作業(yè)組織成輸入流,通過“預(yù)輸入”手段使每個(gè)作業(yè)的信息(包括作業(yè)說明書、源程序、初始數(shù)據(jù)等)暫存在輔助存儲(chǔ)器的“輸入井”中。批處理多道操作系統(tǒng)的作業(yè)管理有兩個(gè)任務(wù):作業(yè)調(diào)度和作業(yè)控制。采用多道程序設(shè)計(jì)方法的操作系統(tǒng),在系統(tǒng)中要經(jīng)常保留多個(gè)運(yùn)行的作業(yè),以提高系統(tǒng)效率。作業(yè)調(diào)度從系統(tǒng)已接納的暫存在輸入井中的一批作業(yè)中挑選出若干個(gè)可運(yùn)行的作業(yè),并為這些被選中的作業(yè)分配所需的系統(tǒng)資源。對(duì)被選中運(yùn)行的作業(yè)必須按照它們各自的作業(yè)說明書規(guī)定的步驟進(jìn)行控制。本實(shí)習(xí)要求學(xué)生模擬作業(yè)調(diào)度的實(shí)現(xiàn),了解作業(yè)調(diào)度在操作系統(tǒng)中的作用。三、實(shí)習(xí)題目采用先來先服務(wù)算法和運(yùn)行時(shí)間最短者優(yōu)先算法模擬設(shè)計(jì)作業(yè)調(diào)度程序。[提示]:(1)作業(yè)調(diào)度程序負(fù)責(zé)從輸入井選擇若干個(gè)作業(yè)進(jìn)入主存,為它們分配必要的資源,當(dāng)它們能夠被進(jìn)程調(diào)度選中時(shí),就可占用處理器運(yùn)行。作業(yè)調(diào)度選擇一個(gè)作業(yè)的必要條件是系統(tǒng)中現(xiàn)有的尚未分配的資源可滿足該作業(yè)的資源要求。但有時(shí)系統(tǒng)中現(xiàn)有的尚未分配的資源既可滿足某個(gè)作業(yè)的要求也可滿足其它一些作業(yè)的要求,那么,作業(yè)調(diào)度必須按一定的算法在這些作業(yè)中作出選擇。先來先服務(wù)算法是按照作業(yè)進(jìn)入輸入井的先后次序來挑選作業(yè),先進(jìn)入輸入井的作業(yè)優(yōu)先被挑選,當(dāng)系統(tǒng)中現(xiàn)有的尚未分配的資源不能滿足先進(jìn)入輸入井的作業(yè)時(shí),那么順序挑選后面的作業(yè)。運(yùn)行時(shí)間最短者優(yōu)先算法總是按作業(yè)要求運(yùn)行的時(shí)間來選擇作業(yè),每次挑選要求運(yùn)行時(shí)間短且資源要求能滿足的作業(yè)先進(jìn)入主存執(zhí)行。(2)為了表示暫存在輸入井中的各個(gè)作業(yè)的情況(作業(yè)信息在輸入井中的位置、作業(yè)的資源要求等),常常采用二級(jí)目錄結(jié)構(gòu):作業(yè)表和預(yù)輸入表。例如:

用戶名作業(yè)名資源要求預(yù)輸入表地址

作業(yè)表

文件名文件屬性文件長度在輸入井中位置

預(yù)輸入表

“預(yù)輸入”程序?yàn)槊總€(gè)作業(yè)在作業(yè)表中占一登記欄,且把作業(yè)信息存放到輸入井中并按文件(源程序文件、數(shù)據(jù)文件等)登記在預(yù)輸入表中?!邦A(yù)輸入”程序工作時(shí)還把作業(yè)控制語句集中,作為作業(yè)說明書文件存放在輸入井并登記在預(yù)輸入表的第一欄中,同時(shí)把用戶在作業(yè)說明書中提出的資源要求登記在作業(yè)表中。本實(shí)習(xí)模擬作業(yè)調(diào)度,所以可不考慮有關(guān)“預(yù)輸入”程序的工作。假定“預(yù)輸入”程序已經(jīng)把一批作業(yè)的信息存放在輸入井了,并為它們建立了如下的作業(yè)表:

用戶名作業(yè)名狀態(tài)運(yùn)行時(shí)間資源要求預(yù)輸入表地址主存磁帶AZYA收容0.3小時(shí)15k2

BZYB收容0.5小時(shí)60k1

CZYC收容0.1小時(shí)50k3

DZYD收容0.4小時(shí)10k2

EZYE收容0.1小時(shí)30k3

其中狀態(tài)分三種:收容狀態(tài)——作業(yè)已在輸入井,但尚未被選中執(zhí)行;執(zhí)行狀態(tài)——作業(yè)被選中,正在執(zhí)行;完成狀態(tài)——作業(yè)執(zhí)行結(jié)束。(3)假定主存中可容納多道作業(yè)同時(shí)執(zhí)行,那么作業(yè)調(diào)度按調(diào)度算法和資源分配情況查作業(yè)表,從中選擇若干作業(yè),對(duì)每個(gè)被選中的作業(yè)創(chuàng)建一個(gè)作業(yè)控制進(jìn)程且使它們處于就緒狀態(tài),同時(shí)把選中作業(yè)的作業(yè)說明書讀入主存。處理器調(diào)度按調(diào)度策略選擇作業(yè)調(diào)度進(jìn)程或作業(yè)控制進(jìn)程輪流占有處理器(處理器調(diào)度參見實(shí)習(xí)二)。作業(yè)控制進(jìn)程按作業(yè)說明書控制作業(yè)執(zhí)行,當(dāng)一個(gè)作業(yè)執(zhí)行結(jié)束后,作業(yè)調(diào)度再從輸入井中選擇一個(gè)作業(yè)進(jìn)入主存,直到輸入井中的作業(yè)都執(zhí)行結(jié)束,通知操作員再預(yù)輸入一批作業(yè)。本實(shí)習(xí)主要模擬作業(yè)調(diào)度,所以對(duì)處理器調(diào)度、作業(yè)控制過程簡化。用輸入隨機(jī)數(shù)模擬處理器調(diào)度,用輸入“用戶名、作業(yè)名”模擬一個(gè)作業(yè)已經(jīng)執(zhí)行結(jié)束。于是,本實(shí)習(xí)的模擬流程可參考圖11-1。(4)假定某系統(tǒng)可供用戶使用的主存空間共100k,并有5臺(tái)磁帶機(jī)。主存分配采用可變分區(qū)分配方式且主存中信息不允許移動(dòng)(參考實(shí)習(xí)四),對(duì)磁帶機(jī)采用靜態(tài)分配策略,主存中可同時(shí)執(zhí)行的作業(yè)限定為兩道,作業(yè)調(diào)度分別采用先來先服務(wù)算法和運(yùn)行時(shí)間最短者優(yōu)先算法,參考圖11-1設(shè)計(jì)模擬作業(yè)調(diào)度的程序。假定作業(yè)表的初值如提示(2),分別在兩種算法控制下運(yùn)行設(shè)計(jì)的程序,依次顯示被選中作業(yè)的用戶名和作業(yè)名。比較兩種作業(yè)調(diào)度算法選擇作業(yè)的次序。在模擬作業(yè)執(zhí)行結(jié)束輸入被撤離作業(yè)的用戶名、作業(yè)名時(shí),應(yīng)根據(jù)已在主存中的作業(yè)需運(yùn)行的時(shí)間來決定撤離的先后次序。四、實(shí)習(xí)報(bào)告(1)實(shí)習(xí)題目。(2)程序所用的數(shù)據(jù)結(jié)構(gòu)及其說明。(3)打印一份源程序且附上注釋。(4)打印程序運(yùn)行前的作業(yè)表,運(yùn)行不同算法的作業(yè)調(diào)度程序,打印每選擇一個(gè)作業(yè)后的作業(yè)表變化情況以及作業(yè)被選中執(zhí)行的次序。授課題目:操作系統(tǒng)實(shí)訓(xùn)9授課序號(hào):28授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生理解文件的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)、存取方式之間的聯(lián)系。教學(xué)重點(diǎn):文件的邏輯結(jié)構(gòu)。教學(xué)難點(diǎn):文件的存儲(chǔ)結(jié)構(gòu)作業(yè)布置:教學(xué)內(nèi)容:實(shí)習(xí)六文件結(jié)構(gòu)一、實(shí)習(xí)內(nèi)容把文件的邏輯結(jié)構(gòu)轉(zhuǎn)換成存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)便于順序存取和直接存取的文件存儲(chǔ)結(jié)構(gòu)。二、實(shí)習(xí)目的文件的結(jié)構(gòu)是指文件中信息的構(gòu)造方式,通常分成邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)兩種。文件的邏輯結(jié)構(gòu)是從用戶的觀點(diǎn)出發(fā),研究用戶概念中的信息組織方式,這時(shí),把文件看成是若干個(gè)邏輯記錄的集合。文件的存儲(chǔ)結(jié)構(gòu)是指文件中的信息在物理存儲(chǔ)介質(zhì)上的存放方法和組織關(guān)系,這時(shí),把文件看成是相關(guān)物理塊的有序集合。用戶是按邏輯結(jié)構(gòu)來生成和使用文件的,而文件系統(tǒng)必須按照存儲(chǔ)設(shè)備的物理特性和用戶對(duì)文件信息的存取方式來管理文件。所以,文件系統(tǒng)一個(gè)主要任務(wù)就是要在文件的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)之間建立一個(gè)映射。本實(shí)習(xí)要求學(xué)生模擬設(shè)計(jì)文件的存儲(chǔ)結(jié)構(gòu),通過實(shí)習(xí)理解文件的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)、存取方式之間的聯(lián)系。三、實(shí)習(xí)題目模擬設(shè)計(jì)MS-DOS操作系統(tǒng)中磁盤文件的存儲(chǔ)結(jié)構(gòu)。[提示]:(1)當(dāng)用戶對(duì)記錄式文件采用順序存以方式時(shí),用戶總是依次地訪問一個(gè)個(gè)邏輯記錄,即當(dāng)訪問了第I個(gè)記錄后,下次總是訪問第i+1個(gè)記錄。所以,當(dāng)用戶采用順序存取方式訪問文件時(shí),只要給出訪問要求(讀或?qū)懀┒鵁o需再指出要訪問的記錄號(hào)。在MS-DOS中FAT的前兩項(xiàng)用來記錄盤的類型。第2項(xiàng)起表示盤的分配和鏈接情況,在上例中第3項(xiàng)為“0表示對(duì)應(yīng)的第3塊空閑。圖7-2還指出了文件A依次存放在第2,4,20,21,45,46塊中,指針為FFF時(shí)表示文件結(jié)束??梢?,MS-DOS的FAT表起了兩個(gè)作用:一是起到位示圖的作用,可從中判別哪些塊被占用,哪些塊是空閑的;二是指出了文件的鏈接情況。(3)假定磁盤存儲(chǔ)空間共有32個(gè)物理塊,模擬設(shè)計(jì)文件定位表FAT。文件定位表可以用一個(gè)一維數(shù)組FAT[031]來定義,其中一個(gè)元素與一個(gè)物理塊對(duì)應(yīng)。當(dāng)FAT[i]=0時(shí),表示第i塊為空閑塊;當(dāng)FAT[i]=FFF時(shí),表示鏈接文件到第i塊結(jié)束;當(dāng)FAT[i]10LFAT[i]1FFF時(shí),其值指示鏈接文件中下一個(gè)物理塊號(hào)。(4)假定磁盤上的每個(gè)物理塊只能存放一個(gè)邏輯記錄,設(shè)計(jì)一個(gè)程序把文件的邏輯結(jié)構(gòu)模擬轉(zhuǎn)換成MS-DOS的鏈接結(jié)構(gòu)。用戶要求保存一個(gè)已經(jīng)在主存中的文件時(shí),給出文件名和文件的邏輯記錄長度及個(gè)數(shù),對(duì)一個(gè)已經(jīng)保存的文件,允許用戶插入新記錄。用鍵盤輸入來模擬用戶的要求,輸入信息為:“存”文件名邏輯記錄長度邏輯記錄個(gè)數(shù)“插入”文件名邏輯記錄號(hào)“插入”要求中的邏輯記錄號(hào)是指在該記錄后插入一個(gè)新記錄。模擬程序的算法如圖7-3。在設(shè)計(jì)的模擬程序中可不執(zhí)行“邏輯記錄存入物理塊”的工作,而用顯示文件目錄表和FAT來代替。(5)可假設(shè)系統(tǒng)中已經(jīng)有兩個(gè)鏈接文件,其鏈接情況由FAT表指出(鏈接情況學(xué)生自定),現(xiàn)又要保存一個(gè)新文件,然后對(duì)已保存的文件插入一個(gè)新記錄。運(yùn)行你所設(shè)計(jì)的程序,觀察其結(jié)果。授課題目:操作系統(tǒng)實(shí)訓(xùn)10授課序號(hào):30授課班級(jí):司法信息2003級(jí)教學(xué)方法:講授,實(shí)訓(xùn)課時(shí):2學(xué)時(shí)教學(xué)目的:通過這一章的學(xué)習(xí),使學(xué)生理解中斷處理教學(xué)重點(diǎn):中斷處理。教學(xué)難點(diǎn):模擬中斷事件的處理作業(yè)布置:教學(xué)內(nèi)容:實(shí)習(xí)七中斷處理一、實(shí)習(xí)內(nèi)容模擬中斷事件的處理。二、實(shí)習(xí)目的現(xiàn)代計(jì)算機(jī)系統(tǒng)的硬件部分都設(shè)有中斷機(jī)構(gòu),它是實(shí)現(xiàn)多道程序設(shè)計(jì)的基礎(chǔ)。中斷機(jī)構(gòu)能發(fā)現(xiàn)中斷事件,且當(dāng)發(fā)現(xiàn)中斷事件后迫使正在處理器上執(zhí)行的進(jìn)程暫時(shí)停止執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占有處理器去處理出現(xiàn)的中斷事件。對(duì)不同的中斷事件,由于它們的性質(zhì)不同,所以操作系統(tǒng)應(yīng)采用不同的處理。通過實(shí)習(xí)了解中斷及中斷處理程序的作用。本實(shí)習(xí)模擬“時(shí)鐘中斷事件”的處理,對(duì)其它中斷事件的模擬處理,可根據(jù)各中斷事件的性質(zhì)確定處理原則,制定算法,然后依照本實(shí)習(xí),自行設(shè)計(jì)。三、實(shí)習(xí)題目模擬時(shí)鐘中斷的產(chǎn)生及設(shè)計(jì)一個(gè)對(duì)時(shí)鐘中斷事件進(jìn)行處理的模擬程序。[提示]:(1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論