2023年安徽工業(yè)大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁
2023年安徽工業(yè)大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁
2023年安徽工業(yè)大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁
2023年安徽工業(yè)大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁
2023年安徽工業(yè)大學(xué)操作系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《操作系統(tǒng)教程》

實(shí)驗(yàn)報(bào)告書專業(yè)班級(jí)物141班學(xué)號(hào)姓名程裕博指導(dǎo)教師郭玉華安徽工業(yè)大學(xué)計(jì)算機(jī)屬性的指針BOOLblnitialOwner代表布爾blnitia1OwnerLPCTSTR1pName代表LPCTSTR類型IpName2)CreateSemaphore中有幾個(gè)參數(shù),各代表什么含義,信號(hào)量的初值在第幾個(gè)參數(shù)中。四個(gè):IpSemaphoreAttributesSECURITY_ATTRIBUTES,指定一個(gè)SECURITY_ATTRIBUTES結(jié)構(gòu),或傳遞室值一一表達(dá)采用不允許繼承的默認(rèn)描述符。該參數(shù)定義了信號(hào)機(jī)的安全特性;1InitialCountLong,設(shè)立信號(hào)機(jī)的初始計(jì)數(shù)??稍O(shè)立零到IMaximumCount之間的一個(gè)值;]MaximumCountLong,設(shè)立信號(hào)機(jī)的最大計(jì)數(shù);1pNameString,指定信號(hào)機(jī)對(duì)象的名稱。3)程序中P、V原語所相應(yīng)的實(shí)際WindowsAPI函數(shù)是什么,寫出這幾條語句。HANDLEMutex;HANDLEFul1Semaphore;HANDLEEmptySemaphore;DWORDWINAPTProducer(LPVOID);DWORDWINAPIConsumer(LPVOID);4)CreateMutex能用CreateSemaphore替代嗎?嘗試修改程序3—1,將信號(hào)量Mutex完全用CrcatcSemaphorc及相關(guān)函數(shù)實(shí)現(xiàn)。寫出要修改的語句:可以Mutex=CreateSemaphore(NULL,false,faIse,NULL);(2).讀者寫者問題根據(jù)實(shí)驗(yàn)(1)中所熟悉的P、V原語相應(yīng)的實(shí)際WindowsAPI函數(shù),并參考教材中讀者、寫者問題的算法原理,嘗試運(yùn)用WindowsAPI函數(shù)實(shí)現(xiàn)第一類

讀者寫者問題(讀者優(yōu)先)。3、實(shí)驗(yàn)結(jié)論將信號(hào)量看作生產(chǎn)或消費(fèi)的一個(gè)對(duì)象,對(duì)信號(hào)量的生成和銷毀操作如同P操作和v操作同樣,生成者消費(fèi)者問題模擬的就是對(duì)信號(hào)量的生成和銷毀,其中牽涉了信號(hào)量的同步,這也是該問題為什么稱為同步的經(jīng)典問題的因素。實(shí)驗(yàn)四存儲(chǔ)管理實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)四存儲(chǔ)管理(1)通過對(duì)Windows2023“任務(wù)管理器”、“計(jì)算機(jī)管理”、“我的電腦”屬性、“系統(tǒng)信息”、“系統(tǒng)監(jiān)視器”等程序的應(yīng)用,學(xué)習(xí)如何察看和調(diào)整Windows的內(nèi)存性能,加深對(duì)操作系統(tǒng)存儲(chǔ)管理、虛擬存儲(chǔ)管理等理論知識(shí)的理解。了解Windows2023的內(nèi)存結(jié)構(gòu)和虛擬內(nèi)存的管理,理解進(jìn)程的虛擬內(nèi)存空間和物理內(nèi)存的映射關(guān)系。實(shí)驗(yàn)內(nèi)容和環(huán)節(jié)(1)觀測(cè)和調(diào)整Windows2023/XP的內(nèi)存性能。環(huán)節(jié)1:閱讀“背景知識(shí)。請(qǐng)回答:1)什么是“分頁過程”?一分頁就是將信息從本內(nèi)存移動(dòng)到磁盤進(jìn)行臨時(shí)存儲(chǔ)的過程2)什么是“內(nèi)存共享”?一應(yīng)用程序經(jīng)常需要彼此通信和共享信息。一什么是“未分頁合并內(nèi)存”和“分頁合并內(nèi)存”?Windows2023中,未分頁合并內(nèi)存的最大限制是多少?分頁合并內(nèi)存是存儲(chǔ)遲早需要的可分頁代碼或數(shù)據(jù)的內(nèi)存部分。未分頁合并內(nèi)存包含必須駐留在內(nèi)存中的占用代碼或數(shù)據(jù)。4)Windows2023分頁文獻(xiàn)默認(rèn)設(shè)立的最小容量和最大容量是多少?Windows2023使用內(nèi)存數(shù)量的1.5倍作為分頁文獻(xiàn)的坡小容量,這個(gè)最小容量的兩倍作為最大容量。環(huán)節(jié)2:登錄進(jìn)入Windows2023Professional?環(huán)節(jié)3:查看包含多個(gè)實(shí)例的應(yīng)用程序的內(nèi)存需求。1)啟動(dòng)想要監(jiān)視的應(yīng)用程序,例如Word。2)右鍵單擊任務(wù)欄以啟動(dòng)“任務(wù)管理器二3)在“Windows任務(wù)管理器”對(duì)話框中選定“進(jìn)程”選項(xiàng)卡。向下滾動(dòng)在系統(tǒng)上運(yùn)營的進(jìn)程列表,查找想要監(jiān)視的應(yīng)用程序。請(qǐng)?jiān)诒?-3中記錄:表4-3實(shí)驗(yàn)記錄映像名稱PIDCPUCPU時(shí)間內(nèi)存使用WINWORD368000:00:3823.440“內(nèi)存使用”列顯示了該應(yīng)用程序的一個(gè)實(shí)例正在使用的內(nèi)存數(shù)量。5)啟動(dòng)應(yīng)用程序的另一個(gè)實(shí)例并觀測(cè)它的內(nèi)存需求。請(qǐng)描述使用第二個(gè)實(shí)例占用的內(nèi)存與使用第一個(gè)實(shí)例時(shí)的內(nèi)存對(duì)比情況:印像名稱:Explorer.EXEpid:1652_cpu:0:00:26內(nèi)存使用:29,028環(huán)節(jié)4:未分頁合并內(nèi)存。估算未分頁合并內(nèi)存大小的最簡(jiǎn)樸方法是使用“任務(wù)管理器”。未分頁合并內(nèi)存的估計(jì)值顯示在“任務(wù)管理器”的“性能”選項(xiàng)卡的“核心內(nèi)存”部分??倲?shù)(K):82076分頁數(shù):34900。未分頁(K):47176還可以使用“任務(wù)管理器”查看一個(gè)獨(dú)立進(jìn)程正在使用的未分頁合并內(nèi)存數(shù)量和分頁合并內(nèi)存數(shù)量。操作環(huán)節(jié)如下:1)單擊“Windows任務(wù)管理器”的“進(jìn)程”選項(xiàng)卡,然后從“查看”菜單中選擇“選擇列”命令,顯示“進(jìn)程”選項(xiàng)卡的可查看選項(xiàng)。2)在“選擇列”對(duì)話框中,選定“頁面緩沖池”選項(xiàng)和“非頁面緩沖池”選項(xiàng)旁邊的復(fù)選框,然后單擊“擬定”按鈕。返回Windows2023”任務(wù)管理器”的“進(jìn)程”選項(xiàng)卡時(shí),將看到其中增長顯示了各個(gè)進(jìn)程占用的分頁合并內(nèi)存數(shù)量和未分頁合并內(nèi)存數(shù)量。仍以剛才打開觀測(cè)的應(yīng)用程序(例如Word)為例,請(qǐng)?jiān)诒?-4中記錄:表4-4實(shí)驗(yàn)記錄映像名稱PID內(nèi)存使用頁面緩沖池非負(fù)囿緩沖池WINWORD36823.63853016從性能的角度來看,未分頁合并內(nèi)存越多,可以加載到這個(gè)空間的數(shù)據(jù)就越多。擁有的物理內(nèi)存越多,未分頁合并內(nèi)存就越多。但未分頁合并內(nèi)存被限制為256MB,因此添加超過這個(gè)限制的內(nèi)存對(duì)未分頁合并內(nèi)存沒有影響。環(huán)節(jié)5:提高分頁性能。在Windows2023的安裝過程中,將使用連續(xù)的磁盤空間自動(dòng)創(chuàng)建分頁文獻(xiàn)(pagefile.sys)。用戶可以事先監(jiān)視變化的內(nèi)存需求并對(duì)的配置分頁文獻(xiàn),使得當(dāng)系統(tǒng)必須借助于分頁時(shí)的性能達(dá)成最高。雖然分頁文獻(xiàn)一般都放在系統(tǒng)分區(qū)的根目錄下面,但這并不總是該文獻(xiàn)的最佳位置。要想從分頁獲得最佳性能,應(yīng)當(dāng)一方面檢查系統(tǒng)的磁盤子系統(tǒng)的配置,以了解它是否有多個(gè)物理硬盤驅(qū)動(dòng)器。I)在“開始”菜單中單擊“設(shè)立”-“控制面板”命令,雙擊“管理工具”圖標(biāo),再雙擊“計(jì)算機(jī)管理”圖標(biāo)。2)在“計(jì)算機(jī)管理”窗口的左格選擇“磁盤管理”管理單元來查看系統(tǒng)的磁盤配置。假如系統(tǒng)只有一個(gè)硬盤,那么建議應(yīng)當(dāng)盡也許為系統(tǒng)配置額外的驅(qū)動(dòng)器。這是由于:Windows2023最多可以支持在多個(gè)驅(qū)動(dòng)器上分布的16個(gè)獨(dú)立的分頁文獻(xiàn)。為系統(tǒng)配置多個(gè)分頁文獻(xiàn)可以實(shí)現(xiàn)對(duì)不同磁盤I/O請(qǐng)求的并行解決,這將大大提高I/O請(qǐng)求的分頁文獻(xiàn)性能。請(qǐng)?jiān)诒?—5中記錄:表4-5實(shí)驗(yàn)記錄卷布局類型文獻(xiàn)系統(tǒng)容量狀態(tài)C:磁盤分區(qū)基本FAT3248.82G狀態(tài)良好(系統(tǒng))D:磁盤分區(qū)基本FAT3224.50G狀態(tài)良好(頁面文獻(xiàn))LENEVO_PART磁盤分區(qū)基本FAT32305MB狀態(tài)良好(EISA配置)環(huán)節(jié)6:計(jì)算分頁文獻(xiàn)的大小。要想更改分頁文獻(xiàn)的位置或大小配置參數(shù),可按以下環(huán)節(jié)進(jìn)行:1)右鍵單擊桌面上的“我的電腦”圖標(biāo)并選定“屬性”。2)在“高級(jí)”選項(xiàng)卡上單擊“性能選項(xiàng)”按鈕。3)單擊對(duì)話框中的“虛擬內(nèi)存”區(qū)域中的“更改”按鈕。請(qǐng)記錄:所選驅(qū)動(dòng)器(C:)的頁面文獻(xiàn)大小:驅(qū)動(dòng)器:_C:[WINXP]_。可用空間:23298MB。初始大小(MB):1524。最大值(MB):3048所選驅(qū)動(dòng)器(D:)的頁面文獻(xiàn)大?。海偃缬械脑挘r?qū)動(dòng)器:D:[SOFTTWARE]??捎每臻g:12925MB所有驅(qū)動(dòng)器頁面文獻(xiàn)大小的總數(shù):。允許的最小值:2MB推薦:1522MB。當(dāng)前已分派:1524MB4)要想將另一個(gè)分頁文獻(xiàn)添加到現(xiàn)有配置,在“虛擬內(nèi)存”對(duì)話框中選定一個(gè)還沒有分頁文獻(xiàn)的驅(qū)動(dòng)器,然后指定分頁文獻(xiàn)的初始值和最大值(以兆字節(jié)表達(dá)),單擊“設(shè)立”,然后單擊“擬定二5)要想更改現(xiàn)有分頁文獻(xiàn)的最大值和最小值,可選定分頁文獻(xiàn)所在的驅(qū)動(dòng)器。然后指定分頁文獻(xiàn)的初始值和最大值,單擊“設(shè)立”按鈕,然后單擊“擬定”按鈕。6)在“性能選項(xiàng)”對(duì)話框中單擊“擬定”按鈕。7)單擊“擬定”按鈕以關(guān)閉“系統(tǒng)特性”對(duì)話框。環(huán)節(jié)7:使用任務(wù)管理器。可以使用“任務(wù)管理器”來簡(jiǎn)樸地檢查分頁文獻(xiàn)是否配置了對(duì)的容量。這樣可以實(shí)時(shí)提供系統(tǒng)正在使用分頁文獻(xiàn)的方式以及其他重要系統(tǒng)信息的準(zhǔn)確描述。通過右鍵單擊任務(wù)欄運(yùn)營“任務(wù)管理器”,選定“性能”選項(xiàng)卡查看實(shí)時(shí)的系統(tǒng)記錄數(shù)據(jù)。與分頁文獻(xiàn)大小最有關(guān)的信息位于“認(rèn)可用量”區(qū)域。這一區(qū)域顯示了認(rèn)可“峰值”是否達(dá)成或超過了認(rèn)可“限制”,以及它是否超過了系統(tǒng)上的物理內(nèi)存數(shù)量。認(rèn)可“峰值”是指系統(tǒng)迄今為止向進(jìn)程分派的最大物理內(nèi)存和虛擬內(nèi)存數(shù)量。請(qǐng)記錄:物理內(nèi)存(K)??倲?shù):1039724可用數(shù):517644。系統(tǒng)緩存:501940認(rèn)可用量(K)總數(shù):859572。限制:2500780。峰值:1238956當(dāng)系統(tǒng)碰到分頁活動(dòng)增長的情況時(shí),提交的內(nèi)存數(shù)量(“認(rèn)可總數(shù)”)就會(huì)增長。一旦它達(dá)成了“認(rèn)可限制”值,系統(tǒng)就需要擴(kuò)展分頁文獻(xiàn)?!罢J(rèn)可限制”值指出在不必?cái)U(kuò)展分頁文獻(xiàn)的情況下可以向內(nèi)存提交的虛擬內(nèi)存數(shù)量。由于目的是避免擴(kuò)展分頁文獻(xiàn),所以必須保持“認(rèn)可總數(shù)”和“認(rèn)可限制”值相差較大。假如這兩個(gè)值接近了,那么系統(tǒng)必須動(dòng)態(tài)增長分頁文獻(xiàn)的大小?!叭蝿?wù)管理器”的“認(rèn)可用量”區(qū)域顯示的信息還說明了系統(tǒng)的主內(nèi)存是否足以滿足系統(tǒng)執(zhí)行的任務(wù)。假如認(rèn)可“總數(shù)”值經(jīng)常超過系統(tǒng)中的內(nèi)存數(shù)量,那么系統(tǒng)的物理內(nèi)存也許局限性。(2)了解和檢測(cè)進(jìn)程的虛擬內(nèi)存空間。環(huán)節(jié)1:創(chuàng)建一個(gè)“Win32ConsolApplication”工程,然后拷貝清單4T中的程序,編譯成可執(zhí)行文獻(xiàn)。環(huán)節(jié)2:在VC的工具欄單擊“ExecuteProgram"(執(zhí)行程序)按鈕,或者按Ctrl+F5鍵,或者在“命令提醒符”窗口運(yùn)營環(huán)節(jié)1中生成的可執(zhí)行文獻(xiàn)。范例:E:\課程\os課\os實(shí)驗(yàn)、程序\os11\debug>os41(假設(shè)編譯生成的可執(zhí)行文獻(xiàn)是os41.exe)環(huán)節(jié)3:根據(jù)運(yùn)營結(jié)果,回答下列問題虛擬內(nèi)存每頁容量為:4.0OKB最小應(yīng)用地址:0x00010000最大應(yīng)用地址:0x7ffeffff當(dāng)前可供應(yīng)用程序使用的內(nèi)存空間為:1.99GB當(dāng)前計(jì)算機(jī)的實(shí)際內(nèi)存大小為:0.99GB理論上每個(gè)Windows應(yīng)用程序可以獨(dú)占的最大存儲(chǔ)空間是:0.99GB提醒:可供應(yīng)用程序使用的內(nèi)存空間事實(shí)上已經(jīng)減去了開頭與結(jié)尾兩個(gè)64KB的保護(hù)區(qū)。虛擬內(nèi)存空間中的64KB保護(hù)區(qū)是防止編程錯(cuò)誤的一種Windows方式。任何對(duì)內(nèi)存中這一區(qū)域的訪問(讀、寫、執(zhí)行)都將引發(fā)一個(gè)錯(cuò)誤陷阱,從而導(dǎo)致錯(cuò)誤并終止程序的執(zhí)行。按committed、reserved>free等三種虛擬地址空間分別記錄實(shí)驗(yàn)數(shù)據(jù)。其中“描述”是指對(duì)該組數(shù)據(jù)的簡(jiǎn)樸描述,例如,對(duì)下列一組數(shù)據(jù):00()1()000-()00120238.00?B>Committed,READWRITE,Private可描述為:具有READWRITE權(quán)限的已調(diào)配私有內(nèi)存區(qū)。將系統(tǒng)當(dāng)前的自由區(qū)(free)虛擬地址空間填入表4—6中。表4-6實(shí)驗(yàn)記錄地址大小虛擬地址空間類型訪問權(quán)限描述000156.0KBfreeNOACCESS()00260.0KBfreeN0ACCESS001352.0KBfreeNOACCESS002740.0KBfreeNOACCESS002c1000-002d000060.0KBfreeNOACCESS

003160.0KBfreeNOACCESS003240.0KBfreeNOACCESS003760.0KBfreeN0ACCESS()()391000-003a000060.0KBfreenoaccess003a1000-003b000060.0KBfreeNOACCESS003c300()-()()3d()()()052.()KBfreeNOACCEss003e128KBfreeNOACCESS004844.0KBfreeNOACCESS005532.0KBfreeNOACCESS006652.0KBfreeNOACCESS00970()00-62c202301.53GBfreeNOACCESS62c29000-73fa0000275MBfreeNOACCESS7400b34.9MBfreeNOACCESS7631dOO0-77beOO0024.7MBfreeNOACCESS77c38000-77dl0()0()864KBfreeNOACCESS77e49000-77e5000028.0KBfreeNOACCESS77ee2023-77ef000056.0KBfreeNOACCESS77f39000-77f4000028.0KBfreeNOACCESS77fb6000-77fc000040.0KBfreeNOACCESS77fdl000-7c80000072.1MBfreeNOACCESS提醒:具體記錄實(shí)驗(yàn)數(shù)據(jù)在實(shí)驗(yàn)活動(dòng)中是必要的,但想想是否可以簡(jiǎn)化記錄的辦法?

將系統(tǒng)當(dāng)前的已調(diào)配區(qū)(committed)虛擬地址空間填入表4—7中。表4-7實(shí)驗(yàn)記錄實(shí)驗(yàn)一WINDOWS進(jìn)程初識(shí)地址大小虛擬地址空間類型訪問權(quán)限描述00018.00KBcommittedREADWRITE,Private00024.00KBcommittedREADWRITE,Private()012c()00-0012d0004.00KBcommittedGUARD,READWRITE,Private()012d12.0KBcommittedREADWRITE,Private001420.0KBcommittedREADWRITE,Private002424.0KBcommitiedREADWRITE,Private002512.0KBcommittedREADWRITE,Mapped002688.0KBcommittedREADONLY,Mapped00280000-002cl000260KBcommittedREADONLY,Mapped002d260KBcommittedREADONLY,Mapped003224.0KBcommittedREADONLY,Mapped0033260KBcommittedREADONLY,M叩ped003832.0KBcommittedREADWRITE,Private00394.00committREADWRITE,Private實(shí)驗(yàn)?zāi)康模?)學(xué)會(huì)使用VC編寫基本的Win32Conso1Application(控制(2)臺(tái)應(yīng)用程序)。(3)掌握WINDOWSAPI的使用方法。(4)編寫測(cè)試程序,理解用戶態(tài)運(yùn)營和核心態(tài)運(yùn)營。實(shí)驗(yàn)內(nèi)容和環(huán)節(jié)(1)編寫基本的Win32ConsolApplication環(huán)節(jié)1:登錄進(jìn)入Windows,啟動(dòng)VC++6.0。環(huán)節(jié)2:在“FILE”菜單中單擊“NEW”子菜單,在“projects”選項(xiàng)卡中選擇"Win32Conso1Application”,然后在"Projectname”處輸入工程名,在“Location”處輸入工程目錄。創(chuàng)建一個(gè)新的控制臺(tái)應(yīng)用程序工程。環(huán)節(jié)3:在“FILE”菜單中單擊“NEW”子菜單,在“Files”選項(xiàng)卡中選擇“C++SourceFile”,然后在“File”處輸入C/C++源程序的文獻(xiàn)名。環(huán)節(jié)4:將清單17所示的程序清單復(fù)制到新創(chuàng)建的C/C++源程序中。編譯成可執(zhí)行文獻(xiàn)。環(huán)節(jié)5:在“開始”菜單中單擊“程序”-“附件”-“命令提醒符”命令,進(jìn)入Windows”命令提醒符”窗口,然后進(jìn)入工程目錄中的debug子目錄,執(zhí)行編譯好的可執(zhí)行程序:E:\課程\os課\os實(shí)驗(yàn)\程序\osll\debug>he11o.exe運(yùn)營結(jié)果(假如運(yùn)營不成功,則也許的因素是什么?):

KBed003a0000-003a10004.00KBc0mmittedREADWRITE,Private0()3bOOOO-003b400016.0KBcommiltedREADWRITE,Private003c0000-003c300012.0KBcommittedREADONLY,Mapped003d0000-003d300012.0KBcommittedREADWRITE,Private00404.00KBcommittedREADONLY,Image,Modu1e:l.exe0040444KBcommittedEXECUTE_READ,Image004732.0KBcommittedREADONLY,Image00478000-0047b00012.0KBcommittedREADWRITE,Image0047b000-0047d0008.00KBcommittedWRITECOPY,Image0047d16.0KBcommittedREADWRITE,Image004816.0KBcommittedREADONLY,Image將系統(tǒng)當(dāng)前的保存區(qū)(reserved)虛擬地址空間填入表4-8中。表4-8實(shí)驗(yàn)記錄地址大小虛擬地址空間類型訪問權(quán)限描述00030000-0010.98reservREADONLY,Private

2c00()MBed00140.98MBreservedREADONLY,Private002440.0KBreservedREAD0NLY,Private002552.0KBreservedREADONLY,Mapped003832.0KBreservedreadonly,Private003b4000-OO3cO00048.0KBreservedREADONLY,Private003(13000-003e000()52.0KBreservedREADONLY,Private0049744KBreservedREADONLY,Mapped005524.0KBreservedREAD0NLY,Mapped006f2.49MBreservedREADONLY,Mapped7f6f7000-7f7f0000996KBreservcdREADONLY,Mapped7ffel()00-7fffO0006().0KBreservedNOACCESS,Private3.實(shí)驗(yàn)結(jié)論:簡(jiǎn)樸描述windows進(jìn)程的虛擬內(nèi)存管理方案:虛擬地址是將邏輯地址映射到物理地址的一種手段,管理方案有:請(qǐng)求分頁、請(qǐng)求分段和請(qǐng)求段頁虛擬存儲(chǔ)管理。請(qǐng)求分頁:將進(jìn)程的信息副本存放在輔助存儲(chǔ)器中,當(dāng)它被調(diào)度投入運(yùn)營時(shí),并不把程序和數(shù)據(jù)所有裝入主存,僅裝入當(dāng)前使用的頁面,進(jìn)程在執(zhí)行過程中訪問到不在主存的頁時(shí),再把所需的信息動(dòng)態(tài)的裝入。請(qǐng)求分段:把作業(yè)的所有分段的副本都存放在輔助存儲(chǔ)器上,當(dāng)作業(yè)被調(diào)度投入運(yùn)營時(shí),一方面把當(dāng)前需要的段裝入主存,在執(zhí)行過程中訪問到不在主存的段時(shí)再將其動(dòng)態(tài)裝入。請(qǐng)求段頁式虛擬存儲(chǔ)管理:對(duì)段式存儲(chǔ)和頁式存儲(chǔ)的優(yōu)點(diǎn)結(jié)合。運(yùn)營成功,截圖Hello,Win32ConsolApplicationPressanykeytocontinue.(2)計(jì)算進(jìn)程在核心態(tài)運(yùn)營和用戶態(tài)運(yùn)營的時(shí)間環(huán)節(jié)1:按照(1)中的環(huán)節(jié)創(chuàng)建一個(gè)新的“Win32ConsolApplieati。n”工程,然后將清單1-2中的程序拷貝過來,編譯成可執(zhí)行文獻(xiàn)。環(huán)節(jié)2:在創(chuàng)建一個(gè)新的“Win32ConsolApplication”工程,程序的參考程序如清單1—3所示,編譯成可執(zhí)行文獻(xiàn)并執(zhí)行。環(huán)節(jié)3:在“命令提醒符”窗口中運(yùn)營環(huán)節(jié)1中生成的可執(zhí)行文獻(xiàn),測(cè)試環(huán)節(jié)2中可執(zhí)行文獻(xiàn)在核心態(tài)運(yùn)營和用戶態(tài)運(yùn)營的時(shí)間。E:'課程\os課\os實(shí)驗(yàn)、程序\os12\debug>timeTEST.exe環(huán)節(jié)4:運(yùn)營結(jié)果(假如運(yùn)營不成功,則也許的因素是什么?):processID:3716,EXEfi1e:3.exe,%dinKerne1mode:60環(huán)節(jié)5:分別屏蔽While循環(huán)中的兩個(gè)for循環(huán),或調(diào)整兩個(gè)for循環(huán)的次數(shù),寫出運(yùn)營結(jié)果。屏蔽i循環(huán):processID:1412,EXEfile:3.exe,%dinKerne1mode:62屏蔽j循環(huán):processID:1816,EXEfi1e:3.exe,%dinKernelmode:34調(diào)整循環(huán)變量i的循環(huán)次數(shù):processID:2616,EXEfile:3.exe,%dinKernelmode:64調(diào)整循環(huán)變量j的循環(huán)次數(shù):processID:1868,EXEfile:3.exe,%dinKerne1mode:50實(shí)驗(yàn)結(jié)論對(duì)Win32ConsolApplication有進(jìn)一步的結(jié)識(shí),WIN32API也就是Windows32平臺(tái)的應(yīng)用程序編程接口。用戶態(tài)運(yùn)營和核心態(tài)運(yùn)營,核心態(tài)就是一個(gè)是直接的代碼運(yùn)營,即win32consolApplication下代碼運(yùn)營;而用戶態(tài)是在DOS下運(yùn)營的,對(duì)編譯好的程序進(jìn)行的運(yùn)營,核心態(tài)速度較快,沒有太多的約束,而用戶態(tài)的運(yùn)營需要時(shí)間較長,由于有相應(yīng)的約束。實(shí)驗(yàn)二進(jìn)程管理1、實(shí)驗(yàn)?zāi)康?)通過創(chuàng)建進(jìn)程、觀測(cè)正在運(yùn)營的進(jìn)程和終止進(jìn)程的程序設(shè)計(jì)和調(diào)試操作,進(jìn)一步熟悉操作系統(tǒng)的進(jìn)程概念,理解windows進(jìn)程的“一生二2)通過閱讀和分析實(shí)驗(yàn)程序,學(xué)習(xí)創(chuàng)建進(jìn)程、觀測(cè)進(jìn)程、終止進(jìn)程以及父子進(jìn)程同步的基本程序設(shè)計(jì)方法。2、實(shí)驗(yàn)內(nèi)容和環(huán)節(jié).創(chuàng)建進(jìn)程本實(shí)驗(yàn)顯示了創(chuàng)建子進(jìn)程的基本框架。該程序只是再一次地啟動(dòng)自身,顯示它的系統(tǒng)進(jìn)程ID和它在進(jìn)程列表中的位置。環(huán)節(jié)1:創(chuàng)建一個(gè)“Win32ConsolApp1ication"工程,然后拷貝清單2—1中的程序,編譯成可執(zhí)行文獻(xiàn)。環(huán)節(jié)2:在“命令提醒符”窗口運(yùn)營環(huán)節(jié)1中生成的可執(zhí)行文獻(xiàn)。運(yùn)營結(jié)果:范例:E:\課程\os課\os實(shí)驗(yàn)'程序\osl1\debug>os21(假設(shè)編譯生成的可執(zhí)行文獻(xiàn)是。s21.exe)ProcessID:3012,CloneID:0ProcessID:2748,C1oneID:1ProcessID:4044,CloneID:2ProcessID:2896,CloneID:3

ProcessID:1588,Clone1D:4ProcessID:2144,CloneID:5按下ctrl+alt+del,調(diào)用windows的任務(wù)管理器,記錄進(jìn)程相關(guān)的行為屬性:Cppl.exeCppl.exeCppl.exeCppl.exeCppl.exeCppl.exeKKKKKK242222Cppl.exeCppl.exeCppl.exeCppl.exeCppl.exeCppl.exeKKKKKK2422225455551A111A11oo1A環(huán)節(jié)3:在“命令提醒符”窗口加入?yún)?shù)重新運(yùn)營生成的可執(zhí)行文獻(xiàn)。運(yùn)營結(jié)果:范例:E:'課程\os課'。s實(shí)驗(yàn)'程序\os11\debug>os213(假設(shè)編譯生成的可執(zhí)行文獻(xiàn)是os2Lexe)ProcessID:3112,CloneID:3ProcessID:1380,CloneID:4ProcessID:3576,CloneID:5按下ctrl+a1t+de1,調(diào)用windows的任務(wù)管理器,記錄進(jìn)程相關(guān)的行為屬cmd.exe3072cmd.exe30720004,756KCppl.exe1572000848KCppl.exe2020000I,148KCppl.exe3264000I.140K環(huán)節(jié)4:修改清單27中的程序,將nClone的定義和初始化方法按程序注釋中的修改方法進(jìn)行修改,編譯成可執(zhí)行文獻(xiàn)(執(zhí)行前請(qǐng)先保存已經(jīng)完畢的工作)。再按環(huán)節(jié)2中的方式運(yùn)營,看看結(jié)果會(huì)有什么不同樣。運(yùn)營結(jié)果:ProcessID:3112,CloneID:3ProcessID:1380,C1oneID:4ProcessID:3576,CloneID:5Cppl.exe13800001'152KCppl.exe31120001,144KCppl.exe357600064K—病你可以得面什么結(jié)論:一"nClone的作用:控制ID的起始值,并控制其輸出窗口的數(shù)量。變量的定義和初始化方法(位置)對(duì)程序的執(zhí)行結(jié)果有影響嗎?為什么?有影響,變量的定義影響了程序的結(jié)果數(shù)目,還影響了ID的其實(shí)位置,由于變量的初始化使程序的循環(huán)次數(shù)發(fā)生改變,直接改變了結(jié)果,所以結(jié)果由變量的不同而不同。.父子進(jìn)程的簡(jiǎn)樸通信及終止進(jìn)程環(huán)節(jié)1:創(chuàng)建一個(gè)“Win32Conso1Application"工程,然后拷貝清單2-2中的程序,編譯成可執(zhí)行文獻(xiàn)。環(huán)節(jié)2:在VC的工具欄單擊“ExecuteProgram"(執(zhí)行程序)按鈕,或者按Ctrl+F5鍵,或者在“命令提醒符”窗口運(yùn)營環(huán)節(jié)1中生成的可執(zhí)行文獻(xiàn)。運(yùn)營結(jié)果:范例:E:\課程\os課\os實(shí)驗(yàn)、程序\os1l\debug>os22(假設(shè)編譯生成的可執(zhí)行文獻(xiàn)是。s22.exe)c\"C:\DocumentsandSettings\Administrator\^ffi\Debug\Cpp1.exe"Creatingthechildprocess.TeHingthechildprocesstoquit.Childwaitingforsuicideinstructions.環(huán)節(jié)3:按源程序中注釋中的提醒,修改源程序2-2,編譯執(zhí)行(執(zhí)行前請(qǐng)先保存已經(jīng)完畢的工作)。運(yùn)營結(jié)果:死循環(huán)在程序中加入跟蹤語句,或調(diào)試運(yùn)營程序,同時(shí)參考MSDN中的幫助文獻(xiàn)CreatePr。cess()的使用方法,理解父子進(jìn)程如何傳遞參數(shù)。給出程序執(zhí)行過程的大約描述:產(chǎn)生的應(yīng)用程序的名稱(木EXE文獻(xiàn)),告訴其.行為像?個(gè)了?進(jìn)程的標(biāo)志,不繼承句柄,使用新的控制臺(tái),新的環(huán)境,啟動(dòng)信息,返回的進(jìn)程信息。環(huán)節(jié)4:填空CreateProcess()函數(shù)有8個(gè)核心參數(shù)?本實(shí)驗(yàn)程序中設(shè)立的各個(gè)參數(shù)的值是:a.szFilename;b.szCmdLine.;c.NULL;d.NULL;e.FALSE;f.CREATENEWCONSOLE;NULL;NULLo環(huán)節(jié)5:按源程序中注釋中的提醒,修改源程序2—2,編譯執(zhí)行。運(yùn)營結(jié)果:c\"C:\DocumentsandSettings\Administrator\^ffi\Debug\Cpp1.exe"Creatingthechildprocess.Tellingthechildprocesstoquit.環(huán)節(jié)6:參考MSDN中的幫助文獻(xiàn)CreateMutex。、OpenMutex()>ReleaseMutex()和WaitForSingIe0bject()的使用方法,理解父子進(jìn)程如何運(yùn)用互斥體進(jìn)行同步的。給出父子進(jìn)程同步過程的一個(gè)大約描述:一方面,進(jìn)程創(chuàng)建一個(gè)互斥體,打開互斥體,如碰到互斥,則進(jìn)行解決,解決完后,釋放互斥體,下面便是進(jìn)程等待下一個(gè)要解決的項(xiàng)目。3、實(shí)驗(yàn)結(jié)論每個(gè)進(jìn)程都從調(diào)用CreateProcess()API函數(shù)開始,該函數(shù)的任務(wù)是在對(duì)象管理器子系統(tǒng)內(nèi)初始化進(jìn)程對(duì)象。每一進(jìn)程都以調(diào)用ExitProcess()或TerminatePr。cess()API函數(shù)終止。通常應(yīng)用程序的框架負(fù)責(zé)調(diào)用ExitProcess()函數(shù)。進(jìn)程都是有始有終,其中有中斷,尚有解決進(jìn)程間互斥的函數(shù),已達(dá)成進(jìn)程的完畢后自然終止。實(shí)驗(yàn)三進(jìn)程同步的經(jīng)典算法

1、實(shí)驗(yàn)?zāi)康?)回顧系統(tǒng)進(jìn)程、線程的有關(guān)概念,加深對(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論