再看《作業系統》–處理機管理

來源:互聯網
上載者:User
文章目錄
  • 1,先來看看進程
  • 2,處理機管理
  • 2.1 處理機分配策略
  • 3,各種進程調度演算法簡單介紹
  • 4,到哪裡,住哪去?

作業系統的一個重要任務就是管理處理機,大白話點就是:管理CPU的分配。如何分配CPU資源,才能使使用者得到儘快的響應,提高CPU的利用率,這是作業系統中處理機管理部分的工作。

1,先來看看進程

進程的定義也有好幾種。同樣地,這些定義描述了進程的不同側面。比如:

*進程是資源分派的單元

*進程是正在執行的指令段

1.1 進程是資源分派的單元

CPU時間,I/O連接埠,TCP/IP連接埠等電腦資源均是以進程為配置單位。簡單些講進程就是個資源的最終“消費者”。

1.2 進程是正在執行的指令段

這句定義有些籠統,其實還為發執行,控制這些指令段,還有需要很多附加資訊的支援。比如程式計數器,進程堆棧等等。

進程是有狀態的,看圖:

現實實現比這個要複雜,但原理還是一樣的。

2,處理機管理

我們上面說過,進程是資源分派的單元。處理機(CPU)資源的分配,體現在進程調度上,即讓哪個進程獲得CPU時間,得以執行。

2.1 處理機分配策略

進程的調度有些策略,即常見的調度演算法。但這些策略通常都會帶著一些優缺點。一個媽幾個孩子,餵奶的時候怎麼樣都不會做到100%公平。我們來看看常的調度演算法:

*先來先服務(First Come First Service)

*短作業優先(Sort Job First)

*時間片輪轉

*基於優先權

3,各種進程調度演算法簡單介紹

每種調度演算法都基於一些簡單地思想,同時也具有一定的優缺點。

3.1 先來先服務演算法

演算法:進程按照提交的時間依次被調度執行

隱喻:銀行的領號排除服務。現在稍大一些的銀行,當你準備辦理業務時,你得先領個號碼紙。紙號寫著你的排除的編號和前面還有未服務使用者的數目。類似於:

使用者按照號碼,依次排隊辦理服務。

優點:讓人感覺很公平(實現起來簡單)

缺點:試想,在等待了幾分鐘後,你的前面只有一位使用者了,快輪到你了,你正竊喜。誰知,你前面那位是個大嬸。手中拿了幾毛錢,存取和查看一共用了半天時間。等輪到你的時候,銀行下班了。這時你不崩潰才怪。

官方術語這樣講的:對於一些小作業,等待時間過長。

3.2 短作業優先

演算法:對於佔用CPU時間較少的作業,優先執行

隱喻:打飯的時候,總是有人插隊,口裡說:我打一個菜就好了——短作業優先(具體講是搶先)執行了。

優點:理論上講這個演算法是最優的,每個人平均等待時間最短。

缺點:嘔心的是,你往往不知道別人真的是打一個菜呢,還是指一分菜(四菜一湯)呢?

3.3 時間片輪轉

演算法:將CPU劃分為一個個時間片,每個作業執行一個時間片後,換下一個作業

隱喻:(暫缺)

優點:每進程都有機會執行

缺點:頻繁地進程切換太浪費時間了

3.4 基於優先權

演算法:根據對資源的使用方式,將進程劃分三六九等,層級越高,越早被調度

隱喻:根據學曆那人劃分三六九等,層級越高,收入越高。

優點:較高的CPU利用率

缺點:當層級太低時,容易產生無窮等待現象

4,到哪裡,住哪去?

本節主要引入了進程的概念和處理管理主要任務:進程調度的主要策略。

講到了進程,就不得不說說進程同步。

這便是下一篇的內容。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.