1.1 操作系統
1.1.1 操作系統的概念和功能
概念
操作系統(Operating System
, OS
)是指控制和管理
整個計算機系統的硬件和軟件
資源,并合理地組織調度計算機的工作和資源的分配;以提供給用戶和其他軟件方便的接口和環境
;它是計算機系統中最基本的系統軟件
。
功能和目標
①操作系統是系統資源的管理者
②向上層提供方便易用的服務
封裝
思想:操作系統把一些丑陋的硬件功能封裝成簡單易用的服務,使用戶能更方便地使用計算機,用戶無需關心底層硬件的原理,只需要對操作系統發出命令即可。
- GUI :圖形化用戶接口(
Graphical User Interface
)。用戶可以使用形象的圖形界面進行操作,而不再需要記憶復雜的命令、參數
。例如,在Windows
操作系統中,刪除一個文件只需要把文件“拖拽”到回收站即可。 - 聯機命令接口 =交互式命令接口:用戶說一句,系統跟著做一句.例如,執行
cmd
的相關命令 - 脫機命令接口 =批處理命令接口:用戶說一堆,系統跟著做一堆.例如,執行以
bat
后綴的文件 - 程序接口 :可以在程序中進行
系統調用
來使用程序接口。普通用戶不能直接使用程序接口,只能通過程序代碼間接
使用。例如,寫C語言Hello world
程序時,在printf
函數的底層就使用到了操作系統提供的顯式相關的“系統調用”
③是最接近硬件的一層軟件
需要實現對硬件機器的拓展
沒有任何軟件支持的計算機稱為裸機
。在裸機上安裝的操作系統,可以提供資源管理功能和方便用戶的服務功能,將裸機改造成功能更強、使用更方便的機器
通常把覆蓋了軟件的機器成為擴充機器
,又稱之為虛擬機
1.2 操作系統的特征
基本特征
并發、共享、虛擬、異步
并發
兩個或者多個事件在同一時間間隔
內發生,這些事件宏觀上是同時發生
的,但微觀上是交替發生
的
使得系統具有處理和調度多個程序同時執行的能力
操作系統的并發是通過分時實現的
注意 :并發是指在一個時間段
,并行是指在同一個時刻
,并行是指系統具有同時執行或操作(硬件支持:多流水線或者多處理機)
- 單核
CPU
同一時刻只能執行一個程序,各個程序只能并發
地執行 - 多核
CPU
同一時刻可以同時執行多個程序,多個程序可以并行
地執行
共享
互斥
共享方式: 例如打印機、磁帶, 同一時刻只能供一個進程對資源進行訪問 。這種資源稱作:臨界資源或者獨占資源同時
訪問方式: 一段時間內允許多個進程對資源進行訪問 ,典型代表:磁盤設備重入碼編寫的文件
虛擬
虛擬是指把一個物理上的實體
變為若干個邏輯上的對應物
。物理實體(前者)是實際存在的,而邏輯上對應物(后者)是用戶感受到的。
虛擬處理器:采用多道程序并發
的方式,讓每個終端用戶感覺到有多個處理器 時分復用技術
虛擬存儲器:將物理存儲變為虛擬存儲器,邏輯上擴充存儲器用 空分復用技術
也可以將一臺IO設備虛擬為多臺邏輯上的IO設備,并允許每個用戶占用一臺邏輯上的IO設備
異步
在多道程序環境下,允許多個程序并發執行,但由于資源有限,進程的執行不是一貫到底
的,多道程序走走停停
,進程以不可預知的速度向前進
并發和共享的關系
- 并發性指計算機系統中同時存在著多個運行著的程序。
- 共享性是指系統中的資源可供內存中多個并發執行的進程共同使用。
- 故并發性和共享性
互為存在條件
并發和虛擬的關系
如果失去了并發性,則一個時間段內系統中只需運行一道程序,那么就失去了實現虛擬性的意義了。因此,沒有并發性,就談不上虛擬性
并發和異步的關系
只有系統擁有并發性,才有可能導致異步性。
1.3 操作系統的發展與分類
手工操作階段
- 主要缺點: 用戶獨占全機、人機速度矛盾導致資源利用率極低
單道批處理
引入脫機輸入/輸出技術
(用外圍機+磁帶完成),并由監督程序負責控制作業的輸入、輸出
- 主要優點:緩解了一定 程度的人機速度矛盾, 資源利用率有所提升。
- 主要缺點:內存中僅能
有一道程序運行
,只有 該程序運行結束之后才 能調入下一道程序。CPU有大量的時間是在 空閑等待I/O完成
。資源 利用率依然很低。
多道批處理
- 主要優點:多道程序
并發
執行,共享
計算機 資源。資源利用率大幅提升
,CPU和其他資源更能保持“忙碌”狀態,系統吞吐量增大。 - 主要缺點:用戶響應時間長,
沒有人機交互功能
(用戶提交自己的作業之后就只能等待計算機處理完成,中間不能控制自己的作業 執行。eg:無法調試程序/無法在程序運行過 程中輸入一些參數)
分時操作
分時操作系統:計算機以時間片
為單位輪流
為各個用戶/作業服務,各個用戶可通過終端與計算機進行交互。
- 主要優點:用戶請求可以被即時響應,
解決了人機交互問題
。允許多個用戶同時使用一臺計算機,并且用戶對計算機的操作相互獨立,感受不到別人的存在。 - 主要缺點:
不能優先處理一些緊急任務
。操作系統對各個用戶/作業都是完全公平的,循環地為每個用戶/作業服務一個時間片,不區分任務的緊急性。
實時操作
在實時操作系統的控制下,計算機系統接收到外部信號后及時進行處理,并且要在嚴格的時限內處理完事件
。實時操作系統的主要特點是及時性和可靠性
- 主要優點:能夠
優先響應一些緊急任務
,某些緊急任務不需時間片排隊。
其他幾種操作系統
- 網絡操作系統 :是伴隨著計算機網絡的發展而誕生的,能把網絡中各個計算機有機地結合起來,實現數據傳送等功能, 實現網絡中各種資源的共享(如文件共享)和各臺計算機之間的通信 。(如:
Windows NT
就是一種典型的網絡操作系統,網站服務器就可以使用) - 分布式操作系統 :主要特點是
分布性和并行性
。系統中的各臺計算機地位相同, 任何工作都可以分布在這些計算機上,由它們并行、協同完成這個任務 。 - 個人計算機操作系統 :如
Windows XP
、MacOS
,方便個人使用。
1.4 操作系統的運行機制
運行機制
兩種處理器狀態:內核態 & 用戶態
CPU
中有一個寄存器叫 程序狀態字寄存器(PSW)
,其中有個二進制位,1表示內核態
,0表示用戶態
別名:**內核態=核心態=管態;用戶態=目態**
- CPU 有兩種狀態,“內核態”和“用戶態”
- 處于內核態時,說明此時正在運行的是
內核程序
,此時可以執行特權指令
- 處于用戶態時,說明此時正在運行的是
應用程序
,此時只能執行非特權指令
- 處于內核態時,說明此時正在運行的是
- 內核態、用戶態的切換
- 內核態--用戶態:執行一條
特權指令
——修改PSW的標志位
為“用戶態”,這個動作意味著操作系統將主動讓出
CPU使用權 - 用戶態--內核態:由“ 中斷 ”引發,
硬件自動完成變態過程
,觸發中斷信號意味著操作系統將強行奪回
CPU的使用權
- 內核態--用戶態:執行一條
內核
內核是計算機上配置的底層軟件
,是操作系統最基本、最核心的部分。實現操作系統內核功能的那些程序就是內核程序。
原語
原語是一種特殊的程序。是最接近硬件的部分,這種程序的運行具有原子性
。
大內核和微內核
操作系統的體系結構問題與企業的管理問題
很相似。
- 大內核 :企業初創時體量不大,管理層的人會負責大部分的事情。優點是效率高;缺點是組織結構混亂,難以維護。
- 微內核 :隨著企業體量越來越大,管理層只負責最核心的一些工作。優點是組織結構清晰,方便維護;缺點是效率低
1.5 中斷和異常
中斷的作用
CPU 上會運行兩種程序,一種是操作系統內核程序,一種是應用程序
中斷是讓操作系統內核奪回CPU使用權
的唯一途徑
中斷的類型
- 內中斷 : 與當前執行的指令
有關
,中斷信號來源于CPU內部
- 外中斷 : 與當前執行的指令
無關
,中斷信號來源于CPU外部
中斷機制的基本原理
不同的中斷信號,需要用不同的中斷處理程序來處理 。當CPU檢測到中斷信號后,會根據中斷信號的類型去查詢中斷向量表
,以此來找到相應的中斷處理程序在內存中的存放位置。
1.6 系統調用
- 系統調用與庫函數的區別
“系統調用”是操作系統提供給應用程序
(程序員/編程人員)使用的接口,可以理解為一種可供應用程序調用的特殊函數,應用程序可以通過系統調用來請求獲得操作系統內核
的服務
應用程序通過系統調用請求操作系統的服務。而系統中的各種共享資源都由操作系統內核統一掌管,因此 凡是與共享資源有關的操作(如存儲分配、I/O操作、文件管理等),都必須通過系統調用的方式向操作系統內核提出服務請求 ,由操作系統內核代為完成。這樣可以保證系統的穩定性和安全性
,防止用戶進行非法操作。
1.7 操作系統的體系結構
- 典型的大內核/宏內核/單內核 操作系統:
Linux、UNIX
- 典型的 微內核 操作系統:
Windows NT
-
操作系統
+關注
關注
37文章
6856瀏覽量
123443 -
軟件
+關注
關注
69文章
4973瀏覽量
87734 -
計算機系統
+關注
關注
0文章
288瀏覽量
24140
發布評論請先 登錄
相關推薦
評論