[圖資][考古題]作業系統九十四學年度期末考
布丁布丁吃布丁
[圖資][考古題]作業系統九十四學年度期末考
作業系統九十四學年度期末考
一、解釋名詞 (1) 臨界區間(Critical Section) (2) 行程控制表(process control table或process control block) (3) Medium-term scheduler(中程排班程式) 二、何謂本文切換(Context Switch)?並請討論其與時間量(time quantum, 或稱時間片段time slice)間的關連性 三、考慮以下一組行程,其中CPU分割時間長度是以毫秒為單位: ┌──┬────┬───────────┐ │行程│到達時間│所需的CPU執行週期時間 │ ├──┼────┼───────────┤ │ P1 │ 0 │ 8 │ ├──┼────┼───────────┤ │ P2 │ 5 │ 2 │ ├──┼────┼───────────┤ │ P3 │ 3 │ 4 │ ├──┼────┼───────────┤ │ P4 │ 1 │ 3 │ ├──┼────┼───────────┤ │ P5 │ 5 │ 2 │ ├──┼────┼───────────┤ │ P6 │ 2 │ 5 │ └──┴────┴───────────┘ Gantt Chart畫法請一下列方式繪製: FCFS ┌───┬───┬────────┬──┐ │Pi │Pj │ ...... │Pn │ └───┴───┴────────┴──┘ 時間軸 0 5 7 ........ 20 24 假設這些行程依上表所列時間到達,及所需CPU執行週期時間(若條件相同時,以process id較小者優先),請問: (a) 畫出這些行程以(1)先到先做(FCFS)、(2)不可搶先最短的工作先做(nonpreemptive SJF)、(3)可搶先最短的工作先做(preemptive SJF)和(4)依序循環(Round-Robin)(quantum=3)排班演算法執行的甘特圖(Gantt Chard)。【請依序寫】 (b) 在上述的每一個排班演算法中,每一個行程的回復時間(turnaround time)是多少?(最後請以表格匯整依序作答) (c)上述的各演算法之中,每一個行程的等待時間(waiting time)是多少?(最後請以表格匯整依序作答) 四、何謂號誌(semaphores)?其優點為何? 五、[1]請說明臨界區間問題必須滿足的三個要求 [2]依序解釋下列演算法是否為何滿足或步滿足上列的三項要求 [1 ] do { [2 ] waiting[i] = true; [3 ] key = true; [4 ] while(waiting[i] and key) key := TestAndSet(lock); [5 ] waiting[i] := false; [6 ] Critical Section (C.S.) [7 ] j:=(i+1)%n; [8 ] while (j!=i)and !(waiting[j]) j:=(j+1)%n; [9 ] if (j==i) lock:=false; else waiting[j]:=false; [10] remainder section [11] } while (1);(more...)
Comments