1. 程式人生 > >第一章 作業系統引論(2)

第一章 作業系統引論(2)

1. 作業系統的基本特徵
①併發
併發和程序是現代OS最重要的基本概念
區別併發和並行:
並行性:兩個或多個事件在同一時刻發生
併發性:兩個或多個事件在同一時段發生

②共享
系統中的資源可供記憶體中多個併發執行的程序(執行緒)共同使用。
主要有兩種共享方式:
互斥共享方式:
對臨界資源(如印表機)採用該方式,資源分配給某程序後未釋放前,不能被其他程序所用。臨界資源(獨佔資源):一段時間內只允許一個程序訪問的資源。
同時訪問方式:
對允許“同時”訪問的資源(如磁碟)採用該方式,但“同時”仍然是“巨集觀並行微觀序列”的,不是真正的同時
併發和共享互為存在的條件
③虛擬
通過某種技術把一個物理實體變為若干個邏輯對應物,兩種實現方式:
時分複用


一個物品被多人分時使用,在一段時間內就表現為每個人都有一個該物品可用,1虛擬為n。
空分複用
一個物品劃分為多個部分,多個人每人都有一部分可用,主觀上看也是1虛擬成n。
④非同步
指程序的執行順序和執行時間的不確定性

2. 作業系統的主要功能
①處理機管理功能(作業管理)
1)程序控制:
為作業建立程序、撤銷已結束的程序,控制程序在執行過程中的狀態轉換。以及執行緒的建立撤銷等。
2)程序同步:
為多個程序執行進行協調(包括互斥和同步)
3)程序通訊
用來實現在相互合作程序間的資訊交換(直接通訊和網路通訊)
4)排程:
作業排程(入記憶體)和程序排程(分配CPU儲存器管理功能)
②儲存器管理功能


1)記憶體分配:
為每道程式分配記憶體空間(包產到戶)具體分配涉及許多細節:
分配方式:動態、靜態。分配機制需要的資料結構、分配演算法、回收記憶體功能
2)記憶體保護:
確保每道使用者程式都只在自己的記憶體空間中執行
需要一個硬體——界限暫存器,存放正在執行程序的記憶體上下界,每條指令的訪問地址要進行越界檢查,一般用硬體實現檢查
3)地址對映(變換):
程序的邏輯地址到記憶體實體地址的對映。
程式編譯形成的目標程式地址都是從0開始,是邏輯地址真正調入記憶體某個空間存放的地址是實體地址。
4)記憶體擴充:
用虛擬儲存技術解決記憶體容量不足的問題
請求調入功能
頁面置換功能

③裝置管理功能
1)緩衝管理:

匹配CPU和外設的速度,提高兩者的利用率和並行操作程度;
2)裝置分配:
按某種裝置分配策略,為之分配所需的裝置; 應設定裝置控制表等資料結構記錄裝置及其控制器的識別符號和狀態;不同的裝置,分配方式不同
3)裝置處理:
裝置處理程式即驅動程式,及時X響應裝置控制器請求,實現CPU和裝置控制器之間的通訊。
④檔案管理功能
1)儲存空間的管理:
分配外存空間,提高外存的利用率,提高檔案系統的執行速度;需要相應的資料結構,記錄檔案儲存空間的使用情況;要有對儲存空間分配和回收的功能
2)目錄管理:
為檔案建立目錄項,並有效組織,實現方便的按名存取;提供快速的目錄查詢手段,提高檔案檢索速度;還需實現檔案共享。
3)檔案的讀寫管理和保護:
讀寫操作與有效的存取控制功能。
⑤使用者介面
1)命令介面
使用者可通過鍵盤終端發出命令以控制作業的執行。
聯機使用者介面:
由一組磁碟操作命令和命令解釋程式組成。
離線使用者介面:
由一組作業控制語言組成,如批處理檔案。
2)程式介面
使用者程式在執行中訪問系統資源而設定,由一組系統呼叫組成。
早期組合語言才能使用,後高階語言及C語言中都給出了系統呼叫對應的庫函式。
3)圖形介面

3. 作業系統的結構設計
無結構OS
模組化OS結構
分層式OS結構
微核心OS結構
前三種屬於傳統OS結構