1. 程式人生 > >程式設計師教程-2章-作業系統基礎知識

程式設計師教程-2章-作業系統基礎知識

  下週考試,書已經全部看一遍,果然逼一下自己還是有點用的,接下來幾天只要把剩下的兩章寫出來,雖然質量沒有保證,但畢竟寫出來了

  目錄結構如下

  2.1 作業系統概述

    1 作業系統的作用、特徵與功能

    2 作業系統的分類與特點

  2.2 程序管理

    2.2.1基本概念

      1 程式執行時的特徵

      2 程序的組成

      3 程序的狀態及其狀態間的切換

    2.2.2 程序控制

    2.2.3 程序通訊

      1 同步與互斥

      2 訊號量機制

      3 高階通訊

      4 直接和間接通訊

    2.2.4 程序排程

      1 三級排程

      2 程序排程方式

      3 程序排程演算法

    2.2.5 死鎖

      1 死鎖舉例

      2 產生死鎖的原因及條件

    2.2.6 執行緒

  2.3 儲存管理

    2.3.1 基本概念

      1 儲存器的結構

      2 地址重定位

    2.3.2 儲存管理方案

      1 分割槽儲存管理

      2 分割槽保護

    2.3.3 分頁儲存管理

      1 純分頁儲存管理

      2 快表

    2.3.4 分段儲存管理

      1 分段儲存管理方式的引入

      2 分段的基本原理

    2.3.5 虛擬儲存管理

      1 程式區域性性原理

      2 虛擬儲存器的實現

      3 請求分頁管理的實現

      4 頁面置換演算法

  2.4 裝置管理

    2.4.1 裝置管理概述

      1 裝置的分類

      2 裝置管理的目標與任務

    2.4.2 裝置管理技術

      1 通道技術

      2 DMA技術

      3 緩衝技術

      4 Spooling技術

    2.4.3 磁碟排程

      1 磁碟驅動排程

      2 旋轉排程演算法

  2.5 檔案管理

    2.5.1 基本概念

      1 檔案

      2 檔案系統

      3 檔案分類

    2.5.2 檔案的結構和組織

      1 檔案的邏輯結構

      2 檔案的物理結構

    2.5.3 檔案目錄

      1 檔案控制塊

    2.5.4 存取方法、存取控制

      1 檔案的存取方法

      2 檔案儲存空間的管理

    2.5.5 檔案的使用

    2.5.6 檔案的共享和保護

      1 檔案的共享

      2 檔案的保護

    2.5.7 系統的安全與可靠性

      1 系統的安全

      2 檔案系統的可靠性

  2.6 作業管理

    2.6.1 作業管理

      1 作業控制

      2 作業的狀態及其轉換

      3 作業控制塊和作業後備佇列

    2.6.2 作業排程

      1 排程演算法的選擇

      2 作業排程演算法

      3 作業排程演算法效能的衡量指標

    2.6.3 人機介面

  簡單快速寫一點東西,實在不願敲東西

  2.1 作業系統概述

  作業系統是計算機系統中必不可少的核心繫統軟體,其他軟體(如編輯程式、彙編程式、編譯程式、資料庫管理系統等系統軟體,以及大量的應用軟體)是建立在作業系統的基礎上,並在作業系統的統一管理和支援下執行

    1 作業系統的作用、特徵與功能:作業系統有效地組織和管理系統中的各種軟、硬體資源,合理地組織計算機系統工作流程,控制程式的執行,並且向用戶提供一個良好的工作環境和友好的介面

    作業系統的4個特徵是併發性、共享性、虛擬性和不確定性

    作業系統的功能分為程序管理,檔案管理,儲存管理,裝置管理,作業管理

    2 作業系統分類及特點

    1)批處理作業系統:分為單道批處理和多道批處理

    2)分時作業系統:一個計算機系統與多個終端裝置連線,時間片輪轉,使用者感覺整個系統均歸其一人佔用。分時系統主要有4個特點:多路性,獨立性,互動性,及時性

    3)實時作業系統:對外來資訊能夠以足夠快的速度進行處理,並在被控物件允許的時間範圍內做出快速反應

    4)網路作業系統:是聯網計算機能方便而有效地共享網路資源,為網路使用者提供各種服務的軟體和有關協議的集合。

    5)分散式作業系統:由多個分散的計算機經連線而成的計算機系統,系統中的計算機無主、次之分,任意兩臺計算機可以通過通訊交換資訊

    6)微型計算機作業系統:WINDOWS MAC OS LINUX

    7)嵌入式作業系統:執行在嵌入式智慧晶片環境中,對整個智慧晶片以及它所控制的各種部件裝置等資源進行統一協調、處理、指揮和控制

    特點:微型化,可定製,實時性,可靠性,易移植性

  2.2 程序管理

  也稱處理機管理,其核心是如何合理地分配處理機的時間,提高系統的效率

    2.2.1 基本概念

      1 程式執行時的特徵

      順序執行:順序性、封閉性和可再現性

      併發執行:失去了程式的封閉性,程式和機器執行程式的活動不再一一對應,併發程式間具有相互制約性

      2 程序的組成:程序通常由程式、資料和程序控制塊(PCB)組成,其中,PCB是程序存在的唯一標誌

      3 程序的狀態及其狀態間的切換

      1)三態模型:執行,就緒,阻塞

      2)五態模型:在三態的基礎上增加新建,終止狀態

    2.2.2 程序控制:程序控制是指對系統中所有程序從建立到消亡的全過程實施有效的控制

    程序控制是由作業系統核心中的原語實現的

    原語是指由若干條機器指令組成的,用於完成特定功能的程式段。原語的特點是在執行時不能被分割,即原子操作要麼都做,要麼都不做

    2.2.3 程序通訊

    程序通訊是指各個程序交換資訊的過程

      1 同步與互斥:同步是合作程序間的直接制約問題,互斥是申請臨界資源程序間的間接制約問題

      1)程序間的同步:略

      2)程序間的互斥:略

      3)臨界區管理的原則:有空即進,無空則等,有限等待,讓權等待

      2 訊號量機制:一種有效的程序同步與互斥工具

      1)整型訊號量與PV操作

      公用訊號量:實現程序間的互斥,初值為1或資源的數目

      私用訊號量:實現程序間的同步,初值為0或某個正整數

      P操作表示申請一個資源,V操作表示釋放一個資源

      3 高階通訊:主要分為共享儲存模式,訊息傳遞模式和管道通訊

      4 直接和間接通訊:直接通訊是將訊息傳送給指定程序,間接通訊是以信箱為媒體來實現通訊的

    2.2.4 程序排程

      1 三級排程

      高階排程:決定處於輸入池中的哪個後備作業可以調入主系統做好執行的準備,成為一個或一組就緒程序,系統中一個作業只需經過一次高階排程

      中級排程:決定處於交換區中的就緒程序哪個可以調入記憶體,以便直接參與對CPU的競爭

      低階排程:決定處於記憶體中的就緒程序哪個可以佔用CPU

      2 程序排程方式:指當有更高優先順序的程序到來時如何分配CPU。排程方式分為可剝奪和不可剝奪兩種

      3 直程排程演算法

      1)先來先服務

      2)時間片輪轉:固定時間片,可變時間片

      3)優先順序排程:靜態優先順序,動態優先順序

      4)多級反饋排程:時間片輪轉和優先順序演算法的綜合和發展

    2.2.5 死鎖:所謂死鎖,是指兩個以上的程序互相都要求使用對方已經佔有的資源而導致無法繼續執行的現象

      1 死鎖舉例

      2 產生死鎖的原因及條件

      4個必要條件:互斥條件,請求保持條件,不可剝奪條件,環路條件

    2.2.6 執行緒:執行緒作為排程和分配的基本單位,程序作為獨立分配資源的單位

  2.3 儲存管理

  儲存管理的物件是主儲存器(主存、記憶體),主要功能包括分配和回收主存空間、提高主存的利用率,擴充主存、對主存資訊實現有效保護

    2.3.1 基本概念

      1 儲存器的結構:暫存器-主存-外存結構和暫存器-快取-主存-外存結構。虛擬地址,地址空間。邏輯地址空間,實體地址空間

      2 地址重定位:將邏輯地址轉換成主存實體地址的過程稱為地址重定位。靜態地址重定位,動態地址重定位

    2.3.2 儲存管理方案:主要目的是解決多個使用者使用主存的問題:其管理方案主要包括分割槽儲存管理,分頁儲存管理,分段儲存管理,段頁式儲存管理以及虛擬儲存管理

      1 分割槽儲存管理:把主存使用者區劃分成若干個區域,每個區域分配給一個使用者作業使用

      按分割槽的劃分方式不同,可分為固定分割槽,可變分割槽和可重定位分割槽

       2 分割槽保護:上界/下界暫存器保護,基址/限長暫存器保護

    2.3.3 分頁儲存管理

      1 純分頁儲存管理

      1)分頁原理:將一個程序的地址空間劃分成若干個大小相等的區域,稱為頁。

      2)地址結構:兩部分:前一部分為頁號P;後一部分為偏移量W,即頁內地址

      3)頁表:將程序的每一頁離散地分配到記憶體的多個物理塊中後,系統應保證能在記憶體中找到每個頁面所對應的物理塊,為此,系統為每個程序建立了一張頁面對映表,簡稱頁表

      4)地址變換機構:利用頁表把使用者程式中的邏輯地址變換成記憶體中的實體地址,即將使用者程式中的頁號變換成記憶體中的物理塊號

      2 快表:在地址對映機構中增加一個小容量的聯想儲存器,聯想儲存器由一組高速儲存器線成,稱為快表,用來儲存當前訪問頻率高的少數活動頁的頁號及相關資訊

    2.3.4 分段儲存管理

      1 分段儲存管理方式的引入:段是資訊是邏輯單位,因此分段系統的一個突出優點是易於實現段的共享,即允許若干個程序共享一個或多個段,可以簡單地實現段的保護

      2 分段的基本原理:段號+段內地址

    2.3.5 虛擬儲存管理

    不把作業全部裝入主存,一部分暫存磁碟上,需要時再裝入主存。

      1 程式區域性性原理

      時間區域性性:程式中的某條指令一量執行,則不久的將來該指令可能再次被執行,如果某個儲存單元被訪問,則不久以後該儲存單元可能再次被訪問

      空間區域性性:一旦程式訪問了某個儲存單元,則在不久的將來,其附近的儲存單元也最有可能被訪問

      2 虛擬儲存器的實現:具有請求調入功能和置換功能,可以把作業的一部分裝入主存使其開始執行,能從邏輯上對主存容量進行擴充

      虛擬儲存器實現主要有以下3種方式:

      (1)請求分頁系統

      (2)請求分段系統

      (3)請求段頁式系統

      3 請求分頁管理的實現:是在純分頁系統是基礎上,增加了請求調頁功能、頁面置換功能所形成的頁式虛擬儲存系統

      4 頁面置換演算法

      (1)最佳置換演算法:選擇永不使用的,或者是最長時間內不再被訪問的頁面置換出去

      (2)先進先出置換演算法

      (3)最近最少使用(LRU)

      (4)最近未用(NUR)

  2.4 裝置管理

  是作業系統最繁雜而且與硬體緊密相關的部分,不但要管理實際I/O操作的裝置,還要管理支援裝置

    2.4.1 裝置管理概述

    裝置是計算機系統與外界互動的工具,具體負責計算機與外部的輸入輸出工作,所以稱為外部裝置(簡稱外設)。在計算機系統中,將負責管理裝置和輸入輸出的機構稱為輸入輸出系統(IO系統),IO系統由裝置、控制器、通道、匯流排和輸入輸出軟體組成

      1 裝置的分類

      (1)按資料組織分類:分為塊裝置和字元裝置

      (2)從資源分配角度分類,分為獨佔裝置、共享裝置和虛擬裝置

      (3)按資料傳輸率分類:分為低速裝置、中速裝置和高速裝置

      2 裝置管理的目標與任務

      1)裝置管理的目標:提高裝置的利用率

      2)裝置管理的任務:在多道程式環境下,當多個程序競爭使用裝置時,按一定策略分配和管理各種裝置,控制裝置的各種操作

    2.4.2 裝置管理技術:包括通道,DMA,緩衝和Spooling技術

      1 通道技術:設定通道後,CPU只需向通道發出輸入輸出命令,通道收到命令後,從記憶體中取出本次輸入輸出要執行的通道程式加以執行,當通道完成輸入輸出任務後,才向CPU發出中斷訊號

      2 DMA技術:直接記憶體存取:是指資料在記憶體與輸入輸出裝置之間實現直接成塊傳送,即在記憶體與輸入輸出裝置之間傳送一個數據塊的過程中,只需要CPU在開始與結束時進行處理,實際操作過程由DMA硬體直接執行完成,CPU在此傳送過程中可執行別的任務

      3 緩衝技術:提高外設利用率,儘可能使外設處於忙狀態

      4 Spooling技術:是關於慢速字元裝置如何與計算機主機交換資訊的一種技術

    2.4.3 磁碟排程

    磁碟是可被多個程序共享的裝置,當有多個程序請求訪問磁碟時,為了保證資訊的安全,系統每一時刻只允許一個程序啟動磁碟進行I/O操作,其餘的程序只能等待。磁碟排程分為兩類:移臂排程和旋轉排程

      1 磁碟驅動排程

      (1)先來先服務

      (2)最短尋道時間優先

      (3)掃描演算法

      (4)單向掃描排程演算法

      2 旋轉排程演算法:略

  2.5 檔案管理

  作業系統中的檔案系統專門負責管理外儲存器上的資訊,使使用者可以”按名“高效、快速和方便地儲存資訊

    2.5.1 基本概念

      1 檔案:是具有符號名的、在邏輯上具有完整意義的一組相關資訊項的集合

      2 檔案系統:作業系統中實現檔案統一管理的一組軟體和相關資料的集合,專門負責管理和存取檔案資訊的軟體機構

      檔案系統功能:按名存取,統一的使用者介面,併發訪問和控制,安全性控制,優化效能,差錯恢復

      3 檔案分類:略

    2.5.2 檔案的結構和組織

    指檔案的組織形式。邏輯結構和物理結構

      1 檔案的邏輯結構:一類是有結構的記錄式檔案,另一類是無結構的流式檔案

      2 檔案的物理結構:指檔案的內部組織形式,即檔案在物理儲存裝置上的存放方法

      檔案物理結構:連續結構,連結結構,索引結構,多個物理塊的索引表

    2.5.3 檔案目錄

    為了實現”按名存取“,系統必須為每個檔案設定用於描述和控制檔案的資料結構,它至少要包括檔名和存放檔案的實體地址,這個資料結構稱為檔案控制塊(FCB),檔案控制塊的有序集合稱為檔案目錄

      1 檔案控制塊:包含基本資訊,存取控制資訊,使用資訊

      2 目錄結構:3類:一級目錄結構,二級目錄結構,多級目錄結構

    2.5.4 存取方法、存取控制

      1 檔案的存取方法:檔案的存取方法是指讀寫檔案儲存器上的一個物理塊的方法,通常分為順序存取和隨機存取

      2 檔案的保護:檔案系統對檔案的保護常採用存取控制方式進行。所謂存取控制,就是不同的使用者對檔案的訪問規定不同的許可權,以防止檔案被未經檔案主同意的使用者訪問

      檔案保護的方式:存取控制矩陣,存取控制表,使用者許可權表,密碼

    2.5.7 系統的安全與可靠性

      1 系統的安全:4個級別:系統級,使用者級,目錄級和檔案級

      1)系統級:不允許未經核誰的使用者進入系統

      2)使用者級:對所有使用者分類和對指定使用者分配訪問權

      3)目錄級:只有系統核心才具有寫目錄的權利

      4)檔案級:通過系統管理員或檔案主對檔案屬性的設定來控制使用者對檔案的訪問

      2 檔案系統的可靠性:指系統抵抗和預防各種物理性破壞和人為破壞的能力

      轉儲和恢復,日誌檔案,檔案系統的一致性

  2.6 作業管理

  作業是系統為完成一個使用者的計算任務(或一次事務處理)所做的工作總和

    2.6.1 作業管理

      1 作業控制:可採用離線和聯機兩種方式控制使用者作業的執行。

      作業由程式、資料和作業說明書三部分組成

      2 作業的狀態及其轉換

      作業的狀態為4種:提交、後備、執行和完成

      3 作業控制塊和作業後備佇列:作業控制塊(JCB)是記錄與該作業有關的各種資訊的登記表。JCB是作業存在的唯一標誌,主要包括使用者名稱、作業名和狀態標誌等資訊

    2.6.2 作業排程

      1 排程演算法的選擇

      考慮如下因素:均衡使用系統資源,平衡系統和使用者的要求,縮短作業的平均週轉時間

      2 作業排程演算法

      (1)單道批量處理:先來先服務,短作業優先,響應比高者優先

      (2)多道批處理:優先順序排程和均衡排程演算法

      3 作業排程演算法效能的衡量指標

    2.6.3 人機介面

    使用者介面是計算機中實現使用者與計算機通訊的軟體、硬體部分的總稱,使用者介面也稱使用者介面,或人機介面

    (1)控制面板式使用者介面

    (2)字元使用者介面

    (3)圖形使用者介面

    (4)新一代使用者介面:虛擬現實技術將使用者介面發展推向一個新階段,人將作為參與者,以自然的方式與計算機生成的虛擬環境進行通訊