1.1 什么是操作系統(tǒng)痰憎?
操作系統(tǒng)的定義
- 沒有公認(rèn)的精確定義
- 操作系統(tǒng)是一個==控制程序==
- 執(zhí)行用戶程序,給用戶程序提供各種服務(wù)
- 操作系統(tǒng)是一個==資源管理器==
- 提供訪問計算機軟硬件資源的高效手段
-
解決資源訪問沖突
操作系統(tǒng)的地位
操作系統(tǒng)軟件的組成
- Shell --命令行接口
- GUI --圖形用戶接口
- Kernel --操作系統(tǒng)的內(nèi)部
操作系統(tǒng)內(nèi)核特征
-
并發(fā)
- 計算機系統(tǒng)中同時存在多個運行的程序,需要OS管理和調(diào)度
-
共享
- “同時”訪問(宏觀)
- 互斥訪問(微觀)
-
虛擬
- 利用多道程序設(shè)計技術(shù),讓每個用戶都覺得有一個計算機為他服務(wù)
-
異步
- 程序的執(zhí)行并不是一貫到底,而是走走停停的凡辱,向前推進(jìn)的速度不可預(yù)知
- 只要運行環(huán)境相同,OS需要保證程序運行的結(jié)果也要相同
1.2 為什么學(xué)習(xí)操作系統(tǒng)栗恩?
- 綜合課程 :結(jié)合許多不同課程
- 材料:操作系統(tǒng)概念和原理透乾、源代碼
- 技能:操作系統(tǒng)的設(shè)計和實現(xiàn)
- 目的
- 地位:計算機科學(xué)研究的基石之一
- 操作系統(tǒng)具有挑戰(zhàn)性
- 權(quán)衡
- 硬件
1.3 操作系統(tǒng)實例
- UNIX
- Linux
- Windows
1.4 操作系統(tǒng)的演變
硬件抽象和協(xié)調(diào)管理
- 單用戶系統(tǒng)
- 批處理系統(tǒng)
- 多道程序系統(tǒng)
- 保持多個工作在內(nèi)存中并且在各工作間復(fù)用CPU
- 系統(tǒng)效率和系統(tǒng)吞吐量
- 分時
- 定時中斷用于工作對CPU的復(fù)用
- 交互性、及時性
- 個人計算機:每個用戶一個系統(tǒng)
- 分布式計算:每個用戶多個系統(tǒng)
- 網(wǎng)絡(luò)支持成為一個重要的功能
1.5 操作系統(tǒng)結(jié)構(gòu)
簡單結(jié)構(gòu)
- MS-DOS-在最小的空間磕秤,設(shè)計用于提供大部分功能
- 沒有拆分為模塊
- 接口和功能水平?jīng)]有很好的分離乳乌,主要用匯編編寫
分層結(jié)構(gòu)
- 將操作系統(tǒng)分為多層
- 每層建立在低層之上
- 最底層是硬件
- 最高層是用戶界面
-
使用模塊化,每一層僅使用更低一層的功能(操作)和服務(wù)
uCore
微內(nèi)核結(jié)構(gòu)(Microkernel)
- 盡可能把內(nèi)核功能移到用戶空間
- 用戶模塊間的通信使用消息傳遞
- 好處:靈活市咆、安全...
- 缺點:性能
外核結(jié)構(gòu)(Exkernel)
- 讓內(nèi)核分配機器的物理資源給多個應(yīng)用程序汉操,讓每個程序自己決定分配資源
- 保護(hù)與控制分類
- 程序能連接到操作系統(tǒng)庫(libOS)實現(xiàn)了操作系統(tǒng)抽象
VMM(虛擬機管理器)
VMM