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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)第六次磁盤調(diào)度-在線瀏覽

2024-08-17 14:09本頁面
  

【正文】 TH),從而開始處理下一個(gè)子隊(duì)列。答:先來先服務(wù)(FCFS)磁盤調(diào)度算法在“輸出”窗口中的結(jié)果如下圖所示。答:最短尋道時(shí)間優(yōu)先(SSTF)磁盤調(diào)度算法在“輸出”窗口中的結(jié)果如下圖所示。答:SSTF算法造成的線程“饑餓”現(xiàn)象在“輸出”窗口中的結(jié)果如下圖所示。 答:在非饑餓情況下,“輸出”窗口中的結(jié)果如下圖所示。圖 ScanInside是一個(gè)全局變量,當(dāng)?shù)谝淮螆?zhí)行“ds”命令時(shí),調(diào)用IopDiskSchedule 函數(shù),ScanInside被修改了一次,再次執(zhí)行“ds”命令時(shí),ScanInside不會(huì)被重置,因此輸出的結(jié)果會(huì)不一樣。嘗試修改源代碼,使這兩種算法在多次執(zhí)行時(shí),都能確保調(diào)度的順序一致(提示:可以參考 io/ 文件中IopReceiveRequest 函數(shù)和 IopProcessNextRequest 函數(shù)判斷磁盤調(diào)度算法開始工作和結(jié)束工作的方法)。只需在for循環(huán)結(jié)束后添加如下代碼,就能確保調(diào)度的順序一致。修改 io/ 文件中的 IopProcessNextRequest 函數(shù),在該函數(shù)中不再直接調(diào)用 IopDiskSchedule 函數(shù),而是調(diào)用函數(shù)指針 DiskScheduleFunc 指向的磁盤調(diào)度算法函數(shù);ke/ 文件中的 ConsoleCmdDiskSchedule 函數(shù)中也不再直接調(diào)用IopDiskSchedule函數(shù),也要修改為調(diào)用函數(shù)指針DiskScheduleFunc指向的磁盤調(diào)度算法函數(shù)。這樣,在 EOS啟動(dòng)后默認(rèn)會(huì)執(zhí)行FCFS 算法,執(zhí)行控制臺(tái)命令“sstf”后,會(huì)執(zhí)行SSTF算法。說明這種在EOS運(yùn)行時(shí)動(dòng)態(tài)切換磁盤調(diào)度算法的好處。圖 修改IopProcessNextRequest 函數(shù)和ConsoleCmdDiskSchedule 函數(shù),使其不再直接調(diào)用 IopDiskSchedule 函數(shù)而是調(diào)用函數(shù)指針DiskScheduleFunc指向的磁盤調(diào)度算法函數(shù)。圖 添加一個(gè)控制臺(tái)命令“sstf”,該命令使函數(shù)指針 DiskScheduleFunc 指向?qū)崿F(xiàn)了 SSTF 算法的函數(shù)。圖 圖 (7)分析已經(jīng)實(shí)現(xiàn)的各種磁盤調(diào)度算法的優(yōu)缺點(diǎn),嘗試實(shí)現(xiàn)更多其它的磁盤調(diào)度算法。(6)EOS 在塊設(shè)備層實(shí)現(xiàn)了磁盤調(diào)度算法后,由于請(qǐng)求隊(duì)列中的請(qǐng)求一定是被逐個(gè)處理的,所以并發(fā)的多個(gè)線程已經(jīng)可以互斥的訪問磁盤上的數(shù)據(jù),那為什么在 IopReadWriteSector 函數(shù)中還要使用磁盤設(shè)備的互斥信號(hào)量進(jìn)行互斥呢?(提示:如果一個(gè)線程只是要獲取磁盤設(shè)備的狀態(tài)而不是要訪問磁盤上的數(shù)據(jù),是否需要對(duì)該線程進(jìn)行磁盤調(diào)度?該線程是否要與其它并發(fā)訪問磁盤設(shè)備的線程進(jìn)行互斥?)答:如果一個(gè)線程只是要獲取磁盤設(shè)備的狀態(tài)而不是要訪問磁盤上的數(shù)據(jù),那這個(gè)線程是不需要進(jìn)行磁盤調(diào)度的,所以不會(huì)進(jìn)入請(qǐng)求隊(duì)列,但該線程同樣需要與其它并發(fā)訪問磁盤設(shè)備的線程進(jìn)行互斥,這時(shí)就需要使用磁盤設(shè)備的互斥信號(hào)量進(jìn)行互斥。PREQUESTIopDiskSchedule( VOID ){ PLIST_ENTRY pListEntry。 PREQUEST INpNextRequest = NULL。 LONG Offset。 ULONG OutsideShortestDistance = 0xFFFFFFFF。 // // 需要遍歷請(qǐng)求隊(duì)列一次或兩次 // for (pListEntry = 。 pListEntry != amp。 // 遍歷到請(qǐng)求隊(duì)列頭時(shí)結(jié)束循環(huán)。 // // 計(jì)算請(qǐng)求對(duì)應(yīng)的線程所訪問的磁道與當(dāng)前磁頭所在磁道的偏移(方向由正負(fù)表示) // Offset = pRequestCylinder CurrentCylinder。 // pNextRequest = pRequest。 } else if ( Offset 0 amp。 Offset InsideShortestDistance ) { // // 記錄向內(nèi)移動(dòng)距離最短的線程 // InsideShortestDistance = Offset。 } else if ( Offset 0 amp。 Offset OutsideShortestDistance ) { // // 記錄向外移動(dòng)距離最短的線程 // OutsideShortestDistance = Offset。 } } //判斷磁頭移動(dòng)方向,若向內(nèi)移動(dòng) if( ScanInside) { //判斷是否有向內(nèi)移動(dòng)的線程 if(INpNextRequest) { //有則選擇該線程 return INpNextRequest。 return OUTpNextRequest。 } else { //沒有則修改詞頭方向,選擇向內(nèi)移動(dòng)距離最短的線程 ScanInside = !ScanInside。 } } RETURN: return pNextRequest。 PREQUEST pRequest。 PREQUEST OUTpNextRequest = NULL。 ULONG InsideShortestDistance = 0xFFFFFFFF。
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1