操作系統(tǒng)概述
一、什么是操作系統(tǒng)
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最基本、最重要的系統(tǒng)軟件,它負(fù)責(zé)管理和控制計(jì)算機(jī)的硬件與軟件資源,為用戶和其他軟件提供方便、高效、安全的使用環(huán)境。
1.1 操作系統(tǒng)的定義
從不同角度看,操作系統(tǒng)有不同的定義:
- 資源管理者:操作系統(tǒng)是計(jì)算機(jī)硬件資源的管理者
- 服務(wù)提供者:操作系統(tǒng)為用戶和應(yīng)用程序提供服務(wù)
- 系統(tǒng)擴(kuò)展器:操作系統(tǒng)擴(kuò)展了計(jì)算機(jī)硬件的功能
1.2 操作系統(tǒng)的目標(biāo)
- 方便性:為用戶提供友好的操作界面
- 有效性:提高系統(tǒng)資源利用率
- 可擴(kuò)展性:支持硬件和軟件的擴(kuò)展
- 開放性:支持不同系統(tǒng)間的互操作
二、操作系統(tǒng)的發(fā)展歷程
2.1 手工操作階段(1940s-1950s)
- 無操作系統(tǒng)
- 人工裝卸紙帶、卡片
- 程序員即操作員
2.2 批處理系統(tǒng)(1950s-1960s)
- 單道批處理系統(tǒng)
- 多道批處理系統(tǒng)
- 主要特點(diǎn):作業(yè)自動(dòng)連續(xù)處理
2.3 分時(shí)系統(tǒng)(1960s)
- 多個(gè)用戶共享計(jì)算機(jī)資源
- 交互式操作
- 典型代表:UNIX系統(tǒng)
2.4 實(shí)時(shí)系統(tǒng)(1960s)
- 硬實(shí)時(shí)系統(tǒng):嚴(yán)格的時(shí)間限制
- 軟實(shí)時(shí)系統(tǒng):相對(duì)的時(shí)間限制
- 應(yīng)用領(lǐng)域:工業(yè)控制、航空航天等
2.5 現(xiàn)代操作系統(tǒng)
- 個(gè)人計(jì)算機(jī)操作系統(tǒng)
- 分布式操作系統(tǒng)
- 嵌入式操作系統(tǒng)
- 網(wǎng)絡(luò)操作系統(tǒng)
三、操作系統(tǒng)的基本特征
3.1 并發(fā)性
- 多個(gè)程序在同一時(shí)間段內(nèi)同時(shí)執(zhí)行
- 宏觀上并行,微觀上串行
- 通過進(jìn)程管理實(shí)現(xiàn)并發(fā)
3.2 共享性
- 資源可供多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用
- 互斥共享:如打印機(jī)
- 同時(shí)訪問:如磁盤文件
3.3 虛擬性
- 通過技術(shù)將一個(gè)物理實(shí)體變?yōu)槎鄠€(gè)邏輯實(shí)體
- 虛擬處理器、虛擬內(nèi)存、虛擬設(shè)備
3.4 異步性
- 進(jìn)程以不可預(yù)知的速度向前推進(jìn)
- 可能導(dǎo)致結(jié)果的不確定性
- 操作系統(tǒng)需要保證結(jié)果的正確性
四、操作系統(tǒng)的功能
4.1 處理器管理
- 進(jìn)程控制:創(chuàng)建、撤銷、狀態(tài)轉(zhuǎn)換
- 進(jìn)程同步:協(xié)調(diào)并發(fā)進(jìn)程的執(zhí)行順序
- 進(jìn)程通信:進(jìn)程間信息交換
- 進(jìn)程調(diào)度:分配處理器時(shí)間
4.2 存儲(chǔ)器管理
- 內(nèi)存分配與回收
- 地址映射
- 內(nèi)存保護(hù)
- 內(nèi)存擴(kuò)充(虛擬存儲(chǔ))
4.3 設(shè)備管理
- 設(shè)備分配
- 設(shè)備驅(qū)動(dòng)
- 設(shè)備無關(guān)性
- 緩沖管理
4.4 文件管理
- 文件存儲(chǔ)空間管理
- 目錄管理
- 文件讀寫管理
- 文件保護(hù)
4.5 用戶接口
- 命令接口
- 圖形用戶接口
- 程序接口(系統(tǒng)調(diào)用)
五、計(jì)算機(jī)系統(tǒng)服務(wù)
5.1 操作系統(tǒng)提供的服務(wù)
5.1.1 程序執(zhí)行
- 將程序裝入內(nèi)存并運(yùn)行
- 結(jié)束程序執(zhí)行
- 異常處理
5.1.2 I/O操作
- 提供統(tǒng)一的設(shè)備訪問接口
- 隱藏硬件細(xì)節(jié)
- 提高設(shè)備利用率
5.1.3 文件系統(tǒng)操作
- 文件的創(chuàng)建、刪除、讀寫
- 目錄管理
- 文件保護(hù)和安全
5.1.4 通信服務(wù)
- 進(jìn)程間通信
- 網(wǎng)絡(luò)通信
- 資源共享
5.1.5 錯(cuò)誤檢測(cè)和處理
- 硬件錯(cuò)誤檢測(cè)
- 軟件錯(cuò)誤處理
- 容錯(cuò)機(jī)制
5.2 系統(tǒng)調(diào)用
5.2.1 系統(tǒng)調(diào)用的概念
- 操作系統(tǒng)提供給應(yīng)用程序的接口
- 應(yīng)用程序通過系統(tǒng)調(diào)用請(qǐng)求操作系統(tǒng)服務(wù)
- 運(yùn)行在核心態(tài)
5.2.2 系統(tǒng)調(diào)用的類型
- 進(jìn)程控制類系統(tǒng)調(diào)用
- 文件管理類系統(tǒng)調(diào)用
- 設(shè)備管理類系統(tǒng)調(diào)用
- 信息維護(hù)類系統(tǒng)調(diào)用
- 通信類系統(tǒng)調(diào)用
5.2.3 系統(tǒng)調(diào)用的實(shí)現(xiàn)
- 陷入機(jī)制
- 參數(shù)傳遞
- 系統(tǒng)調(diào)用表
5.3 用戶與操作系統(tǒng)的交互
5.3.1 命令解釋器
- 接收并解釋用戶命令
- 執(zhí)行相應(yīng)操作
- 提供交互環(huán)境
5.3.2 圖形用戶界面
- 窗口系統(tǒng)
- 菜單驅(qū)動(dòng)
- 鼠標(biāo)操作
六、操作系統(tǒng)的體系結(jié)構(gòu)
6.1 單體結(jié)構(gòu)
- 所有功能集中在一個(gè)內(nèi)核中
- 簡(jiǎn)單高效
- 維護(hù)困難
6.2 層次結(jié)構(gòu)
- 按功能分層
- 每層為上層提供服務(wù)
- 易于設(shè)計(jì)和調(diào)試
6.3 微內(nèi)核結(jié)構(gòu)
- 內(nèi)核只包含基本功能
- 其他功能作為服務(wù)進(jìn)程運(yùn)行
- 靈活、可擴(kuò)展
6.4 虛擬機(jī)結(jié)構(gòu)
- 在物理計(jì)算機(jī)上創(chuàng)建多個(gè)虛擬機(jī)
- 每個(gè)虛擬機(jī)運(yùn)行獨(dú)立的操作系統(tǒng)
- 資源隔離性好
七、與思考
7.1 操作系統(tǒng)的重要性
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心,它:
- 管理計(jì)算機(jī)資源
- 提供用戶接口
- 為應(yīng)用程序提供運(yùn)行環(huán)境
- 保證系統(tǒng)的安全和穩(wěn)定
7.2 學(xué)習(xí)建議
- 理論與實(shí)踐相結(jié)合:在理解概念的動(dòng)手實(shí)踐
- 建立系統(tǒng)思維:從整體上把握操作系統(tǒng)各部分的關(guān)系
- 關(guān)注最新發(fā)展:了解操作系統(tǒng)技術(shù)的最新進(jìn)展
- 多做練習(xí):通過習(xí)題鞏固知識(shí)點(diǎn)
7.3 常見問題
- 操作系統(tǒng)如何實(shí)現(xiàn)進(jìn)程的并發(fā)執(zhí)行?
- 虛擬內(nèi)存的工作原理是什么?
- 文件系統(tǒng)是如何組織和管理文件的?
- 系統(tǒng)調(diào)用的執(zhí)行過程是怎樣的?
自學(xué)提示:
- 建議配合王道操作系統(tǒng)的PPT課件進(jìn)行學(xué)習(xí)
- 每個(gè)章節(jié)學(xué)習(xí)后,嘗試用自己的話要點(diǎn)
- 遇到不理解的概念,可以查閱相關(guān)資料或進(jìn)行實(shí)驗(yàn)驗(yàn)證
- 定期復(fù)習(xí),構(gòu)建完整的知識(shí)體系