一.操作系統的概念
用戶 |
---|
應用程序 |
操作系統 |
裸機 |
操作系統是軟件不是硬件
操作系統定義:
是指控制和管理整個計算機系統的硬件和軟件資源,併合理的組織調度計算機的工作和資源的分配,已提供給用戶和其他軟件方便的接口和環境,他是計算機系統中最基本的系統軟件
二.操作系統的功能和目標
1)作爲系統資源的管理者
功能:
1)處理機管理
2)存儲器管理
3)文件管理
4)設備管理
目標:安全高效
2)作爲用戶和計算機硬件直接的接口
提供功能:
1)命令接口(允許用戶直接使用)
聯機命令接口:用戶說一句系統做一句
脫機命令接口:用戶說一堆系統做一堆
2)程序接口(允許用戶通過程序間接使用)
由一組系統調用組成(程序接口=系統調用)
3)圖形用戶界面(GUI)
目標:方便用戶使用
3)作爲最接近硬件的層次
功能:實現對硬件機器的拓展
類比
硬件:錘子\木頭\釘子
操作系統:優秀的工匠
做成房子普通用戶直接使用
三.操作系統的四個基本特徵
1.併發(concurrence)
並行性是指兩個或者多個事件在同一時刻發生,這是一個具有微觀意義的概念,即在物理上這些事件是同時發生的;
併發性是指兩個或者多個事件在同一時間的間隔內發生,它是一個較爲宏觀的概念。交替出現
2.共享 (sharing)
所謂共享是指,系統中的資源可供內存中多個併發執行的進程共同使用。由於資源的屬性不同,故多個進程對資源的共享方式也不同,
可以分爲:互斥共享方式 :只能分配給一個
同時訪問方式:交替
3.虛擬 (virtual)
是指通過技術吧一個物理實體變成若干個邏輯上的對應物。在操作系統中虛擬的實現主要是通過分時的使用方法。顯然,如果n是某一個物理設備所對應的虛擬邏輯設備數,則虛擬設備的速度必然是物理設備速度的1/n。
4.異步 (asynchronism)
在多道程序設計環境下,允許多個進程併發執行,由於資源等因素的限制,通常,進程的執行並非“一氣呵成”,而是以“走走停停”的方式運行。
重要考點:
理解併發和並行的區別
併發和共享互爲存在條件
沒有併發和共享,就淡不上虛擬和異步,因此併發和共享是操作系統的兩個最基本的特徵
四.OS的發展與分類
手工操作階段:紙袋打孔1,沒打孔0
缺點:用戶獨佔全機
批處理階段
1)單道批處理系統:引入脫機輸入\輸出技術(用磁帶完成)
優點:緩解了一定程度的人機速度矛盾,資源利用率有所提升
缺點內存中僅能有一道程序運行,只有該程序運行結束之後才能調入下一道程序,CPU有大量的時間是在空間等待I/O完成。資源利用率依然很低。
2)多道批處理系統
操作系統正式誕生
優點:多道程序併發進行,共享計算機資源,資源利用率大幅度提升,CPU和其他資源保持"忙碌"狀態,系統吞吐量增大
缺點:用戶相應時間長,沒有人機交互功能(用戶提交自己的作業之後就只能等待計算機處理完成中間不能控制自己的作業執行)
分時操作系統:計算機以時間片爲單位輪流爲各個用戶\作業服務,各個yoghurt可以通過終端與激素啊你進行交互
優點:用戶請求可以被及時響應,解決人機交互問題,允許多個用戶同時使用一臺計算機,並且用戶對計算機的額操作相互獨立,感受不到別人存在
缺點:不能優先處理一些緊急任務
實時操作系統
優點:能夠優先響應一些緊急任務
硬實時:分析及時
軟實時:不及時也沒有冠以
網絡操作系統
分佈式操作系統
個人計算機操作系統
前四階段考試重點
五.操作系統運行機制和體系結構
運行機制:1)兩種指令:特權指令:不允許普通用戶使用
非特權指令
2)兩種處理狀態:
1核心態:特權指令,非特權指令都可以執行
0用戶態:此時CPU只能執行非特權指令
3)兩種程序:內核程序:是系統的管理者都可執行運行在覈心態
應用程序:只能執行非特權指令運行在用戶態
操作系統內核:時鐘管理
中斷處理
原語
對系統資源進行管理的功能:進程管理
存儲器管理
設備管理
操作系統體系結構:
內核是計算機配置的底層軟件,是操作系統最基本最核心的部分
大內核:將操作系統的主要功能模塊都作爲系統內核運行在覈心態
優點:高能性
缺點:內核代碼龐大,結構混亂,難以維護
微內核:只把最基本的功能保留在內核
優點:內核功能減少,結構構清晰,方便維護
缺點:需要頻繁的在和心態和用戶態之間切換,性能低
六、中斷異常
發生中斷就意味着操作系統介入
用戶態到核心態是通過中斷實現的並且中斷是唯一的途徑
核心態到用戶態通過執行一個特權指令
1.當中斷髮生時, CPU立即進入核心態
2.當中斷髮生後,當前運行的進程暫停運行,並由操作系統內核對中斷進行處理
3.對於不同的中漸信號,會進行不同的處理
發生了中斷,就意味着需要操作系統介入,開展管理工作,由於操作系統的管理工作(比如進程切換、分配I/O設備等) 需要使用特權指令, 因此CPU要從用戶態轉爲核心態。中斷可以使CPU從用戶態切換爲核心態,使操作系統獲得計算機的控制權、有了中斷,才能實現多道程序併發執行。
中斷分類:
內中斷(CPU內部與當前指令有關):
自願中斷——指令中斷
強迫中斷:硬件故障
軟件中斷
外中斷(CPU外部與當前指令無關):外設請求
人工干預
補充:內中斷的另一種分類方式一
陷阱、陷入(trap)
故障(fault)
終止(abort)
外中斷的處理過程
1)每條指令執行結束後, CPU檢查是否有外部中斷信號
2)若有外部中斷信號, 則需要保護被中斷進程的CPU環境
3)根據中斷信號類型轉入相應的中斷處理程序
4)恢復原進程的CPU環境並退出中斷, 返回原進程繼續往下執行
七、系統調用
作用:應用程序通過系統調用請求操作系統的服務。系統中的各種共享資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源有關的操作(如存儲分配、I/O操作、文件管理等),都必須通過系統調用的方式向操作系統提出服務請求,由操作系統代爲完成。這樣可以保證系統的穩定性和安全性,防止用戶進行非法操作。
設備管理 完成設備的請求/釋放/啓動等功能
文件管理完成文件的讀/寫/創建/刪除等功能
進程控制完成進程的創建/撤銷/阻塞/喚醒等功能
系統調用(按功能分類)
進程通信
內存管理
完成進程之間的消息傳遞/信號傳遞等功能
完成內存的分配/回收等功能
1)什麼是系統調用,有何作用?
操作系統提供給應用程序使用的接口
應用程序透過系統調用來請求獲得操作系統的服務
系統調用會佳處理器從用戶態進入核心本
2)分類:設備管理、
文件管理 、
進程控制 (凡是與資源有關的操作、會直接影響到其他進程的操作,定需要操作系統介入
進程透信 需要通過系統調用來實現)
進程通信
內存管理
3)系統調用和庫涵數的區別
系統混用是操作系統向上層提供的接口
有的庫涵數是對系統調用的進一步封裝
當今媲寫的應用程序大多是透過高級語言提供的庫活數
問接地進行系統用
4)系統調用背後的過程
1.傳遞系統調用參數
2.執行陷入指令
3.執行系統滿用相應服務程序
4.返回用戶程序
注:以上所有內容作者結合《王道考研》歸納總結