天天看點

作業系統——處理器管理

      在自考之——我看《作業系統概論》部落格中,我對作業系統的知識進行了歸納和總結。這篇文章可以說是自己在第一次接觸作業系統的内容之後的總結。總體來說,它能夠幫助自己宏觀把控這部分知識。何以見得?在軟體設計師考試中同樣會遇到這部分知識,感覺哪哪都熟悉,但是哪哪都提不起來。好在,我想起了自己當時的總結,看完之後,頓時輕松了許多。

      作業系統的主要功能就是管理資源,包括硬體資源和軟體資源。主要内容分為:處理器管理,存儲管理,檔案管理,裝置管理,并發程序。并發程序可以說是在前幾章的基礎上産生的問題。

      本文主要介紹處理器管理的一些内容:

  • 單道批處理系統和程式的順序執行
  • 多道批處理系統和程式的并發執行

      先看下圖:

作業系統——處理器管理

      假設圖中的程式1,程式2,程式3,它們都分為3個步驟執行:輸入(I),計算,輸出(O)。

      順序執行:(看單道程式執行示意圖)

      在程式1的程序開啟到結束的期間内,沒有其他程式的程序在進行。在這段時間内,隻有程式1在執行。它占有計算機的輸入裝置,CPU和輸出資源。盡管在這段時間内,某一小段時間它不用輸入裝置,但是其他程式也不能用。

      特點:

      系統中隻有一個程式在運作。

      獨占系統中所有資源。

      不受外界影響。

      并發執行:(看多道程式執行示意圖)

      在一段時間内,有兩個或兩個以上的程式同時處于開始運作但尚未結束的狀态。

      一個程式要執行,首先得把程式裝入記憶體中,在裝入記憶體之後,才能由CPU排程進行處理。

      放入記憶體中的程式隻有在執行完後,才會釋放在記憶體中的空間。

      在圖中的“多道執行程式示意圖”中,我們看到,程式1還沒執行完畢,程式2,3 就都處在運作但未結束的階段。

      說明這幾個程式都已在主存中。

      這裡就要引出單道批處理系統和多道批處理系統了。

      單道和多道的主要差別是:

      單道:一次隻能在主存中裝入1個程式。

      多道:一次能在主存中裝入多個程式。

      是以在單道批處理系統中,當程式1裝入記憶體後,執行輸入,計算,輸出完畢之後,釋放了在記憶體中的空間,程式2才能再裝入,進行輸入,計算,輸出。

      在多道批處理系統中,當程式1裝入記憶體後,隻要記憶體剩餘空間滿足程式2,程式2也會裝入記憶體中,這樣他們就有機會交替使用計算機中的資源。

      是以單道批處理系統和順序執行聯系到了一起。多道批處理系統和并發執行聯系到了一起。

  • 處理器的兩級排程:

      如圖所示:

作業系統——處理器管理

      作業排程發生背景:主存隻能存一個作業或者是主存空間有限的情況下,當輸入井中有多個作業時,通過作業排程算法決定哪個作業優先調入主存中。

      程序排程發生背景:CPU中在某一時刻隻能執行一個作業,當主存中有多個處于就緒狀态的作業時,通過程序排程算法決定哪個作業進入CPU。

      總結:通過再次學習,了解一些概念的由來,任何概念的提出都有一定的理由和背景。我們知道了它們提出的背景的同時,加深了我們對知識點的了解。

繼續閱讀