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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)第六次磁盤調(diào)度(更新版)

  

【正文】 nter = SubQueueRemainLength。 PREQUEST pRequest。// 子隊(duì)列初始長(zhǎng)度為N,每執(zhí)行一次磁盤調(diào)度算法會(huì)從子隊(duì)列中移除一個(gè)請(qǐng)求,子隊(duì)列// 長(zhǎng)度就要減少1,待長(zhǎng)度變?yōu)? 時(shí),再將長(zhǎng)度重新變?yōu)镹,開始處理下一個(gè)子隊(duì)列。 } else if ( Offset 0 amp。 // // 計(jì)算請(qǐng)求對(duì)應(yīng)的線程所訪問(wèn)的磁道與當(dāng)前磁頭所在磁道的偏移(方向由正負(fù)表示) // Offset = pRequestCylinder CurrentCylinder。 ULONG OutsideShortestDistance = 0x00000000。 return INpNextRequest。amp。 if (0 == Offset) { // // 如果線程要訪問(wèn)的磁道與當(dāng)前磁頭所在磁道相同,可立即返回。 PREQUEST pNextRequest = NULL。4. 源程序并附上注釋(1)改寫SCAN算法BOOL ScanInside = TRUE。答: 中定義一個(gè)全局的函數(shù)指針變量 DiskScheduleFunc。 答:ScanInside是一個(gè)全局變量,當(dāng)?shù)谝淮螆?zhí)行“ds”命令時(shí),調(diào)用IopDiskSchedule 函數(shù),ScanInside被修改了一次,再次執(zhí)行“ds”命令時(shí),ScanInside不會(huì)被重置,因此輸出的結(jié)果會(huì)不一樣。圖 (3) “饑餓”現(xiàn)象,要求請(qǐng)給出在“輸出”窗口中的結(jié)果。所以,結(jié)束遍歷的條件就既包括第一個(gè)子隊(duì)列結(jié)束,又包括整個(gè)隊(duì)列結(jié)束(如果整個(gè)隊(duì)列的長(zhǎng)度小于第一個(gè)子隊(duì)列剩余的長(zhǎng)度)。注意,與 SCAN 算法查找向外移動(dòng)距離最短線程不同,這里查找向外移動(dòng)距離最長(zhǎng)的線程。當(dāng)磁頭移動(dòng)到最內(nèi)的被訪問(wèn)磁道時(shí),磁頭立即移動(dòng)到最外的被訪問(wèn)磁道,即將最大磁道號(hào)緊接著最小磁道號(hào)構(gòu)成循環(huán),進(jìn)行掃描。3. 實(shí)驗(yàn)類型驗(yàn)證性和設(shè)計(jì)性實(shí)驗(yàn)4. 實(shí)驗(yàn)內(nèi)容(1)驗(yàn)證先來(lái)先服務(wù)(FCFS)磁盤調(diào)度算法; (2)驗(yàn)證最短尋道時(shí)間優(yōu)先(SSTF)磁盤調(diào)度算法; (3)驗(yàn)證SSTF算法造成的線程“饑餓”現(xiàn)象; (4)驗(yàn)證掃描(SCAN)磁盤調(diào)度算法; (5)改寫SCAN算法。算法流程圖如下圖所示。循環(huán)結(jié)束后,選擇向內(nèi)移動(dòng)距離最短的線程,如果沒(méi)有向內(nèi)移動(dòng)的線程,就選擇向外移動(dòng)距離最長(zhǎng)的線程。最后,需要將第一個(gè)子隊(duì)列剩余長(zhǎng)度減少1(SubQueueRemainLength減少1),如果第一個(gè)子隊(duì)列剩余長(zhǎng)度變?yōu)?0,說(shuō)明第一個(gè)子隊(duì)列處理完畢,需要將子隊(duì)列剩余的長(zhǎng)度重新變?yōu)?N(SubQueueRemainLength 重新賦值為SUB_QUEUE_LENGTH),從而開始處理下一個(gè)子隊(duì)列。 答:在非饑餓情況下,“輸出”窗口中的結(jié)果如下圖所示。修改 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ù)。圖 添加一個(gè)控制臺(tái)命令“sstf”,該命令使函數(shù)指針 DiskScheduleFunc 指向?qū)崿F(xiàn)了 SSTF 算法的函數(shù)。 PREQUEST INpNextRequest = NULL。 pListEntry != amp。 } else if ( Offset 0 amp。 } } //判斷磁頭移動(dòng)方向,若向內(nèi)移動(dòng) if( ScanInside) { //判斷是否有向內(nèi)移動(dòng)的線程 if(INpNextRequest) { //有則選擇該線程 return INpNextRequest。 PREQUEST pRequest。 // 請(qǐng)求隊(duì)列中的第一個(gè)請(qǐng)求是鏈表頭指向的下一個(gè)請(qǐng)求。 goto RETURN。 OUTpNextRequest = pRequest。操作系統(tǒng)啟動(dòng)時(shí)初始化為磁頭向內(nèi)移動(dòng)。 LONG Offset。 for (pListEntry = 。 // // 計(jì)算請(qǐng)求對(duì)應(yīng)的線程所訪問(wèn)的磁道與當(dāng)前磁頭所在磁道的偏移(方向由正負(fù)表示) // Offset = pRequestCylinder CurrentCylinder。 } else if ( Offset 0 amp。 } } else { if(OUTpNextRequest) { return OUTpNextRequest。 (2)驗(yàn)證最短尋道時(shí)間優(yōu)先(SSTF)磁盤調(diào)度算法使用 文件中 IopDiskSchedule 函數(shù)的函數(shù)體,替換 文件中 IopDiskSchedule 函數(shù)的函數(shù)體。圖 (4)驗(yàn)證掃描(SCAN)磁盤調(diào)度算法 使用 文件中 IopDiskSchedule 函數(shù)的函數(shù)體,替換 文件中 IopDiskSchedule 函數(shù)的函數(shù)體。圖 調(diào)試結(jié)果與預(yù)期一致,說(shuō)明算法改寫正確。待 EOS啟動(dòng)完畢,在EOS控制臺(tái)中輸入命令“ds”后按回車。25
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1