CPU排程(CPU Scheduling)
Basic Concepts
Scheduling Criteria(排程標準)
CPU利用率(CPU utilization) --keep the CPU as busy as possible
吞吐率(Theoughput) --of the process that complete their execution per time unit
是指一個時間單元內所完成的程序的數量。
(長程序可能為1h一個程序,短程序可能為1s10個程序)
週轉時間(Turnaround time) --amount of time to execute a particular processs
從程序提交到程序完成的時間為週轉時間
為所有時間段之和(包括等待進入記憶體,在就緒佇列中等待,在CPU上執行和IO執行)
等待時間(Waiting time) --amount of time a process has been waiting in the ready queue
CPU排程演算法並不影響程序執行和執行IO的時間;它隻影響程序在就緒佇列中花費的時間
等待時間為在就緒佇列中等待所花費的時間之和。
響應時間(Response time) --amount of time it takes from when a request was submitted until the first response is produced, not output
響應時間時開始響應需要的時間。
我們在設計的時候:
Max CPU utilization
Max throughput
Min turnaround time
Min waiting time
Min response time
Scheduling Algorithms
FCFS 先來先服務
使用FIFO佇列簡單實現:先請求CPU的先分配到CPU
SJF 短作業優先
Priority Scheduling 優先順序
Round Robin 時間片輪轉
Multilevel Queue 多級佇列
Multilevel Feedback Queue 多級反饋佇列
Algorithm Evaluation