1. 程式人生 > >學習筆記——作業系統

學習筆記——作業系統

第一章 作業系統引論

1.1 作業系統的目標和作用

1.1.1 作業系統的主要目標

方便性、有效性、可擴充性、開放性。

1)方便性:配置了OS的計算機系統,使得計算機變得易學易用。

2)有效性:有兩層含義。第第一層是提高系統資源的利用率;第二層是,提高系統的吞吐量。

3)可擴充性:意味著可以方便地新增新的功能和模組,以及對原有的功能和模組進行修改。

4)開放性:系統能遵循世界標準規範,能夠遵守規範的硬體和軟體都能彼此相容,方便地實現互連。

1.1.2 作業系統的作用

可以從使用者、資源管理、資源抽象等方面考慮。

1、OS作為使用者與計算機硬體系統之間的介面

2、OS作為計算機系統資源的管理者

計算機系統的資源可分為四類:處理機、儲存器、I/O裝置及檔案(資料和程式)。處理機管理是用於分配和控制處理機;儲存器管理主要負責記憶體的分配與回收;I/O裝置管理是負責I/O裝置的分配(回收)與操縱;檔案管理是用於實現對檔案的存取、共享和保護。

3、OS實現了對計算機資源的抽象

1.1.3 推動作業系統發展的動力

1、不斷提高計算機資源利用率

2、方便使用者

3、器件的不斷更新換代

4、計算機體系結構的不斷髮展

5、不斷提出新的應用需求

1.2 作業系統的發展過程

1.2.1 未配置作業系統的計算機系統

人工方式——>離線輸入/輸出(Off-Line I/O)方式

1、人工方式(人際矛盾):

缺點有兩個。使用者獨佔全機;CPU等待人工操作。

2、Off-Line I/O方式(脫離CPU):事先將裝有使用者程式和資料的紙帶裝入紙帶輸入機,在一臺外圍機的控制下,把紙帶 上的資料輸入到磁帶上。

優點有兩個。減少了CPU的空閒時間;提高了I/O速度。

1.2.2 單道批處理系統

1、過程:把一批作業以離線方式輸入到磁帶上,並在系統中配上監督程式(CPU前身),在它的控制下,使這批作業能一個接一個地連續處理。

2、缺點:系統的資源得不到充分利用,當程式在執行中發出I/O請求後,CPU就處在等待狀態。

1.2.3 多道批處理系統

1、過程:在該系統中,使用者所提交的作業先放在外存上,並排成一個佇列,稱為“後備佇列”。然後由作業排程程式按一定的演算法,從後備程式中選擇若干個作業調入記憶體,這樣便可以在執行A程式時,利用其因I/O操作而暫停執行的CPU空擋時間,執行另一個B程式。

2、優缺點:資源利用率高;系統吞吐量大;平均週轉時間長;無互動能力。

3、需要解決的問題:處理機爭用問題;記憶體分配和保護問題;I/O裝置分配問題;檔案的組織和管理問題;作業管理問題;使用者與系統的介面問題。

1.2.4 分時系統

1、含義:在一臺主機上連線了多個配有顯示器和鍵盤的終端並由此所組成的系統,該系統允許多個使用者同時通過自己的終端,以互動方式使用計算機,共享主機中的資源。

2、解決的關鍵問題:及時接收、及時處理。

3、特徵:多路性、獨立性、及時性、互動性。

1.2.5 實時系統

1、含義:系統能及時響應外部事件的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一致地執行。

2、型別:工業(武器)控制系統、資訊查詢系統、多媒體系統、嵌入式系統。

1.2.6 微機作業系統的發展

含義:配置在微型機上的作業系統稱為微機作業系統。

單使用者單任務作業系統——>單使用者多工作業系統——>多使用者多工作業系統。

1.3 作業系統的基本特性

併發、共享、虛擬、非同步。

1.3.1 併發(Concurrence)

1、並行和併發的比較:

並行:指兩個或多個事件在同一個時間進行。

併發:指兩個或多個時間在同一個時間間隔內發生。

2、單個CPU和多個CPU的區別:

單CPU:巨集觀並行,微觀序列。

多CPU:巨集觀並行,微觀並行。

1.3.2 共享

1、含義:指系統中的資源可供記憶體中多個併發執行的程序共同使用。

2、實現方式:互斥共享方式(規定在一段時間內,只允許一個程序訪問資源);同時訪問方式。

併發和共享是多使用者(多工)OS的兩個最基本的特徵。

1.3.3 虛擬(Virtual)

1、含義:在OS中,通過某種技術將一個物理實體變為若干個邏輯上的對應物的功能。

2、實現技術:時分複用;空分複用。

1.3.4 非同步(Asynchronism)

含義:程序是以人們不可預知的速度向前推進的。

1.4 作業系統的主要功能

1.4.1 處理機的管理功能

1、程序控制:為作業建立程序、撤銷(終止)已結束的程序,以及控制程序在執行過程中的狀態轉換。

2、程序同步:在相互合作去完成共同任務的諸多程序間,由同步機構對它們的執行次序加以協調。

3、程序通訊:當相互合作的程序出於統一計算機系統時,通常在它們之間採用直接通訊方法,即由源程序利用傳送命令直接將訊息掛到目標程序的訊息佇列上,以後由目標程序利用接收命令從其訊息佇列中取出訊息。

4、排程(資源分配):包括作業排程和程序排程。

1)作業排程:它的基本任務是從後備佇列中按照一定的演算法選擇出若干個作業,為它們分配執行所需的資源,在將這些作業調入記憶體後,分別為它們建立程序,使他們都成為可能獲得處理機的就緒程序,並將它們插入就緒佇列中。

2)程序排程:從程序的就緒佇列中按照一定的演算法選出一個程序將處理機(CPU)分配給它,併為它設定執行現場,使其投入執行。

1.4.2 儲存器管理功能

1、記憶體分配

1)為每道程式分配記憶體空間;

2)提高儲存器的利用率,儘量減少不可用的記憶體空間;

3)允許正在執行的程式申請附加的記憶體空間,以適應程式和資料動態增長的要求;

記憶體分配的實現有兩種方式,分別是靜態分配和動態分配。

1)靜態分配:每個作業的記憶體空間是在作業裝入時確定的,在執行期間不允許再申請新的空間,也不允許作業在記憶體中“移動”。

2)動態分配:每個作業的基本記憶體空間也是在作業裝入時確定的,但是執行期間允許申請空間和移動。

2、記憶體保護

1)主要任務:①  確保每道使用者程式都僅在自己的記憶體空間內執行,彼此互不干擾;②絕不允許使用者程式訪問作業系統的程式和資料,也不允許使用者程式轉移到非共享的其他使用者程式中去執行。

2)簡單的實現:設定兩個界限暫存器,分別用於存放正在執行程式的上界和下界。在程式執行時,系統需對每條指令所要訪問的地址進行檢查。

3、地址對映

1)含義:將 地址空間中的邏輯地址——>實體地址。該功能應在硬體的支援下完成。

4、記憶體擴充

1)含義:藉助虛擬儲存技術,從邏輯上擴充記憶體容量。

2)實現功能:① 請求調入功能;② 置換功能。

1.4.3 裝置管理功能

1、主要任務:

1)完成使用者程序提出的I/O請求,為使用者程序分配所需的I/O裝置,並完成指定的I/O動作。

2)提高CPU和I/O裝置的利用率,提高I/O速度,方便使用者使用I/O裝置。

2、實現功能:緩衝管理、裝置分配、裝置處理(裝置驅動)。

1.4.4 檔案管理功能

1、管理物件:使用者檔案、系統檔案。

2、實現功能:檔案儲存空間的管理、目錄管理、檔案的讀/寫管理和保護。

1.4.5 作業系統與使用者之間的介面

分為使用者介面和程式介面。

使用者介面又分為聯機使用者介面、離線使用者介面、圖形使用者介面。