操作系統的知識點總結

操作系統是配置在計算機硬件上的第一層軟件,是控制計算機所有操作的軟件。下面是小編爲你帶來的操作系統的知識點總結 ,歡迎閱讀。

操作系統的知識點總結

操作系統的概念

操作系統:是管理計算機軟硬件資源的程序,同時它又是用戶與計算機硬件的接口。

操作系統的構成

進程管理、內存管理、文件管理、輸入/輸出系統管理、二級存儲管理、聯網、保護系統、命令解釋程序

操作系統的類別

經過多年的發展,操作系統多種多樣。爲提高大型計算機系統的資源利用率,操作系統從批處理,多道程序發展爲分時操作系統。爲了滿足計算機處理實時事件的需要,就有實時操作系統。爲適應個人計算機系統的需要又出現了桌面操作系統。爲適應並行系統的需要,就有了多處理器操作系統。爲滿足網絡和分佈計算的需要,就有了網絡操作系統和分佈式操作系統。此外,還有爲支持嵌入式計算機的嵌入式操作系統。

計算環境

從計算機誕生至今,操作系統總是與具體的計算環境相聯繫,它總是在某種計算環境中設置和使用,就目前來看計算環境可分爲以下幾類:

1. 傳統計算環境

指普通意義下的獨立或聯網工作的通用計算機所形成的計算環境。

2.基於Web的計算環境

互聯網的普及使得計算被延伸到Web環境。

3.嵌入式計算環境

嵌入式計算機就是安裝在某些設備上的計算部件,其計算相對比較簡單。

進程的概念

什麼是進程?它與程序有什麼區別?

程序:用戶爲完成某一個特定問題而編寫的操作步驟。

進程:可以簡單地被看作是正在執行的程序。但是進程需要一定的資源來完成它的任務(例如CPU時間、內存、文件和I/O設備) 。

進程與程序的區別在於進程是動態的、有生命力的,而程序是靜態的。一個程序加載到內存,系統就創建一個進程,程序執行結束後,該進程也就消亡了。

在計算機中,由於多個程序共享系統資源,就必然引發對CPU的爭奪。如何有效地利用CPU資源,如何在多個請求CPU的進程中選擇取捨,這就是進程管理要解決的問題。

進程控制塊PCB(略)

爲了控制進程,操作系統就必須知道進程存儲在哪裏,以及進程的一些屬性。

進程控制塊是進程實體的一部分,是操作系統中記錄進程的專用數據結構。一個新的進程創建時,操作系統就會爲該進程建立一個進程控制塊。操作系統根據進程控制塊對併發進程進行控制。

進程調度及隊列圖

計算機採用多道程序的目的是使得計算機系統無論何時都有進程運行,單處理器的計算機在某一時刻CPU只能運行一個進程,如果存在多個進程,其它進程就需要等待CPU空閒時才能被調度執行。

當一個進程處於等待或CPU時間片用完時,操作系統就會從該進程中拿走CPU控制權,然後再交給其它進程使用,這就是進程的調度。

CPU調度及其準則

在設計CPU調度程序時主要應該考慮的準則包括:

(1) CPU使用率。讓CPU儘可能地忙。

(2) 吞吐量。讓CPU在一定時間內完成的進程數儘可能多。

(3) 週轉時間。讓進程從提交到運行完成的時間儘可能短。

(4) 等待時間。讓進程在就緒隊列中等待所花時間之和儘可能短。

(5) 響應時間。讓進程從提交請求到產生第一響應之間的時間儘可能短。

主要的CPU調度算法

1、 先到先服務

2、 最短作業優先

3、 優先權

4、 輪轉

5、 多級隊列

6、 多級反饋隊列

進程的同步與互斥

進程的'同步就是指相互協作的進程不斷調整它們之間的相對速度,以實現共同有序地推進。

換句話說,在操作系統中,允許多個進程併發運行。然而,有些進程之間本身存在某種聯繫,它們在系統中需要一種協作,以保證進程能正確有序地執行並維護數據的一致性。

在操作系統中,可能存在着多個進程。而系統中一些資源一次只允許一個進程使用,這類資源被稱爲臨界資源。在進程中訪問臨界資源的那段程序稱爲臨界區。當一個進程進入臨界區執行時,其它進程就不允許進入臨界區執行,否則就會導致錯誤結果。由此得出:

多個進程併發執行時,只允許一個進程進入臨界區運行,這就是進程的互斥。

例如:多個進程在競爭使用打印機時表現爲互斥。

一個文件可供多個進程共享,其中有一個進程在寫操作時,其它進程則不允許同時寫或讀,表現爲互斥。

進程的死鎖及處理方法

在多道程序設計中,多個進程可能競爭一定數量的資源。一個進程在申請資源時,如果所申請資源不足,該進程就必須處於等待狀態。如果所申請的資源被其它進程佔有,那麼進程的等待狀態就可能無法改變,從而形成進程之間相互一直等待的局面,這就是死鎖。

競爭資源引起死鎖

引起死鎖的四個必要條件:

互斥:任一時刻只能有一個進程獨佔某一資源,若另一進程申請該資源則需延遲到該資源釋放爲止。

佔有並等待:即該進程佔有部分資源後還在等待其它資源,而該資源被其它進程佔有。

非搶佔:某進程已佔用資源且不主動放棄它所佔有的資源時,其它進程不能強佔該資源,只有等其完成任務並釋放資源。

循環等待:在出現死鎖的系統中,一定存在這樣一個進程鏈,其中每個進程至少佔有其它進程所必需的資源,從而形成一個等待鏈。

處理死鎖問題的三種方式:

可使用協議預防和避免死鎖,確保系統從不會進入死鎖狀態。

可允許系統進入死鎖狀態,然後檢測出死鎖狀態,並加以恢復。

可忽略進程死鎖問題,並假裝系統中死鎖從來不會發生。即沒有必要把精力花在小概率事件上。

處理死鎖優先考慮的順序:先預防和避免  再檢測和恢復

內存管理

內存是現代操作系統的核心。內存用於容納操作系統和各種用戶進程,是可以被CPU和I/O設備所共同訪問的數據倉庫。計算機的所有程序運行時都要調入內存。

內存管理的主要工作是:爲每個用戶進程合理地分配內存,以保證各個進程之間在存儲區不發生衝突;當內存不足時,如何把內存和外存結合起來,給用戶提供一個比實際內存大得多的虛擬內存,使得程序能順利執行。內存管理包括內存分配、地址映射、內存保護和擴充。

用戶程序執行與地址映射

用戶編寫程序在執行前,需要多個處理步驟,這些步驟可將源程序轉變爲二進制機器代碼,然後在內存中等待執行。當然有時並非每個步驟都是必需的。

通常,將指令和數據的地址映射成內存地址可以發生在以下三個執行階段。(瞭解)

1.編譯階段:如果在編譯時就知道進程將在內存中的什麼位置駐留,那麼編譯器就可以直接以生成絕對地址代碼。

2.加載階段: 不知道進程將駐留在什麼位置,那麼編譯器就必須生成程序的邏輯地址,在加載階段再轉變成內存的絕對地址。

3.執行階段:如果進程在執行時可以從一個內存段移動到另一個內存段,那麼進程的絕對地址映射工作只能延遲到執行時進行。

物理地址空間與邏輯地址空間

物理地址:是計算機內存單元的真實地址。

物理地址空間:由物理地址所構成的地址範圍。

邏輯地址:用戶程序地址,從0開始編址。

邏輯地址空間:由邏輯地址所構成的地址範圍。

地址映射:用戶程序在運行時要裝入內存,這就需要將邏輯地址變換成物理地址,這個過程稱爲地址映射,也稱重定位。

用戶編寫的源程序是不考慮地址的,源程序經CPU編譯後產生邏輯地址。從CPU產生的邏輯地址轉換爲內存中的物理地址的映射是由計算機中被稱爲內存管理單元的硬件設備來實現的,將邏輯地址與內存管理單元中存放的內存基址相加就得到了物理地址。

進程使用內存的交換技術

爲了更加有效地使用內存,進程在不運行時,可以暫時從內存移至外存上,直到需要再運行時再重新調回到內存中。也就是說內存管理程序可將剛剛運行過的進程從內存中換出以釋放出佔用的內存空間,然後將另一個要運行的進程佔據前者釋放的內存空間。

計算機工作時,爲了將多個進程放入到內存就必須考慮在內存中如何放置這些進程。

內存分配方案-連續

對於連續內存分配方案,開始時所有內存是一個大的孔,隨着內存分配的進行就會形成位置上不連續的大小不一的孔。在連續內存分配方案中,當新進程需要內存時,爲其尋找合適的孔,實現內存分配 。該方案爲每個進程所分配的內存物理地址空間在位置上是連續的。

內存分配方案-分頁式

分頁管理基本思想:

o 內存物理地址空間劃分爲若干個大小相等的塊(頁框)

o 進程的邏輯地址空間也劃分爲同樣大小的塊(頁面)

o 內存分配時每個頁面對應地分配一個頁框,而一個進程所分得頁框在位置上不必是連續的。

頁表:操作系統爲每個用戶程序建立一張頁表,該表記錄用戶程序的每個邏輯頁面存放在哪一個內存物理頁框。

虛擬內存方案

虛擬內存是一個容量很大的存儲器的邏輯模型,它不是任何實際的物理存儲器,它一般是藉助硬盤來擴大主存的容量。

虛擬內存:對於一個進程來講,如果僅將當前要運行的幾個頁面裝入內存便可以開始運行,而其餘頁面可暫時留在磁盤上,待需要時再調入內存,並且調入時也不佔用新的內存空間,而是對原來運行過的頁面進行置換。這樣,就可以在計算機有限的內存中同時駐留多個進程並運行。而對用戶來講感覺到系統提供了足夠大的物理內存,而實際上並非真實的,這就是虛擬內存。

頁面請求與頁面置換算法

頁面請求:在虛擬內存技術中,進程運行時並沒有將所有頁面裝入到內存,在運行過程中進程會不斷地請求頁面,如果訪問的頁面已在內存,就繼續執行下去;但如果要訪問的頁面尚未調入到內存,便請求操作系統將所缺頁面調入內存,以便進程能繼續運行下去。

頁面置換:如果請求頁面調入內存時,分配給該進程的頁框已用完,就無法立即裝入所請求頁面。此時,必須將進程中的某個頁面從內存的頁框調出到磁盤上,再從磁盤上將所請求的頁面調入到內存的該頁框中。這個過程叫做頁面置換。

文件管理

文件管理是操作系統最常見的組成部分。文件管理主要提供目錄及其文件的管理。

文件的概念

文件:保存在外部存儲設備上的相關信息的集合。

文件命名:文件主名+擴展名

文件存取屬性:

只讀:只允許授權用戶進行讀操作。

讀寫:只允許授權用戶進行讀和寫的操作。

文檔:允許任何用戶進行讀寫操作。

隱藏:不允許用戶直接看到文件名。

文件系統:是對文件進行操作和管理的軟件,是用戶與外存之間的接口。這個系統將所有文件組織成目錄結構保存在外存,一個文件對應其中的一個目錄條。目錄條記錄有文件名、文件位置等信息。

操作系統對文件的基本操作包括:

創建文件、文件寫、文件讀、文件重定位、文件刪除、文件截短。

對文件的其它操作包括:文件複製、重命名、更改屬性等。