第一章 概述
1.1 目標與功能
1.1.1
作業系統:
- 控制應用程式的程式
- 應用程式和硬體間的介面
三大目標:
- 方便:用戶使用
- 有效:使用系統資源
- 擴展:開發、測驗、引入新的系統功能
計算機中硬體以上的第一層軟體,是應用軟體、系統軟體的基礎,
服務:
1. 程式開發:提供編輯器、除錯器等應用程式開發工具
2. 程式運行:程式的加載、空間分配等作業
3. I/O訪問:隱藏I/O細節,統一I/O介面
4. 檔案訪問:隱藏物理介質細節,保護訪問
5. 系統訪問:控制對共享系統的訪問,避免資源沖突
6. 錯誤檢測和回應:檢測、回應錯誤并清除錯誤條件
7. 記賬:記錄資源利用率和性能
以上七條是面向作業系統第一個目標:方便
1.1.2 OS作為資源管理器
一臺計算機是一組資源,這組資源由OS管理
OS與普通軟體功能相同,都是處理器執行的一段程式或一組程式
OS常釋放控制(完成調度),這時CPU停止運行OS程式,轉去執行更有用的作業(單核),之后OS再恢復控制
作為資源管理器
- 分配、管理記憶體(分頁、分段)
- I/O訪問(互斥等)
- 對檔案資源的訪問控制和使用
- 對處理器的分配
OS一部分在記憶體:內核程式
另一部分在外存:控制I/O訪問
1.1.3易擴展性
適應硬體升級(如分頁需硬體支持),修復錯誤,新服務等
故而采用模塊化設計:便于添加和修改模塊功能
1.2 OS 歷史
1.2.1串行處理(處理機制)
此時尚無作業系統,用戶按順序訪問計算機,
問題:硬拷貝(用本子記)預定機器時間造成浪費;程式運行前的編譯、加載、鏈接也花費大量時間,
1.2.2簡單批處理
第一個作業系統是批處理系統,誕生于20世紀50年代中期
監控程式(早期作業系統):一次處理一批程式(歌單,一次播放一組歌,但一個一個播放)
程式完成處理后回傳監控程式,監控程式自動加載下一個程式
監控程式功能:
- 作業的自動續接
- 記憶體保護:保護監控程式所在的記憶體區域
- 定時器:防止某作業獨占系統
- 特權指令:只可由監控系統執行的指令
- 中斷
正是記憶體保護和特權指令的出現引入了運行模式,不同模式的訪問權限不同
-
用戶模式:用戶程式以此模式執行,有些記憶體區域受到保護,特權指令不允許執行
-
內核模式:監控程式以此模式執行,可以執行特權指令
簡單批處理的缺點:處理器常處于空閑狀態,因為I/O對于處理器而言速度太慢
1.2.3多道批處理
當一個作業等待I/O時,可以先執行另一個作業
由于待運行作業需要保存在記憶體中,所以需要記憶體管理
多道程式設計可以現主提高系統設備利用率:
- 記憶體中存放多個作業
- 多個作業可并發執行
- 作業調度程式
硬體支持:支持I/O中斷和DMA的硬體
多道批處理特點:多道性、調度性、無序性、無互動能力
并發與并行:并發是在一段時間內有多個程式同時進行,但可能仍然是一個運行完另一個運行,若多核情況下同時運行成為并行,并發包括并行
1.2.4 分時系統(分享處理器時間)
為實作人機互動,由多終端共享主機
分時系統:
- 采用多道程式設計
- 多個用戶共享處理器
- 多個用戶通過不同終端同時訪問系統,由OS控制每個用戶在很短的時間內交替執行(快于人的反應時間)
分時系統特點:多路性,獨立性,及時性,互動性
| 系統 | 多道批處理 | 分時系統 |
|---|---|---|
| 目標 | 充分利用cpu | 人機互動 |
| 指令源 | 作業 | 用戶 |
第一個分時系統:CTSS
一句話做題:
- 寫入的比已有的占空間大:已有的寫出
- 寫入的小,騰出空間給寫入的,但一部分仍留存在其中
時間片技術:系統時鐘固定產生中斷,中斷處OS恢復控制權,將處理器分配給一個新用戶,而當前用戶被搶占
實時系統
系統能及時回應外部請求,在規定時間內開始或完成對某事件的處理,并控制所有實時任務協調運行
實時系統應用:航空軍事、工業控制
實時系統特點:可確定性,可回應性,用戶控制,可靠性,故障榷訓能力
1.3 OS主要成就(四個重要理論進展)
1.3.1 行程
劇本是程式的話,演出就是行程
行程
- 一個正在運行的程式
- 計算機中正在運行的程式的一個實體
- 可分配給處理器并由處理器執行的一個物體
- 由一個單一順序執行緒、一個當前狀態和一組相關資源所表征的活動單元
行程三大組成部分:
- 一段可執行程式
- 程式所需要的相關資料
- 程式的執行背景關系(行程狀態)
行程背景關系包括:行程狀態和OS用于管理和控制行程所需的資料
1.3.2 記憶體管理
檔案是一個有名稱的物件,是基本單元
檔案系統:用于長期檔案存盤
虛擬存盤:以邏輯方式訪問存盤器
- 換入與換出:作業部分駐留記憶體,缺頁時安排換入換出
分頁:行程分為大小相同的塊——頁
- 虛地址:由頁號、頁內偏移量組成,用于映射一個物理地址
1.3.3 資訊保護和安全
四類典型安全問題
1.3.4 調度和資源管理
調度策略:公平、有效、有差別(區分行程長短)
1.4現代OS特征(重點)
-
微內核
- 給內核分配一些基本功能:地址空間、通信、基本調度
- 基于C/S架構,可定制服務程式,稱為“服務器”
- 系統結構更靈活
- 優點:簡化了實作,提供了靈活性,適合于分布式環境
-
單體內核
- 大內核作為一個行程實作,共享地址空間
- OS提供的功能大都由此內核提供
-
多執行緒
- 把執行一個應用程式的行程劃分為可同時進行的多個執行緒(執行緒為作業單元)
- 行程:一個或多個執行緒和相關資源的集合
- 調度單元:執行緒
- 資源單元:資料
-
對稱多處理(SMP,多個處理器)
- 多個執行緒和行程可以并行運行
- 具有多個處理器,對用戶透明,OS負責多個行程的同步
- 優于多道程式設計:可用多個cpu運行同一個行程/一次可執行多個不同行程,即可同時執行多個不同行程
- 可通過減少cpu降低性能,也可反過來提升性能
- 優點:
- 可用性:單個處理器失效不會導致機器停止
- 漸增性:性能隨添加cpu逐漸增高
- 擴展性:廠商依據性能定價
- 與多執行緒的不同:多執行緒在單處理器計算機仍然有用,而SMP對非 執行緒化的行程同樣有效,這兩個方式形成互補
-
分布式OS
- 給用戶錯覺:用戶只有自己一個(其實是多個) - 分布式尚落后于單核和SMP -
面向物件技術
- OS基于物件的結構有利于程式員定制 - 可給內核增加模塊化的拓展而不破壞完整性 - 讓分布式更容易實作(基于物件,參考更方便)
1.5 容錯性 (容錯率)
系統或部件發生錯誤時仍可繼續運行的能力
提高容錯性的方法:
- 行程隔離
- 并發控制(行程通信、協作)
- 虛擬機(應用隔離)
- 檢測點和回滾機制
1.6 多處理器和多核OS設計考慮因素
多道程式設計+SMP
關鍵:執行緒和行程并發、調度、同步、記憶體管理、可靠性、容錯性
并行能力的三個層次:
1. 指令級并行
2. 程式并行
3. 應用程式并行
虛擬機
為一個行程分配一個或多個核,讓這些cpu專門為該行程服務
多核時OS負責分配核,而在資源分配上并不關注
1.7 主流OS簡介
-
Win系
-
傳統UNIX
-
現代UNIX
-
Linux
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234384.html
標籤:其他
上一篇:大一C語言程式設計練習題(四)
下一篇:找人
