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

正文內(nèi)容

優(yōu)先級法、多級反饋輪轉(zhuǎn)法_進(jìn)程調(diào)度模擬設(shè)計-文庫吧在線文庫

2025-09-02 09:42上一頁面

下一頁面
  

【正文】 就緒隊列中的第一個進(jìn)程或作業(yè)。 // 完成時間 int sleep_time。 // 添加一個 PCB結(jié)構(gòu)進(jìn)入預(yù)先準(zhǔn)備隊列 void start_scheduling()。 // 手動自動切換 void append(struct PCB **head, struct PCB **node)。 // 遍歷等待隊列,減少 sleep_time,喚醒 sleep_time降至進(jìn)程 本次程序主要由三個部分組成: main 函數(shù)部分,該部分主要包含 main 函數(shù);LRU算法部分,該部分主要包含 LRU函數(shù)、 setm(int m,int n)函數(shù)和 mini(int *b)函數(shù); OPT 算法部分,該部分主要包含 OPT 函數(shù)和 getOpt(int inPage)函數(shù)。 try_wakeup_procs()。 return。 append(amp。running)。running)。 runningnext = NULL。 append(amp。在進(jìn)程調(diào)度函數(shù)的實現(xiàn)時運用的結(jié)構(gòu)體來實現(xiàn)各個的功能。 int priority。 // 每次占用 CPU 將消耗的時間片數(shù),不同隊列中的進(jìn)程的值不一樣 ( RRMF 專用) struct PCB *next。 // 手動,自動標(biāo)記, 0手動 1自動 默認(rèn)為 0 char oper_name[10] = Manual。 // 等待隊列 struct PCB *finished_list = NULL。 // 切換調(diào)度算法(線性優(yōu)先級法,多級反饋輪轉(zhuǎn)法) void view_list(struct PCB *list)。 // 進(jìn)程執(zhí)行 void proc_run_rrmf()。039。139。339。 case 39。 case 39。 } return c。\n)。 } else{ p=*head。 if(algorithm == 0) // SRR 線性優(yōu)先級調(diào)度 ppriority = 0。 printf(請輸入需要的時間片數(shù) :)。 // 是否隨機增加幾個同時刻的進(jìn)程 printf(請輸入同時刻的進(jìn)程數(shù) :)。 tmparrive_time = parrive_time。pre_list, amp。 p = list。多級反饋輪轉(zhuǎn)算法 39。線性優(yōu)先級算法 39。 else { p = finished_list。 iDELAY_COUNTER。 move_to_ready = p。move_to_ready)。 p = pnext。 if(tail != NULL) { // 檢查新建隊頭是否追上享受隊尾的優(yōu)先級 if(newly_ready_list != NULL amp。 // 新建隊列第 1 個進(jìn)程追加至享受隊列隊尾 } } // 若享受服務(wù)進(jìn)程隊列為空,新建進(jìn)程隊列第 1 個進(jìn)程進(jìn)入享受服務(wù)隊列 else { if(newly_ready_list != NULL) { serving_ready_list = newly_ready_list。 while(p != NULL) { ppriority += newly_factor。 iQUEUE_NUM。 } printf( 進(jìn)程 %s 正在運行 :, runningname)。running)。 } running = NULL。 runningnext = NULL。 slices_out = 1。 if(0 == runninguse_slices) { slices_out = 1。 sys_clock = 0。 append(amp。 // 進(jìn)程執(zhí)行 sys_clock ++。 view_list(waiting_list)。 } // 演示進(jìn)程調(diào)度隊列, RRMF 算法 void start_scheduling_rrmf() { struct PCB *tmp。 pre_list = pre_listnext。 sys_clock ++。 view_list(waiting_list)。 } //重置 void restart() { struct PCB *tmp, *p。 add_idx = 0。 iQUEUE_NUM。 } 序號 評分項目 滿分 實得分 1 學(xué)習(xí)態(tài)度認(rèn)真、遵守紀(jì)律 10 2 設(shè)計分析合理性 10 3 設(shè)計方案正確性、可行性、創(chuàng)造性 20 4 設(shè)計結(jié)果正確性 40 5 設(shè)計報告的規(guī)范性 10 6 設(shè)計驗收 10 總得分 /等級 評語: 注:最終成績以五級分制記。 manual = 0。 newly_ready_list = NULL。 p = pnext。 if(manual == 0) _getch()。 iQUEUE_NUM。tmp)。 return。 if(manual == 0) _getch()。 view_list(serving_ready_list)。 //printf(Newly Ready Queue Before: )。amp。ready_list[QUEUE_NUMrunningpriority], amp。waiting_list, amp。 runninguse_slices = (QUEUE_NUM+1) runningpriority。 if(running == NULL) { printf(沒有進(jìn)程到達(dá) !\n)。running)。//顯示正在執(zhí)行的進(jìn)程 printf(\n)。 } } } //進(jìn)程執(zhí)行( SRR 算法) void proc_run() { try_wakeup_procs()。 // RRMF 中,若正在運行的進(jìn)程一次占用 CPU 消耗多個時間片且本次調(diào)度時還未用完, // 則不調(diào)度其它進(jìn)程 if(running != NULL amp。 while(p != NULL) { ppriority += serving_factor。 pnext = NULL。 } // 找到享受隊列隊尾元素 tail = serving_ready_list。 else append(amp。 } move_to_readynext = NULL。 } //遍歷等待隊列,減少 sleep_time,喚醒 sleep_time 降至 0 的進(jìn)程 void try_wakeup_procs() { struct PCB *p, *last, *move_to_ready。 p = pnext。 } } // 計算并顯示平均周轉(zhuǎn)時間,平均帶權(quán)周轉(zhuǎn)時間 void calculate_time_costs() { struct PCB *p。 // SSR 狀態(tài)下添加的進(jìn)程的 Priority 默認(rèn)為 0,改為 PRIORITY1 tmp = pre_list。 p = pnext。 printf(成功增加 %d 個進(jìn)程! \n, 1+counterpart)。 // RRMF 專用 tmpsleep_time = 1。 icounterpart。pre_list, amp。 pused_run_time = 0。 struct PCB *tmp。 } // 添加 node 于 head 所指隊列的隊尾 void append(struct PCB **head, struct PCB **node) { struct PCB *p。 strcpy(oper_name, Automatic)。 case 39。 case 39。 case 39。239。639。 // 遍歷等待隊列,減少 sleep_time,喚醒 sleep_time 降至 0 的進(jìn)程 endif //__COMMON_H__ include include include include include include int main(int argc, char *argv[]) { char mand。 // 手動 /自動 切換 void append(struct PCB **head, struct PCB **node)。// 添加一個 PCB 結(jié)構(gòu)進(jìn)入 pre_list(預(yù)先準(zhǔn)備隊列 ) void start_scheduling()。 // 預(yù)先準(zhǔn)備的隊列,用于模擬進(jìn)程的不同時刻到達(dá)調(diào)度隊列 struct PCB *running。 // 第幾輪添加進(jìn)程 int pre_list_size = 0。 // 完成時間 int sleep_time。在本次實驗中我遇到了很多困難,本次實驗中的程序編寫花了很久。serving_ready_list, amp。 append(amp。 if(running == NULL) {printf(沒有進(jìn)程抵達(dá) \n)。 if(runningp
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1