操作系統(一)計算機系統概述
- 一、操作系統的概念
- 二、功能和目標
- 資源的管理者
- 向上層提供服務
- 對硬件的擴展
- 三、操作系統的特征
- 并發
- 共享
- 虛擬
- 異步
- 四、操作系統的發展與分類
- 手工操作階段
- 批處理階段
- 單道批處理系統
- 多道批處理系統
- 分時操作系統
- 實時操作系統
- 操作系統的運行機制
- 中斷和異常
- 中斷類型
- 中斷機制的基本原理
- 系統調用
- 分類
- 系統調用的過程
- 操作系統的體系結構
- 大內核
- 微內核
一、操作系統的概念
操作系統(Operating System, OS)是指控制和管理整個計算機系統的硬件和軟件資源,并合理地組織調度計算機的工作和資源的分配;以提供給用戶和其他軟件方便的接口和環境;它是計算機系統中最基本的系統軟件
二、功能和目標
資源的管理者
功能:
- 處理機的管理
- 存儲器的管理
- 文件管理
- 設備管理
向上層提供服務
直接給用戶使用包括GUI(圖形用戶界面) 和命令接口。
命令接口包括聯機命令接口和脫機命令接口
聯機命令接口相當于windows系統使用的cmd
脫機命令接口就是.bat文件
向程序提供的程序接口:可以在程序中進行系統調用來使用程序接口。普通用戶不能直接使用程序接口,只能通過程序代碼間接使用。
對硬件的擴展
操作系統對硬件機器的拓展:將CPU、內存、磁盤、顯示器、鍵盤等硬件合理地組織起來,讓各種硬件能夠相互協調配合,實現更多更復雜的功能,普通用戶無需關心這些硬件在底層是怎么組織起來工作的,只需直接使用操作系統提供的接口即可。
三、操作系統的特征
并發
并發:指兩個或多個事件在同一時間間隔內發生。這些事件宏觀上是同時發生的,但微觀上是交替發生的。
并行:指兩個或多個事件在同一時刻同時發生。
共享
共享即資源共享,是指系統中的資源可供內存中多個并發執行的進程共同使用。
互斥共享方式:系統中的某些資源,雖然可以提供給多個進程使用,但一個時間段內只允
許一個進程訪問該資源
同時共享方式:系統中的某些資源,允許一個時間段內由多個進程“同時”對它們進行訪
問
虛擬
虛擬是指把一個物理上的實體變為若干個邏輯上的對應物。物理實體(前者)是實際存在的,而邏輯上對應物(后者)是用戶感受到的。
異步
異步是指,在多道程序環境下,允許多個程序并發執行,但由于資源有限,進程的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是進程的異步性
四、操作系統的發展與分類
手工操作階段
用戶在計算機上算題的所有工作都要人工干預
批處理階段
單道批處理系統
引入脫機輸入/輸出技術(用外圍機+磁帶完成),并由監督程序負責控制作業的輸入、輸出
主要優點:緩解了一定程度的人機速度矛盾,資源利用率有所提升。
主要缺點:內存中僅能有一道程序運行,只有該程序運行結束之后才能調入下一道程序。CPU有大量的時間是在空閑等待I/O完成。資源利用率依然很低。
多道批處理系統
主要優點:多道程序并發執行,共享計算機資源。資源利用率大幅提升,CPU和其他資
源更能保持“忙碌”狀態,系統吞吐量增大。
主要缺點:用戶響應時間長,沒有人機交互功能(用戶提交自己的作業之后就只能等待
計算機處理完成,中間不能控制自己的作業執行。eg:無法調試程序/無法在程序運行過
程中輸入一些參數)
分時操作系統
分時操作系統:計算機以時間片為單位輪流為各個用戶/作業服務,各個用戶可通過終端與計算機進行交互。
主要優點:用戶請求可以被即時響應,解決了人機交互問題。允許多個用戶同時使用一臺計算機,并且用戶對計算機的操作相互獨立,感受不到別人的存在。
主要缺點:不能優先處理一些緊急任務。操作系統對各個用戶/作業都是完全公平的,循環地為每個用戶/作業服務一個時間片,不區分任務的緊急性。
實時操作系統
主要優點:能夠優先響應一些緊急任務,某些緊急任務不需時間片排隊。
在實時操作系統的控制下,計算機系統接收到外部信號后及時進行處理,并且要在嚴格的時限內處理完事件。實時操作系統的主要特點是及時性和可靠性
操作系統的運行機制
特權指令:如內存清零指令
非特權指令:如普通的運算指令
用戶態:cpu只能執行非特權指令
核心態:特權指令、非特權指令都可執行
內核程序: 操作系統的內核程序是系統的管理者,既可以執行特權指令,也可以執行非特
權指令,運行在核心態。
應用程序: 為了保證系統能安全運行,普通應用程序只能執行非特權指令,運行在用戶態
中斷和異常
中斷的作用:“中斷”會使CPU由用戶態變為內核態,使操作系統重新奪回對CPU
的控制權
內核態->用戶態:執行一條特權指令——修改PSW的標志位為“用戶態”,這個動作意味著操作系統將主動讓出CPU使用權
用戶態->內核態:由“中斷”引發,硬件自動完成變態過程,觸發中斷信號意味著操作系統將強行奪回CPU的使用權
中斷類型
內中斷:與當前執行的指令有關,中斷信號來源于CPU內部
外中斷:與當前執行的指令無關,中斷信號來源于CPU外部
中斷機制的基本原理
不同的中斷信號,需要用不同的中斷處理程序來處理。當CPU檢測到中斷信號后,會根據中斷信號的類型去查詢“中斷向量表”,以此來找到相應的中斷處理程序在內存中的存放位置。
系統調用
操作系統作為用戶和計算機硬件之間的接口,需要向上提供一些簡單易用的服務。主要包括命令接口和程序接口。其中,程序接口由一組系統調用組成。
分類
- 設備管理:完成設備的請求/釋放/啟動等功能
- 文件管理:完成文件的讀/寫/創建/刪除等功能.
- 進程控制:完成進程的創建/撤銷/阻塞/喚醒等功能
- 進程通信:完成進程之間的消息傳遞/信號傳遞等功能.
- 內存管理:完成內存的分配/回收等功能
系統調用的過程
- 陷入指令是在用戶態執行的,執行陷入指令之后立即引發一個內中斷,使CPU進入核心態
- 發出系統調用請求是在用戶態,而對系統調用的相應處理在核心態下進行
操作系統的體系結構
大內核
將操作系統的主要功能模塊都作為系統內核,運行在核心態
優點:高性能
缺點:內核代碼龐大,結構混亂,難以維護
微內核
只把最基本的功能保留在內核
優點:內核功能少,結構清晰,方便維護
缺點:需要頻繁地在核心態和用戶態之間切換,性能低