《操作系統(tǒng)》實驗指導(dǎo)手冊_第1頁
《操作系統(tǒng)》實驗指導(dǎo)手冊_第2頁
《操作系統(tǒng)》實驗指導(dǎo)手冊_第3頁
《操作系統(tǒng)》實驗指導(dǎo)手冊_第4頁
《操作系統(tǒng)》實驗指導(dǎo)手冊_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)實驗指導(dǎo)書成都理工大學(xué)工程技術(shù)學(xué)院 計算機科學(xué)與技術(shù)系2012.3目 錄實驗一 熟悉Windows2000/XP中的進(jìn)程和線程實驗二 編程實現(xiàn)進(jìn)程的控制實驗三 Windows中的線程與線程同步現(xiàn)象實驗四 操作系統(tǒng)中的經(jīng)典線程同步問題實驗五 死鎖避免銀行家算法的實現(xiàn)實驗六 Windows內(nèi)存管理實驗七 分頁內(nèi)存管理算法模擬實驗八 頁面置換算法的模擬實現(xiàn)實驗九 磁盤調(diào)度中的電梯調(diào)度算法實現(xiàn)實驗十 Windows中的消息機制實驗一 熟悉Windows2000/XP中的進(jìn)程和線程一、實驗?zāi)康?、熟悉Windows2000/XP中任務(wù)管理器的使用。2、通過任務(wù)管理器識別操作系統(tǒng)中的進(jìn)程和線程的相

2、關(guān)信息。 3、掌握利用spy+.exe來察看Windows中各個任務(wù)的更詳細(xì)信息。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、實驗理論基礎(chǔ):(1) 操作系統(tǒng)中的進(jìn)程和線程的概念;(2) 進(jìn)程PCB的各項指標(biāo)含意;2、本實驗內(nèi)容主要對應(yīng)于教材第2章。三、實驗內(nèi)容與步驟1、 啟動操作系統(tǒng)自帶的任務(wù)管理器:方法:直接按組合鍵Ctrl+Alt+Del,或者是在點擊任務(wù)條上的“開始”“運行”,并輸入“taskmgr.exe”。如下圖所示:2、 調(diào)整任務(wù)管理器的“查看”中的相關(guān)設(shè)置,顯示關(guān)于進(jìn)程的以下各項信息,并完成下表(填滿即可):表一:統(tǒng)計進(jìn)程的各項主要信息序號進(jìn)程名稱進(jìn)程ID線程數(shù)量占用內(nèi)存優(yōu)先級占CPU時間

3、虛擬內(nèi)存1FrzState2k.exe402816052k標(biāo)準(zhǔn)0:00:007640k2alg.exe384063652k標(biāo)準(zhǔn)0:00:001252k3Svchost.exe348013524k標(biāo)準(zhǔn)0:00:001324k4Student.exe31561432908k標(biāo)準(zhǔn)0:00:1524500k5WINWORD.EXE3100858672k標(biāo)準(zhǔn)0:00:1437056k6taskmgr.exe307235756k高0:00:022036k7Conime.exe297612784k標(biāo)準(zhǔn)0:00:001008k8UpdateSvxClt.exe281635012k標(biāo)準(zhǔn)0:00:001736k3

4、、 從桌面啟動辦公軟件“Word”,在任務(wù)管理器中找到該軟件的登記,并將其結(jié)束掉。再從任務(wù)管理器中分別找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,試著結(jié)束它們,觀察到的反應(yīng)是 ,原因是 。4、 在任務(wù)管理器中找到進(jìn)程“explorer.exe”,將之結(jié)束掉,并將桌面上你打開的所有窗口最小化,看看你的計算機系統(tǒng)起來什么樣的變化 、得到的結(jié)論是 (說出explorer.exe進(jìn)程的作用)。5、運行“spy+.exe”應(yīng)用軟件,點擊按鈕“”,切換到進(jìn)程顯示欄上,查看進(jìn)程“explorer.exe”的各項信息,并填寫下表:表二:統(tǒng)計線程的各項信息進(jìn)

5、程:explorer.exe 中的各個線程序號進(jìn)程ID線程ID基本優(yōu)先級當(dāng)前優(yōu)先級CPU時間上下文開關(guān)10000000000000000001:54:59.828370710720000000000000000002:08:05.906418324330000000400000008000:00:25.5938352354000000040000001013130:00:01.437 4970065000000040000001413130:00:01.2964706716000000040000001813130:00:00.296772367000000040000001c13130:00

6、:00.00014398000000040000002013130:00:01.8435647249000000040000002412120:00:00.000610000000040000002812120:00:00.2966241111000000040000002c12130:00:00.7039248312000000040000003012120:00:00.54615243913000000040000003412130:00:00.03155914000000040000003812130:00:00.625652746、注意某些線程前有“”,如圖所示:,說明二者之間的差異是

7、 。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗二 編程實現(xiàn)進(jìn)程的控制一、實驗?zāi)康?、進(jìn)一步掌握進(jìn)程的相關(guān)概念2、掌握Windows2000/XP有關(guān)進(jìn)程操作的API函數(shù)的使用。3、了解進(jìn)程的地址空間的含義。二、實驗理論基礎(chǔ)及教材對

8、應(yīng)關(guān)系1、實驗理論基礎(chǔ):(1)操作系統(tǒng)中的進(jìn)程和線程的概念;(2)進(jìn)程的各種控制;2、本實驗內(nèi)容主要對應(yīng)于教材第2章和第3章的內(nèi)容。三、實驗內(nèi)容與步驟1、啟動應(yīng)用程序“Process Information.exe”,應(yīng)出現(xiàn)下面的界面:2、依次改變上圖中“下拉組合框”的選項,讀出界面中顯示的各項信息,并完成下表(填滿即可):(統(tǒng)計中要包含winlogon.exe、lsass.exe、csrss.exe、smss.exe等應(yīng)用程序)表一:統(tǒng)計進(jìn)程的一些信息序號進(jìn)程名稱進(jìn)程ID父進(jìn)程ID優(yōu)先級線程數(shù)Heaps數(shù)量模塊數(shù)量123456783、從上表中觀察“進(jìn)程ID”和“父進(jìn)程ID”兩欄,總結(jié)并畫出下

9、列程序間的親緣關(guān)系:winlogon.exe、lsass.exe、csrss.exe、smss.exe。4、打開“ProcessInfo”工程文件,打開文件“ProcessInfo.cpp”,找到函數(shù):CreateProcess()的使用方法。按下列步驟建立一個工程項目,將記事本應(yīng)用程序運行起來,即創(chuàng)建了一個新的進(jìn)程。步驟1、創(chuàng)建一個基于MFC的應(yīng)用程序。步驟2、在應(yīng)用程序類型中選取“基于對話框”的選項。步驟3、直接點擊完成,系統(tǒng)將為你創(chuàng)建一個工程項目。步驟4、然后在“資源視圖”中,打開對話框“IDD_MY_DIALOG”,將出現(xiàn)以下對話框:步驟5、打開界面上的“工具箱”,放置一個“按鈕”,如

10、下圖:步驟6、雙擊上面的“Button1”按鈕,切換到代碼的編寫處:輸入以下語句:步驟7、編譯并運行此工程項目,看看運行的結(jié)果。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗三 Windows中的線程與線程同步現(xiàn)象一、實驗?zāi)康?、掌握

11、Windows中線程的操作。2、熟悉線程不同步時的現(xiàn)象及環(huán)境因素。3、掌握一種同步對象的使用。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、線程和線程不同步的認(rèn)識。2、線程間的同步和通信。3、本實驗內(nèi)容主要對應(yīng)于教材第2章中關(guān)于線程的各節(jié)。三、實驗內(nèi)容與步驟1、定義全局變量 int i = 0; 初始值置為 0。2、創(chuàng)建兩個線程,一個對 i 執(zhí)行加 1 操作,另一個對 i 執(zhí)行減 1 操作。兩個線程執(zhí)行相同的次數(shù)。顯然,正常情況下,i 的仍然保持為 0。#include <stdio.h>#include <windows.h>#define MaxCount 9000000 /

12、循環(huán)次數(shù)要很大,可多次嘗試一些值DWORD _stdcall fun1( LPVOID p1)for( int j =0 ;j < MaxCount;j+)i+;return 0;DWORD _stdcall fun2( LPVOID p1)for( int j =0 ;j < MaxCount;j+)i-;return 0;3、觀察兩個線程執(zhí)行后的情況,可以發(fā)覺最后 i 的值不一定是 0, 有時是很大的正數(shù),有時是很大的負(fù)數(shù),這就是多個線程在操作同一個變量 i時,未同步時帶來的嚴(yán)重問題。 還應(yīng)該了解,在多個線程操作共享的變量時,才需要考慮同步問題。5、 給這兩個線程加上同步代碼,

13、再來觀察對 i 值的影響。步驟2的函數(shù)稍微改動即可:CRITICAL_SECTION cs;DWORD _stdcall fun1( LPVOID p1)for( int j =0 ;j < MaxCount;j+):EnterCriticalSection(&cs);i+;:LeaveCriticalSection(&cs);DWORD _stdcall fun2( LPVOID p1)for( int j =0 ;j < MaxCount;j+):EnterCriticalSection(&cs);i-;:LeaveCriticalSection(&am

14、p;cs);加入的同步代碼的兩個線程,無論如何執(zhí)行,i 的值總是 0 ,結(jié)果是正確的。6、 主函數(shù)的寫法int main()DWORD id1,id2;HANDLE hThread2;:InitializeCriticalSection(&cs);hThread0 = :CreateThread(0,0,fun1,0,0,&id1);hThread1 = :CreateThread(0,0,fun2,0,0,&id2);:WaitForMultipleObjects(2,hThread,1,INFINITE);printf("i = %dn",i);

15、:DeleteCriticalSection(&cs);getchar();return 0;四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗四 操作系統(tǒng)中的經(jīng)典線程同步問題一、實驗?zāi)康?、加深對線程的理解、掌握Windows中

16、線程的操作。2、掌握死鎖產(chǎn)生的原因。3、掌握信號量、互斥量、事件、臨界區(qū)等同步對象的使用。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、進(jìn)程和線程的關(guān)系。2、線程間的同步和通信。3、本實驗內(nèi)容主要對應(yīng)于教材第2章中關(guān)于線程的各節(jié)、第3章中關(guān)于死鎖的各節(jié)。三、實驗內(nèi)容與步驟1、運行實驗程序“Reader_Writer.exe”,出現(xiàn)如下界面:2、交替點擊“創(chuàng)建讀者線程”和“創(chuàng)建寫者線程”按鈕,出現(xiàn)如下界面:3、觀察第二步的實驗現(xiàn)象,多次試驗,可總結(jié)為:(1)、當(dāng)有“讀者”的綠燈亮?xí)r,其余的“讀者”燈的狀態(tài)是 、其余的“寫者”燈的狀態(tài)是 。(2)、當(dāng)有“寫者”的綠燈亮?xí)r,其余的“寫者”燈的狀態(tài)是 、其余的“讀

17、者”燈的狀態(tài)是 。這說明“讀者”間的關(guān)系是 、“讀者”之間的關(guān)系是 、“讀者寫者”之間的關(guān)系是 。(填相容、互斥)4、打開工程文件“Reader_Writer”,查找下列函數(shù)的用法:(1) AfxBeginThread();創(chuàng)建線程。ResumeThread();讓線程恢復(fù)運行。(2) CreateMutex();創(chuàng)建互斥量。ReleaseMutex();刪除互斥量。(3) CreateSemaphore();創(chuàng)建信號量。ReleaseSemaphore()刪除信號量。(4) WaitForSingleObject();等待同步對象。(5) CloseHandle();關(guān)閉內(nèi)核對象的句柄。5、

18、運行“Dining.exe”應(yīng)用程序,觀察線程間“死鎖”時的狀態(tài)。6、創(chuàng)建一個“Console”應(yīng)用程序,在main()函數(shù)中創(chuàng)建4個線程,線程的工作就是向屏幕輸出幾個字符后,就自己結(jié)束掉。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實

19、驗五 死鎖避免銀行家算法的實現(xiàn)一、實驗?zāi)康?、掌握死鎖產(chǎn)生的原因和必要條件。2、掌握銀行家算法的實現(xiàn)二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、處理機調(diào)度與死鎖。2、死鎖的產(chǎn)生與預(yù)防。3、銀行家算法。三、實驗內(nèi)容與步驟1、創(chuàng)建C語言工程項目,按照教材上的有關(guān)說明,定義相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。 int AllocMatrix54 / 已經(jīng)分配資源矩陣 int RequestMatrix54 / 需求矩陣 int AvailResource4 / 可用資源向量 int TryProcess5 / 嘗試序列2、給各個數(shù)據(jù)結(jié)構(gòu)設(shè)定合適的初始值。 按照教材課后習(xí)題22的內(nèi)容給上述數(shù)據(jù)結(jié)構(gòu)設(shè)定初始值。 如:int Allo

20、cMatrix54=/ 已經(jīng)分配資源矩陣0,0,3,2,1,0,0,0,1,3,5,4,0,3,3,2,0,0,1,4; 注意:步驟1、2可同時進(jìn)行,即利用C語言中的定義變量就可同時初始化的方式進(jìn)行數(shù)值初設(shè)。 3、依據(jù)銀行家算法的描述依次進(jìn)行資源的試探性分配,直至成功或失敗,成功則說明當(dāng)前狀態(tài)是安全的;失敗后,還應(yīng)該將資源回到初始狀態(tài),并進(jìn)行另一次試探;只有所有的試探都失敗了,才能說明當(dāng)前狀態(tài)是不安全的。 通常,這種試探性算法采用遞歸的方法是很合適的,程序也是很簡潔的。 代碼片段: if( AvailResource0 >= RequestMatrixk0&& Avail

21、Resource1 >= RequestMatrixk1&& AvailResource2 >= RequestMatrixk2&& AvailResource3 >= RequestMatrixk3)/若資源能使進(jìn)程ProcessID結(jié)束 for(int i=0;i<4;i+)AvailResourcei -= AllocMatrixki;/ 恢復(fù)資源 int SearchSecurity(int level) /遞歸函數(shù) if(level = 4)elseSearchSecurity(level+1); / 有條件遞歸調(diào)用自己 其余由

22、大家自行完成。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗六 Windows內(nèi)存管理一、實驗?zāi)康?、熟悉程序的運行時動態(tài)鏈接。2、熟悉Windows中內(nèi)存的分頁管理方式。 3、了解虛擬內(nèi)存的用法,熟悉Windows中相應(yīng)的API函數(shù)

23、。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、應(yīng)用程序的動態(tài)鏈接。2、內(nèi)存的分頁管理、虛擬內(nèi)存的技術(shù)。3、本實驗內(nèi)容主要對應(yīng)于教材第4章。三、實驗內(nèi)容與步驟1、運行“SystemInfo.exe”應(yīng)用程序,出現(xiàn)如下界面:從該界面上可以看到Windows2000/XP系統(tǒng)中的分頁大?。≒age Size)是:4,096,即4K字節(jié),也可以看到本機所安裝的處理器的個數(shù)是:1個。打開工程文件,熟悉信息獲取函數(shù)的使用:SYSTEM_INFO sinf; GetSystemInfo(&sinf);2、運行“VMSTATE.exe”應(yīng)用程序,出現(xiàn)如下界面:從界面上可以看到,本計算機中所安裝的物理內(nèi)存的大小“

24、TotalPhys”,可用物理內(nèi)存的大小“AvailPhys”。打開源文件,熟悉或者信息函數(shù)的使用:MEMORYSTATUS ms = sizeof(ms) ; GlobalMemoryStatus(&ms);3、運行“VMAlloc.exe”應(yīng)用程序,掌握其用法和功能:打開源文件,熟悉以下操作虛擬存儲空間函數(shù)的使用:VirtualAlloc( )、VirtualQuery( )、VirtualFree( )。4、運行“VMMap.exe”應(yīng)用程序,了解程序的功能,讀懂其顯示的每一行信息的含義:從上面顯示的信息中,談?wù)勛约簩μ摂M儲存空間的認(rèn)識(100字以內(nèi))。 四、實驗材料的提交與成績

25、評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗七 分頁內(nèi)存管理算法模擬一、實驗?zāi)康?、熟悉基本分頁存儲管理。2、建立描述分頁內(nèi)存管理中的頁目錄表、頁表結(jié)構(gòu)。 3、實現(xiàn)進(jìn)行虛擬內(nèi)存到物理內(nèi)存的映射算法。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、操作系統(tǒng)中內(nèi)存管理。2、

26、基本分頁內(nèi)存、分段內(nèi)存管理。3、頁目錄表、頁表的作用,以及虛擬地址到物理地址的映射關(guān)系。三、實驗內(nèi)容與步驟題目:分頁存儲管理的設(shè)計與實現(xiàn)。某系統(tǒng)采用了兩級頁表機制,可使頁表所占用內(nèi)存盡量少,分頁地址變換機構(gòu)如下圖所示:分頁地址變換機構(gòu)頁目錄表共1024項,每個頁表1024項,每頁的大小是4K個字節(jié)。地址轉(zhuǎn)換時,先由分段部件生成線性地址,再由上面所述的分頁部件,根據(jù)線性地址中的頁目錄索引在頁目錄表中找相應(yīng)的項,該項值為所需頁表在內(nèi)存的塊號,找到該頁表后,然后按第2112位的頁表索引找到所需頁的物理內(nèi)存起始地址,把它與12位偏移直接相加得到32位的物理地址。設(shè)系統(tǒng)有如表1中所示的10個段,已知:1

27、8段從內(nèi)存的200000H處開始由低地址到高地址連續(xù)存放,映射到3G4M開始的線性地址空間;9段(緩沖區(qū))放在400000H開始的內(nèi)存,映射的線性地址同物理地址;顯存從B8000H開始,映射到3G開始的線性地址空間。表1(1)、請設(shè)計并填寫頁目錄表和頁表(需說明每張表的內(nèi)存地址)(2)、線性地址為:C0401010H、C0404010H、C0414010H,則物理地址是多少,所在段的段名是什么?(需寫出計算的詳細(xì)步驟)實驗步驟:1、定義頁目錄表、頁表的數(shù)據(jù)結(jié)構(gòu),以及必要的數(shù)據(jù)。#define Page_Size 4096/ 頁面大小#define Pages26/ 本題定義的總的頁面?zhèn)€數(shù)#de

28、fine FirstLinearAddr 0xC0000000+0x400000/ 線性地址3G + 4M#define SecondLinearAddr 0x400000/ 線性地址0x400000#define ThirdLinearAddr 0xC0000000/ 線性地址3G#define IDT 0#define TSS 1#define GDT 2#define PDT 3/ 頁目錄表的下標(biāo)#define PT1 4/ 第1 個頁表的下標(biāo)#define PT2 5/ 第2 個頁表的下標(biāo)#define PT3 6/ 第3 個頁表的下標(biāo)#define PT4 7/ 第4 個頁表的下標(biāo)/

29、 .省略其它頁表#define CODE20#define STACK21#define DATA22#define BUFFER23#define DISPLAYMEM 242、初始化頁目錄表、頁表中的數(shù)據(jù)p = (unsigned int *)PysicalMemAddrPDT;/ p 指向頁目錄表pFirstLinearAddr>>22 = (unsigned int)PysicalMemAddrPT1;/ 將第1 個頁表的地址填入頁目錄表中p = (unsigned int *)PysicalMemAddrPT1;/ p 指向第1 個頁表p(FirstLinearAddr+

30、4096*IDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrIDT;/ 將 IDT 頁的起始地址填入頁表p(FirstLinearAddr+4096*TSS)>>12 & 0x3FF = (unsigned int)PysicalMemAddrTSS;/ 將 TSS 頁的起始地址填入頁表p(FirstLinearAddr+4096*GDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrGDT;/ 將 GDT 頁的起始地址填入頁表p(FirstLinea

31、rAddr+4096*PDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPDT;/ 將 PDT 頁的起始地址填入頁表p(FirstLinearAddr+4096*PT1)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT1;/ 將 PT1 頁的起始地址填入頁表p(FirstLinearAddr+4096*PT2)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT2;/ 將 PT2 頁的起始地址填入頁表p(Firs

32、tLinearAddr+4096*PT3)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT3;/ 將 PT3 頁的起始地址填入頁表p(FirstLinearAddr+4096*PT4)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT4;/ 將 PT4 頁的起始地址填入頁表3、虛擬地址到物理地址的變換linear = 0xC0401010;p = (unsigned int *)PysicalMemAddrPDT;/ p 指向頁目錄表pTable = (unsigned i

33、nt *)plinear>>22;/ pTable 指向頁表pChar = (char *)pTablelinear>>12 & 0x3FF;/ pChar 指向物理內(nèi)存printf("Linear: 0x%X is in %sn",linear,pChar);自行變換線性地址:C0404010H、C0414010H四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單

34、位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗八 頁面置換算法的模擬實現(xiàn)一、實驗?zāi)康?、熟悉基本分頁存儲管理。2、掌握FIFO頁面置換算法。 3、掌握LRU頁面置換算法。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、操作系統(tǒng)中內(nèi)存管理。2、基本分頁內(nèi)存、分段內(nèi)存管理。3、常用頁面置換算法的實現(xiàn)。三、實驗內(nèi)容與步驟1、定義相關(guān)數(shù)據(jù)#define InitPysiBlocks 4#define MaxPages 16:unsigned int PysicalBlocksIni

35、tPysiBlocks = 0 ;unsigned int PageSequence30 = 1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1;2、按照教材中FIFO、LRU算法描述進(jìn)行算法設(shè)計unsigned FIFO(unsigned *py,unsigned *pg)unsigned LRU(unsigned *py,unsigned *pg)3、查看運行結(jié)果是否與手工計算一致。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實

36、驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)束后實驗平均成績(實驗總成績/實驗次數(shù))按照10的比例記入期末考試總成績。實驗九 磁盤調(diào)度中的電梯調(diào)度算法實現(xiàn)一、實驗?zāi)康?、掌握操作系統(tǒng)中I/O管理。2、理解磁盤的工作原理與各種調(diào)用算法。 3、掌握SCAN(電梯調(diào)度)算法的實現(xiàn)。二、實驗理論基礎(chǔ)及教材對應(yīng)關(guān)系1、操作系統(tǒng)中IO管理。2、操作系統(tǒng)的磁盤調(diào)度算法。三、實驗內(nèi)容與步驟1、參照教材第5章第6節(jié)的相關(guān)描述和圖5-27的具體數(shù)據(jù),進(jìn)行算法設(shè)計并驗證是否與手工計算相一致。 其余步驟前述實驗(略)。四、實驗材料的提交與成績評定1、本實驗的實驗報告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實驗報告)2、實驗源程序一份,請表明題號(電子版)備注:做下一次實驗之時提交上一次實驗的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實驗成績總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實驗表現(xiàn)和實驗材料進(jìn)行評定,本門課程結(jié)

溫馨提示

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

最新文檔

評論

0/150

提交評論