操作系統(tǒng)概念
操作系統(tǒng)是指控制和管理計算機(jī)系統(tǒng)的硬件和軟件資源,并合理地組織調(diào)度計算機(jī)的工作和資源的分配灾而,以提供給用戶和其他軟件方便的接口和環(huán)境:她是計算機(jī)系統(tǒng)中最基本的系統(tǒng)軟件。
操作系統(tǒng)的功能與目標(biāo)
作為系統(tǒng)資源的管理者
提供的功能:處理機(jī)管理呜师、存儲器管理蓄愁、文件管理双炕、設(shè)備管理
目標(biāo):安全、高效
補(bǔ)充知識:執(zhí)行一個程序前需要將該程序放到內(nèi)存中涝登,才能被CPU處理雄家。
向上層提供方便易用的服務(wù)
聯(lián)機(jī)命令接口=交互式命令接口
脫機(jī)命令接口=批處理命令接口
程序接口:可以在程序中進(jìn)行系統(tǒng)調(diào)用來使用程序接口,普通用戶不能直接使用程序接口胀滚,只能通過程序代碼間接使用趟济。系統(tǒng)調(diào)用=廣義指令
作為最接近硬件的層次
需要實現(xiàn)對硬件機(jī)器的拓展,沒有任何軟件支持的計算機(jī)稱為裸機(jī)咽笼。通常把覆蓋了軟件的機(jī)器稱為擴(kuò)充機(jī)器顷编,又稱為虛擬機(jī)。
操作系統(tǒng)的特征
并發(fā)
并發(fā):指兩個或多個時間在同一時間間隔內(nèi)發(fā)生剑刑,這些時間宏觀上是同事發(fā)生的媳纬,但微觀上是交替發(fā)生的。
呈┨停考易混——并行:指兩個或多個時間在同一時間同時發(fā)生钮惠。
操作系統(tǒng)和程序并發(fā)是一起誕生的。
考點:
單核CPU同一時刻只能執(zhí)行一個程序七芭,各個程序只能并發(fā)地執(zhí)行
多核CPU同一時刻可以同時執(zhí)行多個程序素挽,多個程序可以并行地執(zhí)行
并發(fā)性是操作系統(tǒng)一個最基本的特征
共享
共享即資源共享,是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進(jìn)程共同使用狸驳。
兩種資源共享方式:
互斥共享方式: 系統(tǒng)中某些資源预明,雖然可以提供給多個進(jìn)程使用缩赛,但一個時間段內(nèi)指允許一個進(jìn)程訪問該資源。
同時共享方式:系統(tǒng)中的某些資源撰糠,允許一個時間段內(nèi)由多個進(jìn)程“同時”對他們進(jìn)行訪問酥馍。
并發(fā)與共享的關(guān)系
并發(fā)性指計算機(jī)系統(tǒng)中同時存在著多個運行著的程序。
共享性是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進(jìn)程共同使用阅酪。
虛擬
虛擬是指把一個物理上的實體變?yōu)槿舾蓚€邏輯上的對應(yīng)物旨袒。物理實體(前者)是實際存在的,而邏輯上對應(yīng)物(后者)是用戶感受到的遮斥。
虛擬技術(shù):空分復(fù)用技術(shù)(虛擬存儲器技術(shù))峦失、時分復(fù)用技術(shù)(虛擬處理器)
異步
異步是指,在多道程序環(huán)境下术吗,允許多個程序并發(fā)執(zhí)行,但由于資源有限帆精,進(jìn)程的執(zhí)行不是一貫到底的较屿,而是走走停停,以不可預(yù)知的速度向前推進(jìn)卓练,這就是進(jìn)程的異步性
如果失去了并發(fā)性隘蝎,即系統(tǒng)只能串行地運行各個程序,那么每個程序的執(zhí)行會一貫到底襟企。只有系統(tǒng)擁有并發(fā)性嘱么,才有可能導(dǎo)致異步性。
操作系統(tǒng)的發(fā)展與分類
批處理階段——單道批處理系統(tǒng)
引入脫機(jī)輸入/輸出技術(shù)(用外圍機(jī)+磁帶完成)顽悼,并由監(jiān)督程序負(fù)責(zé)控制作業(yè)的輸入曼振、輸出
主要缺點:內(nèi)存中僅能有一道程序運行,只有該程序運行結(jié)束之后才能調(diào)入下一道程序蔚龙。CPU有大量的時間是在空閑等待I/O完成冰评。資源利用率依然很低。
批處理階段——多道批處理階段
主要優(yōu)點:多道程序并發(fā)執(zhí)行木羹,共享計算機(jī)資源甲雅。資源利用率大幅提升,CPU和其他資源更能保持“忙碌”狀態(tài)坑填,系統(tǒng)吞吐量增大抛人。
主要缺點:用戶響應(yīng)時間長,沒有人機(jī)交互功能(用戶提交自己的作業(yè)之后就只能等待計算機(jī)處理完成脐瑰,中間不能控制自己的作業(yè)執(zhí)行妖枚。
分時操作系統(tǒng)
分時操作系統(tǒng):計算機(jī)以時間片為單位輪流為各個用戶/業(yè)服務(wù),各個用戶可通過終端與計算機(jī)進(jìn)行交互蚪黑。
主要優(yōu)點:用戶請求可以被即時響應(yīng)盅惜,解決了人機(jī)交互題中剩。允許多個用戶同時使用一臺計算機(jī),并且用戶對計算機(jī)的操作相互獨立抒寂,感受不到別人的存在结啼。
主要缺點:不能優(yōu)先處理一些緊急任務(wù)。操作系統(tǒng)對各個用戶/作業(yè)都是完全公平的屈芜,循環(huán)地為每個用戶/作業(yè)服務(wù)一個時間片郊愧,不區(qū)分任務(wù)的緊急性。
實時操作系統(tǒng)
主要優(yōu)點:能夠優(yōu)先響應(yīng)一些緊急任務(wù)井佑,某些緊急任務(wù)不需時間片排隊属铁。
在實時操作系統(tǒng)的控制下,計算機(jī)系統(tǒng)接收到外部信號后及時進(jìn)行處理躬翁,并且要在嚴(yán)格的時限內(nèi)處理完事件焦蘑。實時操作系統(tǒng)的主要特點是及時性和可靠性
中斷與異常
中斷
CPU 上會運行兩種程序,一種是操作系統(tǒng)內(nèi)核程序盒发,一種是應(yīng)用程序
“中斷”是讓操作系統(tǒng)內(nèi)核奪回CPU使用權(quán)的唯一途徑
內(nèi)核態(tài)->用戶態(tài):執(zhí)行一條特權(quán)指令——修改PSW的標(biāo)志位為“用戶態(tài)”,這個動作意味著操作系統(tǒng)將主動讓出CPU使用權(quán)
用戶態(tài)->內(nèi)核態(tài):由“中斷”引發(fā)宁舰,硬件自動完成變態(tài)過程,觸發(fā)中斷信號意味著操作系統(tǒng)將強(qiáng)行奪回CPU的使用權(quán)
中斷類型
內(nèi)中斷:與當(dāng)前執(zhí)行的指令有關(guān)蛮艰,中斷信號來源于CPU內(nèi)部
外中斷:與當(dāng)前執(zhí)行的指令無關(guān)腋腮,中斷信號來源于CPU外部
中斷的分類
內(nèi)中斷(異常、例外):陷阱即寡、陷入(trap),故障(fault)仍律,終止(abort)
外中斷:時種中斷,I/O中斷請求
中斷機(jī)制的基本原理
檢查中斷信號:
內(nèi)中斷:CPU在執(zhí)行指令前回檢查是否有異常發(fā)生
外中斷:每個指令周期末尾水泉,CPU都會檢查是否有外中斷信號需要處理
找到相對應(yīng)的中斷處理程序:通過“中斷向量表”實現(xiàn)。
系統(tǒng)調(diào)用
定義
操作系統(tǒng)作為用戶和計算機(jī)硬件之間的接口草则,需要向上提供一些簡單易用的服務(wù)钢拧。主要包括命令接口和程序接口炕横。其中,程序接口由一組系統(tǒng)調(diào)用組成份殿。
“系統(tǒng)調(diào)用”是操作系統(tǒng)提供給應(yīng)用程序(程序員/編程人員)使用的接口嗽交,可以理解為一種可供應(yīng)用程序調(diào)用的特殊函數(shù),應(yīng)用程序可以通過系統(tǒng)調(diào)用來請求獲得操作系統(tǒng)內(nèi)核的服務(wù)
什么功能要用到系統(tǒng)調(diào)用:
應(yīng)用程序通過系統(tǒng)調(diào)用請求操作系統(tǒng)的服務(wù)夫壁。而系統(tǒng)中的各種共享資源都由操作系統(tǒng)內(nèi)核統(tǒng)一掌管,因此凡是與共享資源有關(guān)的操作(如存儲分配沃疮、I/O操作盒让、文件管理等),都必須通過系統(tǒng)調(diào)用的方式向操作系統(tǒng)內(nèi)核提出服務(wù)請求司蔬,由操作系統(tǒng)內(nèi)核代為完成邑茄。這樣可以保證系統(tǒng)的穩(wěn)定性和安全性,防止用戶進(jìn)行非法操作俊啼。
系統(tǒng)調(diào)用的過程
注意別名:陷入指令=trap指令=訪管指令
傳遞系統(tǒng)調(diào)用參數(shù)->執(zhí)行陷入指令->執(zhí)行相應(yīng)的內(nèi)請求核程序處理系統(tǒng)調(diào)用->返回應(yīng)用程序
注意:1.陷入指令是在用戶態(tài)執(zhí)行的肺缕,執(zhí)行陷入指令后立即引起一個內(nèi)中斷,使CPU進(jìn)入核心態(tài)
2.發(fā)出系統(tǒng)調(diào)用請求是在用戶態(tài)吨些,而對系統(tǒng)調(diào)用的相應(yīng)處理在核心態(tài)下進(jìn)行
操作系統(tǒng)的體系結(jié)構(gòu)
操作系統(tǒng)的內(nèi)核
內(nèi)核是操作系統(tǒng)最基本搓谆、最核心的部分。
實現(xiàn)操作系統(tǒng)內(nèi)核功能的那些程序就是內(nèi)核程序
注意:操作系統(tǒng)內(nèi)核需要運行在內(nèi)核態(tài)
操作系統(tǒng)的非內(nèi)核功能運行在用戶態(tài)
大內(nèi)核與微內(nèi)核
大內(nèi)核:將操作系統(tǒng)的主要功能米快都作為系統(tǒng)內(nèi)核豪墅,運行在核心態(tài)
優(yōu)點:高性能
缺點:內(nèi)核代碼龐大,結(jié)構(gòu)混亂黔寇,難以維護(hù)
微內(nèi)核:只把基本的功能保留在內(nèi)核
優(yōu)點:內(nèi)核功能少偶器,結(jié)構(gòu)清晰,方便維護(hù)
缺點:需要頻繁地在核心態(tài)與用戶態(tài)之間切換缝裤,性能低