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