明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

Linux系統(tǒng)進(jìn)程管理介紹

[摘要]微軟系統(tǒng)的進(jìn)程管理,無法就是打開任務(wù)管理器,查看進(jìn)程、結(jié)束進(jìn)程、或者創(chuàng)建進(jìn)程。但是在Linux系統(tǒng)中進(jìn)程管理是一件比較復(fù)雜的工作了。本文就來詳細(xì)介紹一下Linux系統(tǒng)進(jìn)程管理。普通調(diào)度算法FCFSF...

  微軟系統(tǒng)的進(jìn)程管理,無法就是打開任務(wù)管理器,查看進(jìn)程、結(jié)束進(jìn)程、或者創(chuàng)建進(jìn)程。但是在Linux系統(tǒng)中進(jìn)程管理是一件比較復(fù)雜的工作了。本文就來詳細(xì)介紹一下Linux系統(tǒng)進(jìn)程管理。

Linux系統(tǒng)進(jìn)程管理介紹

  普通調(diào)度算法

  FCFS

  First Come First Service。FIFO方式的調(diào)度策略,先來后到的服務(wù)方式。

  這種方式的優(yōu)勢是實(shí)現(xiàn)簡單,也是最容易想到的調(diào)度方案。但是有兩個重大問題:

  1.對短進(jìn)程的運(yùn)行不利

  短進(jìn)程必須等到前面長進(jìn)程執(zhí)行完畢了之后才能運(yùn)行,可能會等待較長時間。

  2.對IO密集型運(yùn)行不利

  IO密集型比短進(jìn)程還慘。還不容易排隊(duì)等到他運(yùn)行了,結(jié)果沒運(yùn)行一會兒就因?yàn)镮O阻塞去了,等IO操作完畢了之后,還得重新排隊(duì)。

  所以這個算法對IO密集型的進(jìn)程運(yùn)行效率是極其低下的。

  RR

  Round Robin。輪詢調(diào)度算法為每個進(jìn)程分配固定的時間片,時間片用完了就必須重新到隊(duì)尾去排隊(duì)。

  這樣的設(shè)計(jì)解決了FCFS的第一個問題,相對而言也部分解決了第2個問題。

  但是對IO密集型進(jìn)程依然解決得不太好,有一個優(yōu)化的方案就是設(shè)計(jì)兩個隊(duì)列,將因?yàn)镮O阻塞的進(jìn)程單獨(dú)放一個隊(duì)列,在選擇下一個運(yùn)行進(jìn)行的時候?qū)@個隊(duì)列的進(jìn)程提權(quán)。

  FCFS還有另外一個比較復(fù)雜的問題就是如何選擇時間片。時間片過長就退化成FCFS算法了,過短又會造成切換開銷太大。

  Prediction

  基于預(yù)測的算法。這類預(yù)測算法都是假設(shè)我們知道每個進(jìn)程總共所需要的時間,以及IO占比信息。

Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng)