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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)第六次磁盤調(diào)度(編輯修改稿)

2024-08-03 14:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 程是不需要進(jìn)行磁盤調(diào)度的,所以不會(huì)進(jìn)入請(qǐng)求隊(duì)列,但該線程同樣需要與其它并發(fā)訪問磁盤設(shè)備的線程進(jìn)行互斥,這時(shí)就需要使用磁盤設(shè)備的互斥信號(hào)量進(jìn)行互斥。4. 源程序并附上注釋(1)改寫SCAN算法BOOL ScanInside = TRUE。PREQUESTIopDiskSchedule( VOID ){ PLIST_ENTRY pListEntry。 PREQUEST pRequest。 PREQUEST INpNextRequest = NULL。 PREQUEST OUTpNextRequest = NULL。 LONG Offset。 ULONG InsideShortestDistance = 0xFFFFFFFF。 ULONG OutsideShortestDistance = 0xFFFFFFFF。 PREQUEST pNextRequest = NULL。 // // 需要遍歷請(qǐng)求隊(duì)列一次或兩次 // for (pListEntry = 。 // 請(qǐng)求隊(duì)列中的第一個(gè)請(qǐng)求是鏈表頭指向的下一個(gè)請(qǐng)求。 pListEntry != amp。RequestListHead。 // 遍歷到請(qǐng)求隊(duì)列頭時(shí)結(jié)束循環(huán)。 pListEntry = pListEntryNext) { // // 根據(jù)鏈表項(xiàng)獲得請(qǐng)求的指針 // pRequest = CONTAINING_RECORD(pListEntry, REQUEST, ListEntry)。 // // 計(jì)算請(qǐng)求對(duì)應(yīng)的線程所訪問的磁道與當(dāng)前磁頭所在磁道的偏移(方向由正負(fù)表示) // Offset = pRequestCylinder CurrentCylinder。 if (0 == Offset) { // // 如果線程要訪問的磁道與當(dāng)前磁頭所在磁道相同,可立即返回。 // pNextRequest = pRequest。 goto RETURN。 } else if ( Offset 0 amp。amp。 Offset InsideShortestDistance ) { // // 記錄向內(nèi)移動(dòng)距離最短的線程 // InsideShortestDistance = Offset。 INpNextRequest = pRequest。 } else if ( Offset 0 amp。amp。 Offset OutsideShortestDistance ) { // // 記錄向外移動(dòng)距離最短的線程 // OutsideShortestDistance = Offset。 OUTpNextRequest = pRequest。 } } //判斷磁頭移動(dòng)方向,若向內(nèi)移動(dòng) if( ScanInside) { //判斷是否有向內(nèi)移動(dòng)的線程 if(INpNextRequest) { //有則選擇該線程 return INpNextRequest。 } else { //沒有則修改磁頭方向,選擇向外移動(dòng)距離最短的線程 ScanInside = !ScanInside。 return OUTpNextRequest。 } } //如果向外移動(dòng) else { //判斷是否有向外移動(dòng)的線程 if(OUTpNextRequest) { //有則選擇該線程 return OUTpNextRequest。 } else { //沒有則修改詞頭方向,選擇向內(nèi)移動(dòng)距離最短的線程 ScanInside = !ScanInside。 return INpNextRequest。 } } RETURN: return pNextRequest。}(2) 編寫循環(huán)掃描(CSCAN)磁盤調(diào)度算法PREQUESTIopDiskSchedule( VOID ){ PLIST_ENTRY pListEntry。 PREQUEST pRequest。 PREQUEST INpNextRequest = NULL。 PREQUEST OUTpNextRequest = NULL。 LONG Offset。 ULONG InsideShortestDistance = 0xFFFFFFFF。 ULONG OutsideShortestDistance = 0x00000000。 PREQUEST pNextRequest = NULL。 // // 需要遍歷請(qǐng)求隊(duì)列一次或兩次 // for (pListEntry = 。 // 請(qǐng)求隊(duì)列中的第一個(gè)請(qǐng)求是鏈表頭指向的下一個(gè)請(qǐng)求。 pListEntry != amp。RequestListHead。 // 遍歷到請(qǐng)求隊(duì)列頭時(shí)結(jié)束循環(huán)。 pListEntry = pListEntryNe
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1