freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)實驗報告附思考題(編輯修改稿)

2025-04-21 02:42 本頁面
 

【文章內(nèi)容簡介】 }KeEnableInterrupts(IntState)。returnStatus。測試結(jié)果:根據(jù)文檔中的測試方法可看到結(jié)果中有兩個消費者三、綜合實驗總結(jié)或結(jié)論1. 思考在 ps/ 文件內(nèi)的 PsWaitForSemaphore 和 PsReleaseSemaphore 函數(shù)中,為什么要使用原子操作?答:EOS 內(nèi)核中維護了大量內(nèi)核數(shù)據(jù),正是這些數(shù)據(jù)描述了EOS操作系統(tǒng)的狀態(tài)如果有一組相互關(guān)聯(lián)的內(nèi)核數(shù)據(jù)共同描述了這個操作系統(tǒng)的某個狀態(tài),那么在修改這樣一組內(nèi)核數(shù)據(jù)時就必須保證一致性。這就要求修改這部分數(shù)據(jù)的代碼在執(zhí)行過程中不能被打斷,這種操作叫做“原語操作”。 2. 根據(jù)本實驗 節(jié)中設(shè)置斷點和調(diào)試的方法,自己設(shè)計一個類似的調(diào)試方案來驗證消費者線程在消費 24 號產(chǎn)品時會被阻塞,直到生產(chǎn)者線程生產(chǎn)了 24 號產(chǎn)品后,消費者線程才被喚醒并繼續(xù)執(zhí)行的過程。答: 生產(chǎn)到23號產(chǎn)品后,進程阻塞。實驗 6 時間片輪轉(zhuǎn)調(diào)度 綜合實驗的目的與要求調(diào)試 EOS 的線程調(diào)度程序,熟悉基于優(yōu)先級的搶先式調(diào)度。為 EOS 添加時間片輪轉(zhuǎn)調(diào)度,了解其它常用的調(diào)度算法。二、實驗正文1 準(zhǔn)備實驗2 閱讀控制臺命令“rr”相關(guān)的源代碼3 調(diào)試線程調(diào)度程序 調(diào)試當(dāng)前線程不被搶先的情況查看 ThreadFunction 函數(shù)中變量 pThreadParameterY 的值應(yīng)該為 0,說明正在調(diào)試的是第 0個新建的線程。按2次 F5 的循環(huán)輸出的內(nèi)容: 以二進制格式查看就緒位圖的值BitScanReverse 函數(shù)會從就緒位圖中掃描最高優(yōu)先級,并保存在變量HighestPriority 中。查看變量 HighestPriority 的值為 8。 調(diào)試當(dāng)前線程被搶先的情況激活虛擬機窗口,可以看到第 0 個新建的線程正在執(zhí)行。在“監(jiān)視”窗口中查看就緒位圖的值為 1000000000000000100000001,說明此時在優(yōu)先級為 24的 就 緒 隊 列 中 存 在 就 緒 線 程 。 在 “ 監(jiān) 視 ” 窗 口 中 添 加 表 達 式“ ListGetCount(amp。PspReadyListHeads[24]) ”,其值為 1,說明優(yōu)先級為 24 的就緒隊列中只有一個就緒線程。掃描就緒位圖后獲得的最高優(yōu)先級的值 HighestPriority 也就應(yīng)該是 24。顯示0x18=24繼續(xù)調(diào)試優(yōu)先級24 的線程已經(jīng)進入了“運行”狀態(tài)。4 為 EOS 添加時間片輪轉(zhuǎn)調(diào)度修改部分代碼:VOIDPspRoundRobin(VOID){ if(NULL!=PspCurrentThreadamp。amp。Running==PspCurrentThreadState){PspCurrentThreadRemainderTicks。 if(0==PspCurrentThreadRemainderTicks){ PspCurrentThreadRemainderTicks=TICKS_OF_TIME_SLICE。 if(BIT_TEST(PspReadyBitmap,PspCurrentThreadPriority)){PspReadyThread(PspCurrentThread)。}}}}測試:能看到 20 個線程輪流執(zhí)行的效果5 修改線程時間片的大小執(zhí)行的效果: 參數(shù)=20 參數(shù)=100 時間片過大,算法便退化成為先進先出算法。三、綜合實驗總結(jié)或結(jié)論1. 結(jié)合線程調(diào)度執(zhí)行的時機,說明在 ThreadFunction 函數(shù)中,為什么可以使用“關(guān)中斷”和“開中斷”方法來保護控制臺這種臨界資源。結(jié)合線程調(diào)度的對象說明這樣做的原因。答:EOS會設(shè)置CPU停止響應(yīng)外部設(shè)備產(chǎn)生的硬中斷,也就不會在由硬中斷觸發(fā)線程調(diào)度。開中斷和關(guān)中斷使處理機在這段時間屏蔽掉了外界所有中斷,使他線程無法占用資源。使用開中斷和關(guān)中斷進程同步不會改變線程狀態(tài),可以保證那些沒有獲得處理器的資源都在就緒隊列中?!熬途w”狀態(tài)?如果此時將被中斷線程轉(zhuǎn)入了“就緒”狀態(tài)又會怎么樣?可以結(jié)合 PspRoundRobin 函數(shù)和 PspSelectNextThread 函數(shù)的流程進行思考,并使用搶先和不搶先兩種情況進行說明。答:(1)因為其他優(yōu)先隊列的線程等待時間不能過長。(2)若將中斷線程轉(zhuǎn)入就緒隊列,只有當(dāng)此線程執(zhí)行完畢之后,其他隊列的線程才有機會進入就緒隊列,尤其是當(dāng)其他就緒隊列中的線程關(guān)于人機交互的時候,會嚴重影響用戶體驗。3. EOS 內(nèi)核時間片大小取 60ms,在線程比較多時,就可以觀察出線程輪流執(zhí)行的情況,但是在 Windows、Linux 等操作系統(tǒng)啟動后,正常情況下都有上百個線程在并發(fā)執(zhí)行,為什么覺察不到它們被輪流執(zhí)行,并且每個程序都運行的很順利呢?答:因為時間片選取合適,線程輪流運行,體現(xiàn)了其虛擬性。實驗 7 物理存儲器與進程邏輯地址空間的管理 綜合實驗的目的與要求通過查看物理存儲器的使用情況,并練習(xí)分配和回收物理內(nèi)存,從而掌握物理存儲器的管理方法。通過查看進程邏輯地址空間的使用情況,并練習(xí)分配和回收虛擬內(nèi)存, 從而掌握進程邏輯地址空間的管理方法。 實驗正文1 準(zhǔn)備實驗2 閱讀控制臺命令“pm”相關(guān)的源代碼,并查看其執(zhí)行的結(jié)果3 分配物理頁和釋放物理頁按 F10 單步調(diào)試 MiAllocateAnyPages 函數(shù)的執(zhí)行過程,結(jié)果如圖可知其空閑頁為7126,零頁鏈表為0,已用表為1050.按 F10 單步調(diào)試 MiFreePages 函數(shù)的執(zhí)行過程,結(jié)果如圖可知其再分配1頁后,空閑頁為7125,零頁鏈表為0,已用表為1051,即用空閑頁分配,沒用零頁鏈表分配。4 閱讀控制臺命令“vm”相關(guān)的源代碼,并查看其執(zhí)行的結(jié)果輸入命令“ A: \”后按回車。 此時就使用 EOS 應(yīng)用程序文件 創(chuàng)建了一個應(yīng)用程序進程,由于此進程執(zhí)行了一個死循環(huán),所以此進程不會結(jié)束執(zhí)行,除非關(guān)閉虛擬機。5 在系統(tǒng)進程中分配虛擬頁和釋放虛擬頁調(diào)試釋放虛擬頁的過程:BaseAddress 由初始化的變成了和 RegionSize由初始化的變成了。在調(diào)用 MmAllocateVirtualMemory 函數(shù)時將 RegionSize 參數(shù)的值設(shè)置為PAGE_SIZE*2+1,觀察“輸出”窗口中轉(zhuǎn)儲的信息,輸出文本略。 綜合實驗總結(jié)或結(jié)論1. 在本實驗 中,如果分配了物理頁后,沒有回收,會對 EOS 操作系統(tǒng)造成什么樣的影響? 目前 EOS操作系統(tǒng)內(nèi)核函數(shù) MiAllocateAnyPages 能處理所有物理頁被分配完畢的情況嗎?答:(1)會造成自由頁鏈表和零鏈表不斷減少,甚至為空。所有物理頁都分配完畢的現(xiàn)象。(2)不能。 2. 嘗試從性能的角度分析內(nèi)核函數(shù) MiAllocateAnyPages 和 MiAllocateZeroedPages。 嘗試從安全性的角度分析分配零頁的必要性。答: MiAllocateAnyPages 分配物理頁。首先從空閑頁鏈表中分配,如果分配空閑鏈表不足則再從零頁鏈表分配。MiAllocateZeroedPages首先從零頁鏈表中分配,如果零頁不足則從空閑鏈表分配。 3. 觀察本實驗 中使用“ vm” 命令輸出的系統(tǒng)進程的虛擬地址描述符,可以看到在 2 號描述符和 3 號描述符之間有兩個虛擬頁的空隙,嘗試結(jié)合虛擬頁的分配和釋放說明產(chǎn)生這個空隙的原因。答:產(chǎn)生空隙是由于虛擬頁被釋放而造成的。在啟動時會有一個初始化線程在初始化完畢之后就退出了,線程的堆棧所占用的虛擬頁也就被釋放了。 4. 在本實驗 中,調(diào)用 MmAllocateVirtualMemory 函數(shù)分配虛擬頁時只使用了 MEM_RESERVE 標(biāo)志,沒有使用 MEM_COMMIT 標(biāo)志,嘗試說明這兩個標(biāo)志的區(qū)別。答:使用MEM_RESERVE標(biāo)志分配虛擬頁時,沒有為其映射實際的物理頁。使用MEM_COMMIT標(biāo)志分配虛擬頁時,會為其映射實際的
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1