萬盛學電腦網

 萬盛學電腦網 >> 操作系統基本知識 >> 操作系統主要知識點

操作系統主要知識點

  下面小編為大家講解操作系統主要知識點,歡迎大家閱讀,一起跟著小編來學習啦,多學點知識,終身受益。

  掌握操作系統的類型、功能、層次結構和進程概念,以及作業、處理機、存儲、文件和設備等管理的原理和方法。

  1.1 操作系統類型和功能

  根據使用環境和對用戶作業的處理方式劃分,操作系統的基本類型可以分為批處理操作系統、分析操作系統和實時操作系統3大類型。

  分時操作系統使多個用戶同時以會話方式控制自己程序的運行,每個用戶都感到似乎各自有一台獨立的、支持自己請求服務的系統。

  實時系統往往是專用的,系統與應用很難分離,常常緊密結合在一起。實時系統並不強調資源利用率,而更關心及時性(時間緊迫性)、可靠性和完整性。實時系統又分成實時過程控制與實時信息處理兩種。

  網絡環境下的操作系統又分成網絡操作系統和分布式操作系統。分布式操作系統要求一個統一的操作系統,負責全系統的資源分配和調度,為用戶提供統一的界面。它是一個邏輯上緊密耦合的系統。而網絡操作系統用戶則需指明欲使用哪一台計算機上的哪個資源。

  操作系統主要有5個功能模塊:處理器管理、存儲管理、設備管理、文件管理和用戶接口。

  1.2 進程和進程管理

  (1)進程

  進程是一個程序關於某個數據集的一次運行。也就是說,進程是運行中的程序,是程序的一次運行活動。相對於程序,進程是一個的概念,而程序是靜態的概念,是指令的集合,因而進程具有動態性和並發性。

  在操作系統中進程是進行系統資源分配、調度和管理的最小單位,注意,現代操作系統中還引入了線程(Thread)這一概念,它是處理器分配資源的最小單位。

  (2)進程的狀態及其轉換

  多道系統中,進程的運行是時走時停的。它在處理器上的交替運行,使它的運行狀態不斷地變化著,最基本的狀態有3種,即運行、就緒和阻塞。

  ·運行:正占用處理器。

  ·就緒:只要獲得處理器即可運行。

  ·阻塞:正等待某個事件的發生。

  (3)進程控制塊

  進程是一個動態的概念,在操作系統中,引入數據結構--進程控制塊(簡記為PCB)來標記進程。PCB是進程存在的唯一標志,PCB描述了進程的基本情況。從靜態的觀點看,進程由程序、數據和進程控制塊組成;從動態的觀點看,進程是計算機狀態的一個有序集合。

  程序是進程運行所對應的運行代碼,一個進程對應於一個程序,一個程序可以同時對應於多個進程,這個程序代碼在運行過程中不會被改變,常稱為純碼程序或可重入程序,他們是可共享的程序。

  進程控制塊保存進程狀態、進程性質(如優先程度)、與進程有關的控制信息(如參數、信號量和消息等)、相應隊列和現場保護區域等。進程控制塊隨著進程的建立而產生,隨著進程的完成而撤消。

  PCB是操作系統核心中最主要的數據結構之一,它既是進程存在的標志和調度的依據,又是進程可以被打斷並能恢復運行的基礎。操作系統核心通過PCB管理進程,一般PCB是常駐內存的,尤其是調度信息必須常駐內存。

  (4)進程管理

  在操作系統中有許多進程,它們對應著不同的或相同的程序,競爭地使用著系統的資源。進程管理涉及到進程控制、隊列管理和進程調度等。

  進程的生命過程從它被創建時開始,直至任務終止而撤消,其間會經歷各種狀態的轉換,它們都是在操作系統控制下完成的。操作系統提供了對進程的基本操作,也稱為原語。這些原語包括創建原語、阻塞原語、終止原語、優先級原語和調度原語。

  進程調度即處理器調度,它的主要功能是確定在什麼時候分派處理器,並確定分給哪一個進程。在分時系統中,一般有一個確定的時間單位(時間片)。當一進程用完一個時間單位時,就發生進程調度,即讓正在運行的進程改變狀態並轉入就緒隊列的隊尾,再由調度原語將緒隊列的首進程取出,投入運行。

  進程調度的方法基本上分為兩類:非剝奪調度與剝奪調度。所謂非剝奪調度是指一旦某個作業或進程占有了處理器,別的進程就不能把處理器從這個進程手中奪走;相反,如果別的進程可將處理器從這個進程手中奪走則是剝奪調度。

  進程調度的算法采用服務於系統目標的策略,對於不同的系統與系統目標,常采用不同的調度算法,如先來先服務、優先數調度和輪轉法等。

  (5)管程

  管程是一種並發性的構造,包括用於分配一個特定的共享資源或一組共享資源的數據和過程。為了完成分配資源的功能,進程必須調用特定的管程入口。許多進程可能打算在不同的時間進入管程,但在管程邊界上嚴格地實施互斥,在某一時刻,只允許一個進程進入。當管程中已有一個進程時,其他希望進入管程的進程必須等待。這種等待是由管程自動管理的。

  管程中的數據或者是管程中所有的全局變量,或者是某個特定過程的局部變量。所有這些數據只能在管程內訪問,在管程外的進程無法訪問管程內的數據,這叫做信息掩蔽。

  1.3 存儲管理

  現代計算機系統中的存儲系統常是多級存儲體系,至少有主存(內存)和輔存(外存)兩級,有的系統有更多級數。主存大小由系統硬件決定,是實實在在的存儲,它的存儲容量受到實際存儲單元的限制。虛擬存儲(簡稱虛存)不考慮實際主存的大小和數據存取的實際地址,只考慮相互有關的數據這間的相對位置,其容量由計算機的地址的位數決定。

  1.4 設備管理

  設備管理是對計算機輸入/輸出系統的管理。其主要任務有:實現對外部設備的分配和回收;啟動外部設備;控制輸入/輸出設備與處理器或主存間交換數據;實現對磁盤的調度;處理設備的中斷;實現虛擬設備等。

  外部和主存之間常用的傳輸控制方式有4種:程序控制方式、中斷方式、直接存儲訪問(DMA)方式和通道方式。

  1.5 文件管理

  (1)文件系統

  操作系統的文件系統包括兩個方面:一方面包括負責管理文件的一組系統軟件,另一方面包括被管理的對象文件。文件系統的主要目標是提高存儲器的利用率,接受用戶的委托,實施對文件的操作。主要問題是管理輔助存儲器,實現文件叢名字空間到輔存地址空間的轉換,決定文件信息的存放位置、存放形式和存放權限,實現文件和目錄的操作,提供文件共享能力和安全設施,提供友好的用戶接口。

  (2)文件的結構和組織

  文件的結構是指文件的組織形式。從用戶觀點所看到的文件組織形式,稱為文件的邏輯結構;從實現觀點考查文件在輔助存儲器上的存放方式,常稱為文件的物理結構。

  文件的邏輯組織是為了方便用戶使用。一般文件的邏輯結構可以分為兩種:無結構的字符流

  文件和有結構的記錄文件,後者也稱為有格式文件。優化文件的物理結構是為了提高存儲器的利用效率和降低存取時間。文件的存儲設備通常被劃分為大小相同的物理塊,物理塊是分配和傳輸信息的基本單位。文件的物理結構是指文件在存儲設備上的存儲主法。文件的物理結構涉及文件存儲設備的組塊策略和文件分配策略,決定文件信息在存儲設備上的存儲位置。

  1.6 作業管理和用戶界面

  作業(Job)是系統為完成一個用戶的計算任務或一次事務處理所做的工作的總和。操作系統中用來控制作業的進入、執行和撤消的一組程序稱為作業管理程序,這些控制功能也能通過把作業步細化、通過進程的執行來實現。

  用戶的作業可以通過直接的方式,由用戶自己按照作業步順序操作;也可以通過間接的方式,由用戶事先編寫作業步依次執行的說明,一次交給操作系統,由系統按照說明依次處理。前者稱為聯機方式,後者稱為脫機方式。

  一般操作系統提供兩種作業控制方式,一種為聯機作業方式,另一種為脫機作業方式。聯機作業方式是通過直接輸入作業控制命令來提交和運行用戶作業。脫機作業方式是通過作業控制語言(JCL,也稱為作業控制命令)編寫用戶作業說明書。在這種方式中,用戶不直接干預作業的運行,而是把作業與作業說明書一起交給系統(稱為提交)。

  作業調度主要是從後備狀態的作業中挑選一個(或一些)作業投入運行。根據不同的調度目標,有不同的算法。作業調度算法有許多種,它們與進程調度相似,有的適宜於單道系統,有的適宜於多道系統。它們是先來先服務(FCFS)、短作業優先(SJF)、響應比(HRN)高者優先和成先級調度等。

  1.7 其他管理

  (1)死鎖問題

  如果一個進程正在等待一個不可能發生的事件,則稱該進程處於死鎖狀態。系統發生死鎖是指一個或多個進程處於死鎖狀態。產生死鎖的主要原因是共享的系統資源不足,資源分配策略和進程的推進順序不當。系統資源既可能是可重用的永久性資源,也可能是消耗性的臨時資源。處於死鎖狀態的進程不能繼續運行又占有了系統資源,阻礙其他進程的運行。對待死鎖的策略

  主要有:

  ①死鎖的預防。不讓任一產生死鎖的必要條件發生就可以預防死鎖。

  ②死鎖的避免。這種策略不對用戶進程的推進順序加以限制,在進程申請資源時先判斷這次分配安全否,只有安全實施分配,典型的算法是銀行家算法。

  ③死鎖的檢測。這種策略采用資源請求分配圖的化簡方法來判斷是否發生了不安全狀態。資源請求分配圖是一種有向圖,表示進程與資源之間的關系。死鎖的檢測是在需要的時刻執行的,當發現系統處於不安全狀態時,即執行死鎖的解除策略。

  ④死鎖的解除。解除死鎖的基本方法是剝奪。一種方法是把資源從一些進程處剝奪分給別的進程,

copyright © 萬盛學電腦網 all rights reserved