引用:
作者小鯉魚~
以下是小弟能提供的一點點概念
希望對你有些幫助
(若有錯誤還請版上朋友指正或補充)
CPU Scheduling...
比較正規的講法應該叫process Scheduling (程式排程或叫程式排班)
簡單說...在一個CPU只能負責run一支process的工作環境架構(性能條件)下...
當有多支process已經等待執行時~
OS必須依照某個法則...挑選某一支process來工作
(因為一次只能服務單支程式所以選其中一者)
而這個法則就叫做排程(process scheduling)
你可以想像成有很多人參加演講(很多process)
可是一個講台(CPU)上只能讓一個人表演(CPU只服務單一process)
所以大會人員(OS)就安排一個順序讓這些參賽者依序上演講台
這個就是scheduling
而process Scheduling又分成很多種類(可以制定很多種順序)
1.FCFS
2.SJF
3.Priority
4.RunRobin
等等...
program可視為還沒執行的程式(比方說你寫了一個c++的小遊戲燒在光...
|
對於program 與 process 的觀念 你與小弟原來的想法相同
不過 對老師而言 只對了一半
假如開了多個相同的PROGRAM 電腦是否會跑多個 PROCESS?
(假設開多個相同的NOTEPAD與WORD檔作比較)
答案是不一定的....
又 process再執行的時候 記憶體會包含program嗎
如果是 你的舉例不就怪怪 因為執行了program就會變成process 那又怎麼會包含
如果不是 process要怎麼去呼叫program?
(以上 是老師問過的)
請參考
http://codex.cs.yale.edu/avi/os-boo...-dir/index.html
第三章 Processes 與 第四章 Threads
如果報這麼簡單 我就不會說難過了
老師會問 為什麼要CPU Scheduling 目的為何
您所提的四種排程 如果運作 演算法 優缺點為何 哪種最佳 哪種最差 哪些時候會用到哪種演算法 為什麼
基本上 基本的我會 老師問的 也是基本 比基本還基本的東西 就是細.....
上課的壓力很大 因為 老師永遠有問題是你答不出來的
還有 小弟是唸研究所沒錯 上的課程叫"高等OS"