python入門教程12-03 (python語法入門之進程)

進程是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操做系統結構的基礎。瞭解進程以後咱們才能更好的去編譯去學習。算法

一 什麼是進程ide

進程:正在進行的一個過程或者說一個任務。是系統進行資源分配和調度的基本單位,是操做系統結構的基礎。學習

進程是操做系統中最基本、重要的概念。是多道程序系統出現後,爲了刻畫系統內部出現的動態狀況,描述系統內部各道程序的活動規律引進的一個抽象概念,全部多道程序設計操做系統都創建在進程的基礎上。操作系統

二 進程與程序的區別設計

程序僅僅只是一堆代碼而已,而進程指的是程序的運行過程。隊列

想象一位tom貓正在給他的宿敵jerry作奶油蛋糕。進程

他有作奶油蛋糕的食譜及所需的全部原料:麪粉、雞蛋、奶油等。內存

在這個比喻中:資源

作蛋糕的食譜就是程序it

tom貓就是處理器(cpu)

而作蛋糕的各類原料就是輸入數據

進程就是tom閱讀食譜、取來各類原料以及烘製蛋糕等一系列動做的總和

如今假設tom貓的主人站在門外須要tom去開門

tom想了想,給主人開門的任務比給jerry鼠作蛋糕的任務更重要,因而tom立馬先記下照着食譜作到第幾步(保存進程的當前狀態),而後跑去給主人開門。這裏,咱們看處處理機從一個進程(作蛋糕)切換到另外一個高優先級的進程(開門),每一個進程擁有各自的程序(食譜和開鎖)。開門以後,tom又回來從他離開時的那一步繼續作蛋糕

須要強調的是:同一個程序執行兩次,那也是兩個進程,好比打開快播,雖然都是同一個軟件,可是一個能夠播放蒼井空,一個能夠播放飯島愛,分別作不一樣的事情也不會混亂

三 進程調度

要想多個進程交替運行,操做系統必須對這些進程進行調度,這個調度也不是隨即進行的,而是須要遵循必定的法則,由此就有了進程的調度算法。

先來先服務調度算法

先來先服務(FCFS)調度算法是一種最簡單的調度算法,該算法既可用於做業調度,也可用於進程調度。FCFS算法比較有利於長做業(進程),而不利於短做業(進程)。由此可知,本算法適合於CPU繁忙型做業,而不利於I/O繁忙型的做業(進程)。

短做業優先調度算法

短做業(進程)優先調度算法(SJ/PF)是指對短做業或短進程優先調度的算法,該算法既可用於做業調度,也可用於進程調度。但其對長做業不利;不能保證緊迫性做業(進程)被及時處理;做業的長短只是被估算出來的。

時間片輪轉法

時間片輪轉(Round Robin,RR)法的基本思路是讓每一個進程在就緒隊列中的等待時間與享受服務的時間成比例。在時間片輪轉法中,須要將CPU的處理時間分紅固定大小的時間片,例如,幾十毫秒至幾百毫秒。若是一個進程在被調度選中以後用完了系統規定的時間片,但又未完成要求的任務,則它自行釋放本身所佔有的CPU而排到就緒隊列的末尾,等待下一次調度。同時,進程調度程序又去調度當前就緒隊列中的第一個進程。

多級反饋隊列

前面介紹的各類用做進程調度的算法都有必定的侷限性。如短進程優先的調度算法,僅照顧了短進程而忽略了長進程,並且若是並未指明進程的長度,則短進程優先和基於進程長度的搶佔式調度算法都將沒法使用。

而多級反饋隊列調度算法則沒必要事先知道各類進程所需的執行時間,並且還能夠知足各類類型進程的須要,於是它是目前被公認的一種較好的進程調度算法。在採用多級反饋隊列調度算法的系統中,調度算法的實施過程以下所述。

(1) 應設置多個就緒隊列,併爲各個隊列賦予不一樣的優先級。第一個隊列的優先級最高,第二個隊列次之,其他各隊列的優先權逐個下降。該算法賦予各個隊列中進程執行時間片的大小也各不相同,在優先權愈高的隊列中,爲每一個進程所規定的執行時間片就愈小。例如,第二個隊列的時間片要比第一個隊列的時間片長一倍,……,第i+1個隊列的時間片要比第i個隊列的時間片長一倍。

(2) 當一個新進程進入內存後,首先將它放入第一隊列的末尾,按FCFS原則排隊等待調度。當輪到該進程執行時,如它能在該時間片內完成,即可準備撤離系統;若是它在一個時間片結束時還沒有完成,調度程序便將該進程轉入第二隊列的末尾,再一樣地按FCFS原則等待調度執行;若是它在第二隊列中運行一個時間片後仍未完成,再依次將它放入第三隊列,……,如此下去,當一個長做業(進程)從第一隊列依次降到第n隊列後,在第n 隊列便採起按時間片輪轉的方式運行。

(3) 僅當第一隊列空閒時,調度程序才調度第二隊列中的進程運行;僅當第1~(i-1)隊列均空時,纔會調度第i隊列中的進程運行。若是處理機正在第i隊列中爲某進程服務時,又有新進程進入優先權較高的隊列(第1~(i-1)中的任何一個隊列),則此時新進程將搶佔正在運行進程的處理機,即由調度程序把正在運行的進程放回到第i隊列的末尾,把處理機分配給新到的高優先權進程。

相關文章
相關標籤/搜索