版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書淮陰工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院2014.9目 錄實(shí)驗(yàn)一 熟悉Windows2000/XP中的進(jìn)程和線程實(shí)驗(yàn)二 編程實(shí)現(xiàn)進(jìn)程的控制實(shí)驗(yàn)三 Windows中的線程與線程同步現(xiàn)象實(shí)驗(yàn)四 操作系統(tǒng)中的經(jīng)典線程同步問(wèn)題實(shí)驗(yàn)五 死鎖避免銀行家算法的實(shí)現(xiàn)實(shí)驗(yàn)六 Windows內(nèi)存管理實(shí)驗(yàn)七 分頁(yè)內(nèi)存管理算法模擬實(shí)驗(yàn)八 頁(yè)面置換算法的模擬實(shí)現(xiàn)實(shí)驗(yàn)九 磁盤調(diào)度中的電梯調(diào)度算法實(shí)現(xiàn)實(shí)驗(yàn)十 Windows中的消息機(jī)制實(shí)驗(yàn)一 熟悉Windows2000/XP中的進(jìn)程和線程一、實(shí)驗(yàn)?zāi)康?、熟悉Windows2000/XP中任務(wù)管理器的使用。2、通過(guò)任務(wù)管理器識(shí)別操作系統(tǒng)中的進(jìn)程和線程的相關(guān)信息。 3
2、、掌握利用spy+.exe來(lái)察看Windows中各個(gè)任務(wù)的更詳細(xì)信息。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、實(shí)驗(yàn)理論基礎(chǔ):(1) 操作系統(tǒng)中的進(jìn)程和線程的概念;(2) 進(jìn)程PCB的各項(xiàng)指標(biāo)含意;2、本實(shí)驗(yàn)內(nèi)容主要對(duì)應(yīng)于教材第2章。三、實(shí)驗(yàn)內(nèi)容與步驟1、 啟動(dòng)操作系統(tǒng)自帶的任務(wù)管理器:方法:直接按組合鍵Ctrl+Alt+Del,或者是在點(diǎn)擊任務(wù)條上的“開(kāi)始”“運(yùn)行”,并輸入“taskmgr.exe”。如下圖所示:2、 調(diào)整任務(wù)管理器的“查看”中的相關(guān)設(shè)置,顯示關(guān)于進(jìn)程的以下各項(xiàng)信息,并完成下表(填滿即可):表一:統(tǒng)計(jì)進(jìn)程的各項(xiàng)主要信息序號(hào)進(jìn)程名稱進(jìn)程ID線程數(shù)量占用內(nèi)存優(yōu)先級(jí)占CPU時(shí)間虛擬內(nèi)存1A
3、crobat.exe3744685064k標(biāo)準(zhǔn)0:00:0099828k2WINWORD.EXE3272847180K標(biāo)準(zhǔn)0:00:2481224k3Taskmgr.exe263635348k高0:00:022136k4Csrss.exe756128856k高0:00:022164k5Vmount2.exe103235756k標(biāo)準(zhǔn)0:00:003504k6MATLAB.exe3281356772k標(biāo)準(zhǔn)0:00:0166580k7Sqlservr.exe284261128k標(biāo)準(zhǔn)0:00:0053308k8System483300k標(biāo)準(zhǔn)0:00:0428k3、 從桌面啟動(dòng)辦公軟件“Word”,在任
4、務(wù)管理器中找到該軟件的登記,并將其結(jié)束掉。再?gòu)娜蝿?wù)管理器中分別找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,試著結(jié)束它們,觀察到的反應(yīng)是 任務(wù)管理器無(wú)法結(jié)束進(jìn)程 ,原因是 該進(jìn)程是關(guān)鍵系統(tǒng)進(jìn)程 。4、 在任務(wù)管理器中找到進(jìn)程“explorer.exe”,將之結(jié)束掉,并將桌面上你打開(kāi)的所有窗口最小化,看看你的計(jì)算機(jī)系統(tǒng)起來(lái)什么樣的變化 桌面上的圖標(biāo)都不見(jiàn)了,Windows圖形界面無(wú)法使用,電腦只剩下一張壁紙 、得到的結(jié)論是 explorer.exe進(jìn)程用于管理Windows的圖形界面,包括開(kāi)始菜單、任務(wù)欄、桌面和文件管理,對(duì)系統(tǒng)的穩(wěn)定性有很大幫
5、助。 (說(shuō)出explorer.exe進(jìn)程的作用)。5、運(yùn)行“spy+.exe”應(yīng)用軟件,點(diǎn)擊按鈕“”,切換到進(jìn)程顯示欄上,查看進(jìn)程“explorer.exe”的各項(xiàng)信息,并填寫下表:表二:統(tǒng)計(jì)線程的各項(xiàng)信息進(jìn)程:explorer.exe 中的各個(gè)線程序號(hào)進(jìn)程ID線程ID基本優(yōu)先級(jí)當(dāng)前優(yōu)先級(jí)CPU時(shí)間上下文開(kāi)關(guān)1000006E8000006EC8100:00:00.43796642000006E8000006F48100:00:00.0001213000006E80000006FC9130:00:01.3281087954000006E8000007008100:00:00.0008500000
6、6E8000007088100:00:00.000186000006E8000007148100:00:00.00011507000006E8000007C48100:00:00.07871138000006E8000007D015150:00:00.000129000006E8000008E88110:00:00.156387610000006E800000AC48100:00:00.0006211000006E800000D648100:00:00.000431213146、注意某些線程前有“”,如圖所示:,說(shuō)明二者之間的差異是 有無(wú)子進(jìn)程,“+”表示有子進(jìn)程 。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)
7、定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)二 編程實(shí)現(xiàn)進(jìn)程的控制一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步掌握進(jìn)程的相關(guān)概念2、掌握Windows2000/XP有關(guān)進(jìn)程操作的API函數(shù)的使用。3、了解進(jìn)程的地址空間的含義。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、實(shí)驗(yàn)理論基礎(chǔ):(1)
8、操作系統(tǒng)中的進(jìn)程和線程的概念;(2)進(jìn)程的各種控制;2、本實(shí)驗(yàn)內(nèi)容主要對(duì)應(yīng)于教材第2章和第3章的內(nèi)容。三、實(shí)驗(yàn)內(nèi)容與步驟1、啟動(dòng)應(yīng)用程序“Process Information.exe”,應(yīng)出現(xiàn)下面的界面:2、依次改變上圖中“下拉組合框”的選項(xiàng),讀出界面中顯示的各項(xiàng)信息,并完成下表(填滿即可):(統(tǒng)計(jì)中要包含winlogon.exe、lsass.exe、csrss.exe、smss.exe等應(yīng)用程序)表一:統(tǒng)計(jì)進(jìn)程的一些信息序號(hào)進(jìn)程名稱進(jìn)程ID父進(jìn)程ID優(yōu)先級(jí)線程數(shù)Heaps數(shù)量模塊數(shù)量1winlogon.exe51600000204高32lsass.exe58000000244普通83csr
9、ss.exe428000001AC普通94csrss.exe468000001D4普通125smss.exe27200000110普通26Spoolsv.exe131600000524普通127Devenv.exe59000000170C普通218Lsm.exe5880000024C普通103、從上表中觀察“進(jìn)程ID”和“父進(jìn)程ID”兩欄,總結(jié)并畫出下列程序間的親緣關(guān)系:winlogon.exe、lsass.exe、csrss.exe、smss.exe。4、打開(kāi)“ProcessInfo”工程文件,打開(kāi)文件“ProcessInfo.cpp”,找到函數(shù):CreateProcess()的使用方法。按
10、下列步驟建立一個(gè)工程項(xiàng)目,將記事本應(yīng)用程序運(yùn)行起來(lái),即創(chuàng)建了一個(gè)新的進(jìn)程。步驟1、創(chuàng)建一個(gè)基于MFC的應(yīng)用程序。步驟2、在應(yīng)用程序類型中選取“基于對(duì)話框”的選項(xiàng)。步驟3、直接點(diǎn)擊完成,系統(tǒng)將為你創(chuàng)建一個(gè)工程項(xiàng)目。步驟4、然后在“資源視圖”中,打開(kāi)對(duì)話框“IDD_MY_DIALOG”,將出現(xiàn)以下對(duì)話框:步驟5、打開(kāi)界面上的“工具箱”,放置一個(gè)“按鈕”,如下圖:步驟6、雙擊上面的“Button1”按鈕,切換到代碼的編寫處:輸入以下語(yǔ)句:步驟7、編譯并運(yùn)行此工程項(xiàng)目,看看運(yùn)行的結(jié)果。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)
11、報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)三 Windows中的線程與線程同步現(xiàn)象一、實(shí)驗(yàn)?zāi)康?、掌握Windows中線程的操作。2、熟悉線程不同步時(shí)的現(xiàn)象及環(huán)境因素。3、掌握一種同步對(duì)象的使用。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、線程和線程不同步的認(rèn)識(shí)。2、線程間的同步和通信。3、本實(shí)驗(yàn)內(nèi)容主要對(duì)應(yīng)于教材第2章中關(guān)于線程的各節(jié)。三、實(shí)驗(yàn)內(nèi)容與步驟
12、1、定義全局變量 int i = 0; 初始值置為 0。2、創(chuàng)建兩個(gè)線程,一個(gè)對(duì) i 執(zhí)行加 1 操作,另一個(gè)對(duì) i 執(zhí)行減 1 操作。兩個(gè)線程執(zhí)行相同的次數(shù)。顯然,正常情況下,i 的仍然保持為 0。#include <stdio.h>#include <windows.h>#define MaxCount 9000000 / 循環(huán)次數(shù)要很大,可多次嘗試一些值DWORD _stdcall fun1( LPVOID p1)for( int j =0 ;j < MaxCount;j+)i+;return 0;DWORD _stdcall fun2( LPVOID p1
13、)for( int j =0 ;j < MaxCount;j+)i-;return 0;3、觀察兩個(gè)線程執(zhí)行后的情況,可以發(fā)覺(jué)最后 i 的值不一定是 0, 有時(shí)是很大的正數(shù),有時(shí)是很大的負(fù)數(shù),這就是多個(gè)線程在操作同一個(gè)變量 i時(shí),未同步時(shí)帶來(lái)的嚴(yán)重問(wèn)題。 還應(yīng)該了解,在多個(gè)線程操作共享的變量時(shí),才需要考慮同步問(wèn)題。5、 給這兩個(gè)線程加上同步代碼,再來(lái)觀察對(duì) i 值的影響。步驟2的函數(shù)稍微改動(dòng)即可:CRITICAL_SECTION cs;DWORD _stdcall fun1( LPVOID p1)for( int j =0 ;j < MaxCount;j+):EnterCritic
14、alSection(&cs);i+;:LeaveCriticalSection(&cs);DWORD _stdcall fun2( LPVOID p1)for( int j =0 ;j < MaxCount;j+):EnterCriticalSection(&cs);i-;:LeaveCriticalSection(&cs);加入的同步代碼的兩個(gè)線程,無(wú)論如何執(zhí)行,i 的值總是 0 ,結(jié)果是正確的。6、 主函數(shù)的寫法int main()DWORD id1,id2;HANDLE hThread2;:InitializeCriticalSection(&
15、;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);:DeleteCriticalSection(&cs);getchar();return 0;四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,
16、請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)四 操作系統(tǒng)中的經(jīng)典線程同步問(wèn)題一、實(shí)驗(yàn)?zāi)康?、加深對(duì)線程的理解、掌握Windows中線程的操作。2、掌握死鎖產(chǎn)生的原因。3、掌握信號(hào)量、互斥量、事件、臨界區(qū)等同步對(duì)象的使用。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、進(jìn)程和線程的關(guān)系。2、線程間的同步和通信。3、本實(shí)驗(yàn)內(nèi)容主要對(duì)應(yīng)于教材第2章中關(guān)于線程的各節(jié)、第3章中關(guān)于死鎖的各節(jié)。三、
17、實(shí)驗(yàn)內(nèi)容與步驟1、運(yùn)行實(shí)驗(yàn)程序“Reader_Writer.exe”,出現(xiàn)如下界面:2、交替點(diǎn)擊“創(chuàng)建讀者線程”和“創(chuàng)建寫者線程”按鈕,出現(xiàn)如下界面:3、觀察第二步的實(shí)驗(yàn)現(xiàn)象,多次試驗(yàn),可總結(jié)為:(1)、當(dāng)有“讀者”的綠燈亮?xí)r,其余的“讀者”燈的狀態(tài)是 、其余的“寫者”燈的狀態(tài)是 。(2)、當(dāng)有“寫者”的綠燈亮?xí)r,其余的“寫者”燈的狀態(tài)是 、其余的“讀者”燈的狀態(tài)是 。這說(shuō)明“讀者”間的關(guān)系是 、“讀者”之間的關(guān)系是 、“讀者寫者”之間的關(guān)系是 。(填相容、互斥)4、打開(kāi)工程文件“Reader_Writer”,查找下列函數(shù)的用法:(1) AfxBeginThread();創(chuàng)建線程。Resume
18、Thread();讓線程恢復(fù)運(yùn)行。(2) CreateMutex();創(chuàng)建互斥量。ReleaseMutex();刪除互斥量。(3) CreateSemaphore();創(chuàng)建信號(hào)量。ReleaseSemaphore()刪除信號(hào)量。(4) WaitForSingleObject();等待同步對(duì)象。(5) CloseHandle();關(guān)閉內(nèi)核對(duì)象的句柄。5、運(yùn)行“Dining.exe”應(yīng)用程序,觀察線程間“死鎖”時(shí)的狀態(tài)。6、創(chuàng)建一個(gè)“Console”應(yīng)用程序,在main()函數(shù)中創(chuàng)建4個(gè)線程,線程的工作就是向屏幕輸出幾個(gè)字符后,就自己結(jié)束掉。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電
19、子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)五 死鎖避免銀行家算法的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?、掌握死鎖產(chǎn)生的原因和必要條件。2、掌握銀行家算法的實(shí)現(xiàn)二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、處理機(jī)調(diào)度與死鎖。2、死鎖的產(chǎn)生與預(yù)防。3、銀行家算法。三、實(shí)驗(yàn)內(nèi)容與步驟1、創(chuàng)建C語(yǔ)言工程項(xiàng)目,按照教材上的有
20、關(guān)說(shuō)明,定義相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。 int AllocMatrix54 / 已經(jīng)分配資源矩陣 int RequestMatrix54 / 需求矩陣 int AvailResource4 / 可用資源向量 int TryProcess5 / 嘗試序列2、給各個(gè)數(shù)據(jù)結(jié)構(gòu)設(shè)定合適的初始值。 按照教材課后習(xí)題22的內(nèi)容給上述數(shù)據(jù)結(jié)構(gòu)設(shè)定初始值。 如:int AllocMatrix54=/ 已經(jīng)分配資源矩陣0,0,3,2,1,0,0,0,1,3,5,4,0,3,3,2,0,0,1,4; 注意:步驟1、2可同時(shí)進(jìn)行,即利用C語(yǔ)言中的定義變量就可同時(shí)初始化的方式進(jìn)行數(shù)值初設(shè)。 3、依據(jù)銀行家算法的描述依次進(jìn)行資源
21、的試探性分配,直至成功或失敗,成功則說(shuō)明當(dāng)前狀態(tài)是安全的;失敗后,還應(yīng)該將資源回到初始狀態(tài),并進(jìn)行另一次試探;只有所有的試探都失敗了,才能說(shuō)明當(dāng)前狀態(tài)是不安全的。 通常,這種試探性算法采用遞歸的方法是很合適的,程序也是很簡(jiǎn)潔的。 代碼片段: if( AvailResource0 >= RequestMatrixk0&& AvailResource1 >= RequestMatrixk1&& AvailResource2 >= RequestMatrixk2&& AvailResource3 >= RequestMatrix
22、k3)/若資源能使進(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)用自己 其余由大家自行完成。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位
23、收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)六 Windows內(nèi)存管理一、實(shí)驗(yàn)?zāi)康?、熟悉程序的運(yùn)行時(shí)動(dòng)態(tài)鏈接。2、熟悉Windows中內(nèi)存的分頁(yè)管理方式。 3、了解虛擬內(nèi)存的用法,熟悉Windows中相應(yīng)的API函數(shù)。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、應(yīng)用程序的動(dòng)態(tài)鏈接。2、內(nèi)存的分頁(yè)管理、虛擬內(nèi)存的技術(shù)。3、本實(shí)驗(yàn)內(nèi)容主要對(duì)應(yīng)于教材第4章。三、實(shí)驗(yàn)內(nèi)容與步驟1、運(yùn)行“SystemInfo.exe”應(yīng)用程序,出現(xiàn)如下界面:從該界面上可以看到Windows20
24、00/XP系統(tǒng)中的分頁(yè)大?。≒age Size)是:4,096,即4K字節(jié),也可以看到本機(jī)所安裝的處理器的個(gè)數(shù)是:1個(gè)。打開(kāi)工程文件,熟悉信息獲取函數(shù)的使用:SYSTEM_INFO sinf; GetSystemInfo(&sinf);2、運(yùn)行“VMSTATE.exe”應(yīng)用程序,出現(xiàn)如下界面:從界面上可以看到,本計(jì)算機(jī)中所安裝的物理內(nèi)存的大小“TotalPhys”,可用物理內(nèi)存的大小“AvailPhys”。打開(kāi)源文件,熟悉或者信息函數(shù)的使用:MEMORYSTATUS ms = sizeof(ms) ; GlobalMemoryStatus(&ms);3、運(yùn)行“VMAlloc.e
25、xe”應(yīng)用程序,掌握其用法和功能:打開(kāi)源文件,熟悉以下操作虛擬存儲(chǔ)空間函數(shù)的使用:VirtualAlloc( )、VirtualQuery( )、VirtualFree( )。4、運(yùn)行“VMMap.exe”應(yīng)用程序,了解程序的功能,讀懂其顯示的每一行信息的含義:從上面顯示的信息中,談?wù)勛约簩?duì)虛擬儲(chǔ)存空間的認(rèn)識(shí)(100字以內(nèi))。 四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為
26、10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)七 分頁(yè)內(nèi)存管理算法模擬一、實(shí)驗(yàn)?zāi)康?、熟悉基本分頁(yè)存儲(chǔ)管理。2、建立描述分頁(yè)內(nèi)存管理中的頁(yè)目錄表、頁(yè)表結(jié)構(gòu)。 3、實(shí)現(xiàn)進(jìn)行虛擬內(nèi)存到物理內(nèi)存的映射算法。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、操作系統(tǒng)中內(nèi)存管理。2、基本分頁(yè)內(nèi)存、分段內(nèi)存管理。3、頁(yè)目錄表、頁(yè)表的作用,以及虛擬地址到物理地址的映射關(guān)系。三、實(shí)驗(yàn)內(nèi)容與步驟題目:分頁(yè)存儲(chǔ)管理的設(shè)計(jì)與實(shí)現(xiàn)。某系統(tǒng)采用了兩級(jí)頁(yè)表機(jī)制,可使頁(yè)表所占用內(nèi)存盡量少,分頁(yè)地址變換機(jī)構(gòu)如下圖所示:分頁(yè)地址變換機(jī)構(gòu)頁(yè)目錄表共1
27、024項(xiàng),每個(gè)頁(yè)表1024項(xiàng),每頁(yè)的大小是4K個(gè)字節(jié)。地址轉(zhuǎn)換時(shí),先由分段部件生成線性地址,再由上面所述的分頁(yè)部件,根據(jù)線性地址中的頁(yè)目錄索引在頁(yè)目錄表中找相應(yīng)的項(xiàng),該項(xiàng)值為所需頁(yè)表在內(nèi)存的塊號(hào),找到該頁(yè)表后,然后按第2112位的頁(yè)表索引找到所需頁(yè)的物理內(nèi)存起始地址,把它與12位偏移直接相加得到32位的物理地址。設(shè)系統(tǒng)有如表1中所示的10個(gè)段,已知:18段從內(nèi)存的200000H處開(kāi)始由低地址到高地址連續(xù)存放,映射到3G4M開(kāi)始的線性地址空間;9段(緩沖區(qū))放在400000H開(kāi)始的內(nèi)存,映射的線性地址同物理地址;顯存從B8000H開(kāi)始,映射到3G開(kāi)始的線性地址空間。表1(1)、請(qǐng)?jiān)O(shè)計(jì)并填寫頁(yè)目錄
28、表和頁(yè)表(需說(shuō)明每張表的內(nèi)存地址)(2)、線性地址為:C0401010H、C0404010H、C0414010H,則物理地址是多少,所在段的段名是什么?(需寫出計(jì)算的詳細(xì)步驟)實(shí)驗(yàn)步驟:1、定義頁(yè)目錄表、頁(yè)表的數(shù)據(jù)結(jié)構(gòu),以及必要的數(shù)據(jù)。#define Page_Size 4096/ 頁(yè)面大小#define Pages26/ 本題定義的總的頁(yè)面?zhèn)€數(shù)#define FirstLinearAddr 0xC0000000+0x400000/ 線性地址3G + 4M#define SecondLinearAddr 0x400000/ 線性地址0x400000#define ThirdLinearAddr
29、 0xC0000000/ 線性地址3G#define IDT 0#define TSS 1#define GDT 2#define PDT 3/ 頁(yè)目錄表的下標(biāo)#define PT1 4/ 第1 個(gè)頁(yè)表的下標(biāo)#define PT2 5/ 第2 個(gè)頁(yè)表的下標(biāo)#define PT3 6/ 第3 個(gè)頁(yè)表的下標(biāo)#define PT4 7/ 第4 個(gè)頁(yè)表的下標(biāo)/ .省略其它頁(yè)表#define CODE20#define STACK21#define DATA22#define BUFFER23#define DISPLAYMEM 242、初始化頁(yè)目錄表、頁(yè)表中的數(shù)據(jù)p = (unsigned int *
30、)PysicalMemAddrPDT;/ p 指向頁(yè)目錄表pFirstLinearAddr>>22 = (unsigned int)PysicalMemAddrPT1;/ 將第1 個(gè)頁(yè)表的地址填入頁(yè)目錄表中p = (unsigned int *)PysicalMemAddrPT1;/ p 指向第1 個(gè)頁(yè)表p(FirstLinearAddr+4096*IDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrIDT;/ 將 IDT 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*TSS)>>12 &
31、amp; 0x3FF = (unsigned int)PysicalMemAddrTSS;/ 將 TSS 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*GDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrGDT;/ 將 GDT 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*PDT)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPDT;/ 將 PDT 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*PT1)>&g
32、t;12 & 0x3FF = (unsigned int)PysicalMemAddrPT1;/ 將 PT1 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*PT2)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT2;/ 將 PT2 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*PT3)>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT3;/ 將 PT3 頁(yè)的起始地址填入頁(yè)表p(FirstLinearAddr+4096*PT4)
33、>>12 & 0x3FF = (unsigned int)PysicalMemAddrPT4;/ 將 PT4 頁(yè)的起始地址填入頁(yè)表3、虛擬地址到物理地址的變換linear = 0xC0401010;p = (unsigned int *)PysicalMemAddrPDT;/ p 指向頁(yè)目錄表pTable = (unsigned int *)plinear>>22;/ pTable 指向頁(yè)表pChar = (char *)pTablelinear>>12 & 0x3FF;/ pChar 指向物理內(nèi)存printf("Linear: 0
34、x%X is in %sn",linear,pChar);自行變換線性地址:C0404010H、C0414010H四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)八 頁(yè)面置換算法的模擬實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?、熟悉基本分頁(yè)存儲(chǔ)管理。
35、2、掌握FIFO頁(yè)面置換算法。 3、掌握LRU頁(yè)面置換算法。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、操作系統(tǒng)中內(nèi)存管理。2、基本分頁(yè)內(nèi)存、分段內(nèi)存管理。3、常用頁(yè)面置換算法的實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容與步驟1、定義相關(guān)數(shù)據(jù)#define InitPysiBlocks 4#define MaxPages 16:unsigned int PysicalBlocksInitPysiBlocks = 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è)計(jì)unsigned FIFO(unsig
36、ned *py,unsigned *pg)unsigned LRU(unsigned *py,unsigned *pg)3、查看運(yùn)行結(jié)果是否與手工計(jì)算一致。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)表現(xiàn)和實(shí)驗(yàn)材料進(jìn)行評(píng)定,本門課程結(jié)束后實(shí)驗(yàn)平均成績(jī)(實(shí)驗(yàn)總成績(jī)/實(shí)驗(yàn)次數(shù))按照10的比例記入期末考試總成績(jī)。實(shí)驗(yàn)九 磁盤調(diào)度中的電梯調(diào)度算法實(shí)現(xiàn)
37、一、實(shí)驗(yàn)?zāi)康?、掌握操作系統(tǒng)中I/O管理。2、理解磁盤的工作原理與各種調(diào)用算法。 3、掌握SCAN(電梯調(diào)度)算法的實(shí)現(xiàn)。二、實(shí)驗(yàn)理論基礎(chǔ)及教材對(duì)應(yīng)關(guān)系1、操作系統(tǒng)中IO管理。2、操作系統(tǒng)的磁盤調(diào)度算法。三、實(shí)驗(yàn)內(nèi)容與步驟1、參照教材第5章第6節(jié)的相關(guān)描述和圖5-27的具體數(shù)據(jù),進(jìn)行算法設(shè)計(jì)并驗(yàn)證是否與手工計(jì)算相一致。 其余步驟前述實(shí)驗(yàn)(略)。四、實(shí)驗(yàn)材料的提交與成績(jī)?cè)u(píng)定1、本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告一份(電子版或紙質(zhì)版一份,具體形式由任課教師確定,格式參考學(xué)院統(tǒng)一實(shí)驗(yàn)報(bào)告)2、實(shí)驗(yàn)源程序一份,請(qǐng)表明題號(hào)(電子版)備注:做下一次實(shí)驗(yàn)之時(shí)提交上一次實(shí)驗(yàn)的材料,由各班學(xué)習(xí)委員以班為單位收集并上交任課教師。3、實(shí)驗(yàn)成績(jī)總分為10分,由指導(dǎo)老師根據(jù)學(xué)生實(shí)驗(yàn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年空調(diào)銷售渠道拓展與品牌建設(shè)服務(wù)合同3篇
- 二零二五版合租房屋租賃合同-含裝修保證金條款3篇
- 二零二五版建筑設(shè)備租賃合同書范例2篇
- 二零二五版法院判決指導(dǎo)下的債務(wù)償還與再融資合同3篇
- 二零二五版第5章第5節(jié)合同擔(dān)保及供應(yīng)鏈金融合作協(xié)議3篇
- 二零二五版合同部合同合規(guī)性審查與風(fēng)險(xiǎn)預(yù)警合同3篇
- 二零二五年度酒店物業(yè)服務(wù)質(zhì)量持續(xù)改進(jìn)合同3篇
- 二零二五年青少年體育賽事服裝贊助合同3篇
- 二零二五版安防監(jiān)控設(shè)備研發(fā)與生產(chǎn)合同3篇
- 二零二五年度物流行業(yè)集體合同協(xié)議范本3篇
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 防詐騙安全知識(shí)培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊(cè)期末數(shù)學(xué)檢測(cè)試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語(yǔ)試卷含解析
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院專升本管理學(xué)真題
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí)
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- Proud-of-you中英文歌詞
- 基因的表達(dá)與調(diào)控.ppt
評(píng)論
0/150
提交評(píng)論