在自考之——我看《作業系統概論》部落格中,我對作業系統的知識進行了歸納和總結。這篇文章可以說是自己在第一次接觸作業系統的內容之後的總結。總體來說,它能夠幫助自己巨集觀把控這部分知識。何以見得?在軟體設計師考試中同樣會遇到這部分知識,感覺哪哪都熟悉,但是哪哪都提不起來。好在,我想起了自己當時的總結,看完之後,頓時輕鬆了許多。
作業系統的主要功能就是管理資源,包括硬體資源和軟體資源。主要內容分為:處理器管理,儲存管理,檔案管理,裝置管理,併發程序。併發程序可以說是在前幾章的基礎上產生的問題。
先看下圖:
假設圖中的程式1,程式2,程式3,它們都分為3個步驟執行:輸入(i),計算,輸出(o)。
順序執行:(看單道程式執行示意圖)
在程式1的程序開啟到結束的期間內,沒有其他程式的程序在進行。在這段時間內,只有程式1在執行。它占有計算機的輸入裝置,cpu和輸出資源。儘管在這段時間內,某一小段時間它不用輸入裝置,但是其他程式也不能用。
特點:系統中只有乙個程式在執行。
獨佔系統中所有資源。
不受外界影響。
併發執行:(看多道程式執行示意圖)
在一段時間內,有兩個或兩個以上的程式同時處於開始執行但尚未結束的狀態。
乙個程式要執行,首先得把程式裝入記憶體中,在裝入記憶體之後,才能由cpu排程進行處理。
放入記憶體中的程式只有在執行完後,才會釋放在記憶體中的空間。
在圖中的「多道執行程式示意圖」中,我們看到,程式1還沒執行完畢,程式2,3 就都處在執行但未結束的階段。
說明這幾個程式都已在主存中。
這裡就要引出單道批處理系統和多道批處理系統了。
單道和多道的主要區別是:
單道:一次只能在主存中裝入1個程式。
多道:一次能在主存中裝入多個程式。
所以在單道批處理系統中,當程式1裝入記憶體後,執行輸入,計算,輸出完畢之後,釋放了在記憶體中的空間,程式2才能再裝入,進行輸入,計算,輸出。
在多道批處理系統中,當程式1裝入記憶體後,只要記憶體剩餘空間滿足程式2,程式2也會裝入記憶體中,這樣他們就有機會交替使用計算機中的資源。
因此單道批處理系統和順序執行聯絡到了一起。多道批處理系統和併發執行聯絡到了一起。
如圖所示:
作業排程發生背景:主存只能存乙個作業或者是主存空間有限的情況下,當輸入井中有多個作業時,通過作業排程演算法決定哪個作業優先調入主存中。
程序排程發生背景:cpu中在某一時刻只能執行乙個作業,當主存中有多個處於就緒狀態的作業時,通過程序排程演算法決定哪個作業進入cpu。
總結:通過再次學習,了解一些概念的由來,任何概念的提出都有一定的理由和背景。我們知道了它們提出的背景的同時,加深了我們對知識點的理解。
作業系統 處理器排程
1 cpu資源的時分復用 程序切換 cpu資源的當前占用者切換。處理器排程 排程程式 挑選就緒程序的核心函式。2 排程演算法 3 死鎖 死鎖是多個程序在爭奪資源的過程中造成的僵局。例如 a和b程序都需要資源s1和s2,當a獲得了s1,b獲得了s2,但是兩個人都不釋放獲得的資源,但是也都不能執行,這就...
現代作業系統 處理器(讀書筆記)
1 cpu工作週期 從記憶體中取出指令,解碼以確定其型別和運算元,接著執行。2 每個cpu都有一套可執行的專門指令集。3 cpu訪問記憶體取出指令的時間比執行指令花費的時間要久的多,所以所有的cpu內部都有儲存關鍵變數和臨時資料的暫存器。為什麼?4 某些指令的功能 從暫存器存入記憶體,或者從記憶體調...
作業系統原理 處理器排程
1 處理機按照層次被劃分為為 排程 排程按照頻率從高到低依次被命名為低階排程,中級排程和高階排程 低階排程 又稱為程序排程,此種排程頻率最高.也是最基本的排程。就是cpu不再執行當前程序,而是執行乙個就緒態的程序 中級排程 又稱為交換排程,這種排程就是將記憶體中暫時不用的程序移至外存.把外存等待的程...