A. 計算機操作系統知識點
計算機操作系統知識點
網路的神奇作用吸引著越來越多的用戶加入其中,正因如此,網路的承受能力也面臨著越來越嚴峻的考驗―從硬體上、軟體上、所用標准上......,各項技術都需要適時應勢,對應發展,這正是網路迅速走向進步的催化劑。下面是關於計算機操作系統知識點,希望大家認真閱讀!
4.1.1操作系統的概念
操作系統:是管理計算機軟硬體資源的程序,同時它又是用戶與計算機硬體的介面。
4.1.2操作系統的構成
進程管理、內存管理、文件管理、輸入/輸出系統管理、二級存儲管理、聯網、保護系統、命令解釋程序
4.2.1操作系統的類別
經過多年的發展,操作系統多種多樣。為提高大型計算機系統的資源利用率,操作系統從批處理,多道程序發展為分時操作系統。為了滿足計算機處理實時事件的需要,就有實時操作系統。為適應個人計算機系統的需要又出現了桌面操作系統。為適應並行系統的需要,就有了多處理器操作系統。為滿足網路和分布計算的需要,就有了網路操作系統和分布式操作系統。此外,還有為支持嵌入式計算機的嵌入式操作系統。
4.2.2計算環境
從計算機誕生至今,操作系統總是與具體的計算環境相聯系,它總是在某種計算環境中設置和使用,就目前來看計算環境可分為以下幾類:
1.傳統計算環境
指普通意義下的獨立或聯網工作的通用計算機所形成的計算環境。
2.基於Web的計算環境
互聯網的普及使得計算被延伸到Web環境。
3.嵌入式計算環境
嵌入式計算機就是安裝在某些設備上的計算部件,其計算相對比較簡單。
4.3.1進程的概念
什麼是進程?它與程序有什麼區別?
程序:用戶為完成某一個特定問題而編寫的操作步驟。
進程:可以簡單地被看作是正在執行的程序。但是進程需要一定的資源來完成它的任務(例如CPU時間、內存、文件和I/O設備)。
進程與程序的區別在於進程是動態的、有生命力的,而程序是靜態的。一個程序載入到內存,系統就創建一個進程,程序執行結束後,該進程也就消亡了。
在計算機中,由於多個程序共享系統資源,就必然引發對CPU的爭奪。如何有效地利用CPU資源,如何在多個請求CPU的進程中選擇取捨,這就是進程管理要解決的問題。
4.3.3進程式控制制塊PCB(略)
為了控制進程,操作系統就必須知道進程存儲在哪裡,以及進程的一些屬性。
進程式控制制塊是進程實體的一部分,是操作系統中記錄進程的專用數據結構。一個新的進程創建時,操作系統就會為該進程建立一個進程式控制制塊。操作系統根據進程式控制制塊對並發進程進行控制。
4.3.4進程調度及隊列圖
計算機採用多道程序的目的是使得計算機系統無論何時都有進程運行,單處理器的計算機在某一時刻CPU只能運行一個進程,如果存在多個進程,其它進程就需要等待CPU空閑時才能被調度執行。
當一個進程處於等待或CPU時間片用完時,操作系統就會從該進程中拿走CPU控制權,然後再交給其它進程使用,這就是進程的調度。
4.3.5CPU調度及其准則
在設計CPU調度程序時主要應該考慮的准則包括:
(1)CPU使用率。讓CPU盡可能地忙。
(2)吞吐量。讓CPU在一定時間內完成的進程數盡可能多。
(3)周轉時間。讓進程從提交到運行完成的時間盡可能短。
(4)等待時間。讓進程在就緒隊列中等待所花時間之和盡可能短。
(5)響應時間。讓進程從提交請求到產生第一響應之間的時間盡可能短。
主要的CPU調度演算法
1、先到先服務
2、最短作業優先
3、優先權
4、輪轉
5、多級隊列
6、多級反饋隊列
4.3.7進程的同步與互斥
進程的同步就是指相互協作的進程不斷調整它們之間的相對速度,以實現共同有序地推進。
換句話說,在操作系統中,允許多個進程並發運行。然而,有些進程之間本身存在某種聯系,它們在系統中需要一種協作,以保證進程能正確有序地執行並維護數據的一致性。
在操作系統中,可能存在著多個進程。而系統中一些資源一次只允許一個進程使用,這類資源被稱為臨界資源。在進程中訪問臨界資源的那段程序稱為臨界區。當一個進程進入臨界區執行時,其它進程就不允許進入臨界區執行,否則就會導致錯誤結果。由此得出:
多個進程並發執行時,只允許一個進程進入臨界區運行,這就是進程的互斥。
例如:多個進程在競爭使用列印機時表現為互斥。
一個文件可供多個進程共享,其中有一個進程在寫操作時,其它進程則不允許同時寫或讀,表現為互斥。
4.3.8進程的死鎖及處理方法
在多道程序設計中,多個進程可能競爭一定數量的資源。一個進程在申請資源時,如果所申請資源不足,該進程就必須處於等待狀態。如果所申請的資源被其它進程佔有,那麼進程的等待狀態就可能無法改變,從而形成進程之間相互一直等待的局面,這就是死鎖。
競爭資源引起死鎖
引起死鎖的四個必要條件:
互斥:任一時刻只能有一個進程獨占某一資源,若另一進程申請該資源則需延遲到該資源釋放為止。
佔有並等待:即該進程佔有部分資源後還在等待其它資源,而該資源被其它進程佔有。
非搶占:某進程已佔用資源且不主動放棄它所佔有的資源時,其它進程不能強占該資源,只有等其完成任務並釋放資源。
循環等待:在出現死鎖的系統中,一定存在這樣一個進程鏈,其中每個進程至少佔有其它進程所必需的資源,從而形成一個等待鏈。
處理死鎖問題的三種方式:
可使用協議預防和避免死鎖,確保系統從不會進入死鎖狀態。
可允許系統進入死鎖狀態,然後檢測出死鎖狀態,並加以恢復。
可忽略進程死鎖問題,並假裝系統中死鎖從來不會發生。即沒有必要把精力花在小概率事件上。
處理死鎖優先考慮的順序:先預防和避免再檢測和恢復
4.4內存管理
內存是現代操作系統的核心。內存用於容納操作系統和各種用戶進程,是可以被CPU和I/O設備所共同訪問的數據倉庫。計算機的所有程序運行時都要調入內存。
內存管理的主要工作是:為每個用戶進程合理地分配內存,以保證各個進程之間在存儲區不發生沖突;當內存不足時,如何把內存和外存結合起來,給用戶提供一個比實際內存大得多的虛擬內存,使得程序能順利執行。內存管理包括內存分配、地址映射、內存保護和擴充。
4.4.1用戶程序執行與地址映射
用戶編寫程序在執行前,需要多個處理步驟,這些步驟可將源程序轉變為二進制機器代碼,然後在內存中等待執行。當然有時並非每個步驟都是必需的。
通常,將指令和數據的.地址映射成內存地址可以發生在以下三個執行階段。(了解)
1.編譯階段:如果在編譯時就知道進程將在內存中的什麼位置駐留,那麼編譯器就可以直接以生成絕對地址代碼。
2.載入階段:不知道進程將駐留在什麼位置,那麼編譯器就必須生成程序的邏輯地址,在載入階段再轉變成內存的絕對地址。
3.執行階段:如果進程在執行時可以從一個內存段移動到另一個內存段,那麼進程的絕對地址映射工作只能延遲到執行時進行。
4.4.2物理地址空間與邏輯地址空間
物理地址:是計算機內存單元的真實地址。
物理地址空間:由物理地址所構成的地址范圍。
邏輯地址:用戶程序地址,從0開始編址。
邏輯地址空間:由邏輯地址所構成的地址范圍。
地址映射:用戶程序在運行時要裝入內存,這就需要將邏輯地址變換成物理地址,這個過程稱為地址映射,也稱重定位。
用戶編寫的源程序是不考慮地址的,源程序經CPU編譯後產生邏輯地址。從CPU產生的邏輯地址轉換為內存中的物理地址的映射是由計算機中被稱為內存管理單元的硬體設備來實現的,將邏輯地址與內存管理單元中存放的內存基址相加就得到了物理地址。
4.4.3進程使用內存的交換技術
為了更加有效地使用內存,進程在不運行時,可以暫時從內存移至外存上,直到需要再運行時再重新調回到內存中。也就是說內存管理程序可將剛剛運行過的進程從內存中換出以釋放出佔用的內存空間,然後將另一個要運行的進程占據前者釋放的內存空間。
計算機工作時,為了將多個進程放入到內存就必須考慮在內存中如何放置這些進程。
4.4.4內存分配方案-連續
對於連續內存分配方案,開始時所有內存是一個大的孔,隨著內存分配的進行就會形成位置上不連續的大小不一的孔。在連續內存分配方案中,當新進程需要內存時,為其尋找合適的孔,實現內存分配。該方案為每個進程所分配的內存物理地址空間在位置上是連續的。
4.4.5內存分配方案-分頁式
分頁管理基本思想:
o內存物理地址空間劃分為若干個大小相等的塊(頁框)
o進程的邏輯地址空間也劃分為同樣大小的塊(頁面)
o內存分配時每個頁面對應地分配一個頁框,而一個進程所分得頁框在位置上不必是連續的。
頁表:操作系統為每個用戶程序建立一張頁表,該表記錄用戶程序的每個邏輯頁面存放在哪一個內存物理頁框。
4.5虛擬內存方案
虛擬內存是一個容量很大的存儲器的邏輯模型,它不是任何實際的物理存儲器,它一般是藉助硬碟來擴大主存的容量。
虛擬內存:對於一個進程來講,如果僅將當前要運行的幾個頁面裝入內存便可以開始運行,而其餘頁面可暫時留在磁碟上,待需要時再調入內存,並且調入時也不佔用新的內存空間,而是對原來運行過的頁面進行置換。這樣,就可以在計算機有限的內存中同時駐留多個進程並運行。而對用戶來講感覺到系統提供了足夠大的物理內存,而實際上並非真實的,這就是虛擬內存。
4.5.2頁面請求與頁面置換演算法
頁面請求:在虛擬內存技術中,進程運行時並沒有將所有頁面裝入到內存,在運行過程中進程會不斷地請求頁面,如果訪問的頁面已在內存,就繼續執行下去;但如果要訪問的頁面尚未調入到內存,便請求操作系統將所缺頁面調入內存,以便進程能繼續運行下去。
頁面置換:如果請求頁面調入內存時,分配給該進程的頁框已用完,就無法立即裝入所請求頁面。此時,必須將進程中的某個頁面從內存的頁框調出到磁碟上,再從磁碟上將所請求的頁面調入到內存的該頁框中。這個過程叫做頁面置換。
4.6文件管理
文件管理是操作系統最常見的組成部分。文件管理主要提供目錄及其文件的管理。
4.6.1文件的概念
文件:保存在外部存儲設備上的相關信息的集合。
文件命名:文件主名+擴展名
文件存取屬性:
只讀:只允許授權用戶進行讀操作。
讀寫:只允許授權用戶進行讀和寫的操作。
文檔:允許任何用戶進行讀寫操作。
隱藏:不允許用戶直接看到文件名。
文件系統:是對文件進行操作和管理的軟體,是用戶與外存之間的介面。這個系統將所有文件組織成目錄結構保存在外存,一個文件對應其中的一個目錄條。目錄條記錄有文件名、文件位置等信息。
操作系統對文件的基本操作包括:
創建文件、文件寫、文件讀、文件重定位、文件刪除、文件截短。
對文件的其它操作包括:文件復制、重命名、更改屬性等。
;