王道操作系統(tǒng)第1章-操作系統(tǒng)概述
王道操作系統(tǒng)第1章-操作系統(tǒng)概述







操作系統(tǒng)的概念&功能
操作系統(tǒng):Operating System是指控制和管理整個(gè)計(jì)算機(jī)系統(tǒng)的硬件和軟件資源,并合理地組織調(diào)度計(jì)算機(jī)的工作和資源的分配,以提供給用戶和其他軟件方便的接口和環(huán)境,是計(jì)算機(jī)系統(tǒng)中最基本的系統(tǒng)軟件
操作系統(tǒng)是系統(tǒng)資源的管理者
處理機(jī)管理
存儲(chǔ)器管理
文件管理
設(shè)備管理
操作系統(tǒng)向上層提供方便易用的服務(wù)
GUI圖形界面
聯(lián)機(jī)命令接口(交互式命令接口):cmd窗口,用戶說(shuō)一句,系統(tǒng)跟著做一句
脫機(jī)命令接口(批處理命令接口):.bat文件,用戶說(shuō)一堆,系統(tǒng)做一堆
程序接口:可以在程序中進(jìn)行系統(tǒng)調(diào)用來(lái)使用程序接口,普通用戶不能直接使用程序接口,只能通過(guò)程序代碼間接使用,如C語(yǔ)言的printf函數(shù)
是最接近硬件的一層軟件沒(méi)有任何軟件支持的計(jì)算機(jī)稱為邏輯,在裸機(jī)上可以安裝操作系統(tǒng).把覆蓋了軟件的機(jī)器稱為擴(kuò)充機(jī)器,又稱為虛擬機(jī)
Ctrl+shift+esc打開(kāi)任務(wù)管理器
操作系統(tǒng)的特征
并發(fā),共享,虛擬,異步.其中并發(fā)和共享是兩個(gè)最基本的特征,二者互為存在條件
并發(fā)
指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生,這些事件宏觀上是同時(shí)發(fā)生的,但微觀上是交替發(fā)生的(并行則指兩個(gè)或多個(gè)事件在同一時(shí)刻同時(shí)發(fā)生)
并發(fā)VS并行:以約會(huì)為例
并行:同一時(shí)刻同時(shí)進(jìn)行兩個(gè)約會(huì)任務(wù)
并發(fā):8~9點(diǎn)和一號(hào)約會(huì),9~10點(diǎn)和二號(hào)約會(huì).宏觀上看這一天內(nèi)同時(shí)進(jìn)行兩個(gè)約會(huì)任務(wù),微觀上看某一時(shí)刻只進(jìn)行一個(gè)約會(huì)任務(wù)
操作系統(tǒng)的并發(fā)性:指計(jì)算機(jī)系統(tǒng)中"同時(shí)"運(yùn)行著多個(gè)程序,這些程序宏觀上看是同時(shí)運(yùn)行著的,而微觀上看是交替運(yùn)行的
操作系統(tǒng)就是伴隨著"多道程序技術(shù)"而出現(xiàn)的,因此操作系統(tǒng)和程序并發(fā)是一起誕生的
單核CPU同一時(shí)刻只能執(zhí)行一個(gè)程序,多個(gè)程序只能并發(fā)地執(zhí)行
多核CPU同一時(shí)刻可以同時(shí)執(zhí)行多個(gè)程序,多個(gè)程序可以并行地執(zhí)行
共享
共享即資源共享,指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用
兩種資源共享方式:
所謂"同時(shí)"往往是宏觀上的,而在微觀上,這些進(jìn)程可能是交替地對(duì)該資源進(jìn)行訪問(wèn)的(即分時(shí)共享)
互斥共享方式:系統(tǒng)中的某些資源,雖然可以提供給多個(gè)進(jìn)程使用,但一個(gè)時(shí)間段內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)該資源例:使用QQ和微信視頻,同一時(shí)間段內(nèi)攝像頭只能分配給其中一個(gè)進(jìn)程
同時(shí)共享方式:系統(tǒng)中的某些資源,允許一個(gè)時(shí)間段內(nèi)由多個(gè)進(jìn)程"同時(shí)"對(duì)它們進(jìn)行訪問(wèn)例:使用QQ發(fā)送文件A,同時(shí)使用微信發(fā)送文件B.宏觀上看兩邊都在同時(shí)讀取并發(fā)送文件,說(shuō)明兩個(gè)進(jìn)程都在訪問(wèn)硬盤資源,從中讀取數(shù)據(jù).微觀上看兩個(gè)進(jìn)程是交替著訪問(wèn)硬盤的
并發(fā)和共享的關(guān)系
如果失去并發(fā)性,則系統(tǒng)中只有一個(gè)程序正在運(yùn)行,則共享性失去了存在的意義
如果失去共享性.則QQ和微信不能同時(shí)訪問(wèn)硬盤資源,就無(wú)法實(shí)現(xiàn)同時(shí)發(fā)送文件,也就無(wú)法并發(fā)
所以并發(fā)性和共享性互為存在條件
虛擬
虛擬是指把一個(gè)物理上的實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物.物理實(shí)體是實(shí)際存在的,邏輯上的對(duì)應(yīng)物是用戶感受到的
需要用到空分復(fù)用技術(shù)(虛擬存儲(chǔ)器)/時(shí)分復(fù)用技術(shù)(虛擬處理器)等
虛擬和并發(fā)的關(guān)系
如果失去了并發(fā)性,則一個(gè)時(shí)間段內(nèi)系統(tǒng)只需運(yùn)行一道程序,那么就失去了實(shí)現(xiàn)虛擬性的意義了,因此沒(méi)有并發(fā)性就談不上虛擬性
異步
異步指在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但由于資源有限,進(jìn)程的執(zhí)行不是一貫到底的,而是走走停停,以不可預(yù)知的速度向前推進(jìn)
異步與并發(fā)的關(guān)系
由于并發(fā)運(yùn)行的程序會(huì)爭(zhēng)搶著使用系統(tǒng)資源,而系統(tǒng)中的資源有限,因此進(jìn)程會(huì)走走停停,如果失去了并發(fā)性,即系統(tǒng)只能串行地運(yùn)行各個(gè)程序,那么每個(gè)程序的執(zhí)行才會(huì)一貫到底,只有程序擁有并發(fā)性,才有可能導(dǎo)致異步性
操作系統(tǒng)的發(fā)展歷史和分類
1.手工操作階段
使用紙帶機(jī),輸入輸出速度慢
主要缺點(diǎn):用戶獨(dú)占全機(jī)、人機(jī)速度矛盾導(dǎo)致資源利用率極低
2.批處理階段——單道批處理系統(tǒng)
引入脫機(jī)輸入/輸出技術(shù)(用外圍機(jī)+磁帶完成),并由監(jiān)督程序負(fù)責(zé)控制作業(yè)的輸入輸出
通過(guò)外圍機(jī)把程序提前存到磁帶里,磁帶的讀/寫速度比紙帶機(jī)快很多
主要優(yōu)點(diǎn):緩解了一定程度的人機(jī)速度矛盾,資源利用率有所提升
主要缺點(diǎn):內(nèi)存中僅能有一道程序運(yùn)行,只有該程序運(yùn)行結(jié)束后才能調(diào)入下一道程序,CPU有大量的時(shí)間是在空閑等待I/O完成,資源利用率依然很低
3.批處理階段——多道批處理系統(tǒng)
每次往內(nèi)存中讀入多道程序,操作系統(tǒng)正式誕生,用于支持多道程序并發(fā)運(yùn)行
主要優(yōu)點(diǎn):多道程序并發(fā)執(zhí)行,共享計(jì)算機(jī)資源,資源利用率大幅提升,CPU和其他資源更能保持"忙碌"狀態(tài),系統(tǒng)吞吐量增大
主要缺點(diǎn):用戶響應(yīng)時(shí)間長(zhǎng),沒(méi)有人機(jī)交互功能(用戶提交自己的作業(yè)后就只能等待計(jì)算機(jī)處理完成,中間不能控制自己的作業(yè)執(zhí)行,如無(wú)法調(diào)試程序/無(wú)法在程序運(yùn)行過(guò)程中輸入一些參數(shù))
4.分時(shí)操作系統(tǒng)
計(jì)算機(jī)以時(shí)間片為單位輪流為各個(gè)用戶、作業(yè)服務(wù),各個(gè)用戶可通過(guò)終端與計(jì)算機(jī)進(jìn)行交互
主要優(yōu)點(diǎn):用戶請(qǐng)求可以被及時(shí)響應(yīng),解決了人機(jī)交互問(wèn)題,允許多個(gè)用戶同時(shí)使用一臺(tái)計(jì)算機(jī),并且用戶對(duì)計(jì)算機(jī)的操作相互獨(dú)立,感受不到別人的存在
5.實(shí)時(shí)操作系統(tǒng)
主要優(yōu)點(diǎn):能優(yōu)先響應(yīng)一些緊急任務(wù),某些緊急任務(wù)不需時(shí)間片排隊(duì)
在實(shí)時(shí)操作系統(tǒng)的控制下,計(jì)算機(jī)接收到外部信號(hào)后及時(shí)進(jìn)行處理,并且要在嚴(yán)格的時(shí)限內(nèi)處理完事件。實(shí)時(shí)操作系統(tǒng)的主要特點(diǎn)是及時(shí)性和可靠性
實(shí)時(shí)操作系統(tǒng)可分為
硬實(shí)時(shí)系統(tǒng):必須在絕對(duì)嚴(yán)格的規(guī)定時(shí)間內(nèi)完成處理,如自動(dòng)駕駛系統(tǒng)
軟實(shí)時(shí)系統(tǒng):能接受偶爾違反時(shí)間規(guī)定,如12306火車訂票系統(tǒng)
操作系統(tǒng)的運(yùn)行機(jī)制
內(nèi)核是操作系統(tǒng)最核心的部分,也是最接近硬件的部分
操作系統(tǒng)內(nèi)核作為“管理者”,有時(shí)會(huì)讓CPU執(zhí)行一些特權(quán)指令,如內(nèi)存清零指令,這些指令影響重大,只允許“管理者”即操作系統(tǒng)內(nèi)核來(lái)使用
在CPU設(shè)計(jì)和生產(chǎn)的時(shí)候就劃分了特權(quán)指令和非特權(quán)指令,因此CPU執(zhí)行一條指令前就能判斷其類型
內(nèi)核態(tài)(核心態(tài)/管態(tài))VS用戶態(tài)(目態(tài))
CPU有兩種狀態(tài):內(nèi)核態(tài)和用戶態(tài)
CPU中有一個(gè)程序狀態(tài)字寄存器PSW,二進(jìn)制位1表示"內(nèi)核態(tài)",0表示"用戶態(tài)"
處于內(nèi)核態(tài)時(shí),說(shuō)明此時(shí)正在運(yùn)行的是內(nèi)核程序,此時(shí)可以執(zhí)行特權(quán)指令
處于用戶態(tài)時(shí),說(shuō)明此時(shí)正在運(yùn)行的是應(yīng)用程序,只能執(zhí)行非特權(quán)指令
內(nèi)核態(tài)與用戶態(tài)的轉(zhuǎn)換
內(nèi)核態(tài)\rightarrow用戶態(tài):執(zhí)行一條特權(quán)指令,修改PSW的標(biāo)志位為"用戶態(tài)",這個(gè)動(dòng)作意味著操作系統(tǒng)將主動(dòng)讓出CPU使用權(quán)
用戶態(tài)\rightarrow內(nèi)核態(tài):由"中斷"引發(fā),硬件自動(dòng)完成變態(tài)過(guò)程,出發(fā)中斷信號(hào)意味著操作系統(tǒng)將強(qiáng)行奪回CPU的使用權(quán)
除了非法使用特權(quán)指令外,還有很多事件會(huì)觸發(fā)中斷信號(hào).一個(gè)共性是,但凡需要操作系統(tǒng)介入的地方都會(huì)觸發(fā)中斷信號(hào)
CPU檢測(cè)到中斷信號(hào)后會(huì)立即變?yōu)?#34;核心態(tài)"并停止運(yùn)行當(dāng)前的應(yīng)用程序,轉(zhuǎn)而運(yùn)行處理中斷信號(hào)的內(nèi)核程序
中斷和異常
CPU上會(huì)運(yùn)行兩種程序,一種是操作系統(tǒng)內(nèi)核程序(整個(gè)系統(tǒng)的管理者),一種是應(yīng)用程序
在合適的情況下,操作系統(tǒng)會(huì)把CPU的使用權(quán)主動(dòng)讓給應(yīng)用程序(第二章進(jìn)程管理相關(guān)內(nèi)容)
"中斷"是讓操作系統(tǒng)內(nèi)核奪回CPU使用權(quán)的唯一途徑
如果沒(méi)有"中斷"機(jī)制,那么一旦應(yīng)用程序在CPU上運(yùn)行,CPU就會(huì)一直運(yùn)行這個(gè)應(yīng)用程序
中斷的類型
內(nèi)中斷:與當(dāng)前執(zhí)行的指令有關(guān),中斷信號(hào)來(lái)源于CPU內(nèi)部例1:試圖在用戶態(tài)下執(zhí)行特權(quán)指令例2:執(zhí)行除法指令時(shí)發(fā)現(xiàn)除數(shù)為0例3:有時(shí)候應(yīng)用程序想請(qǐng)求操作系統(tǒng)內(nèi)核的服務(wù),此時(shí)會(huì)執(zhí)行一條特殊的指令——陷入指令,該指令會(huì)引發(fā)一個(gè)中斷信號(hào)。執(zhí)行陷入指令意味著應(yīng)用程序主動(dòng)地將CPU控制權(quán)還給操作系統(tǒng)內(nèi)核,“系統(tǒng)調(diào)用”就是通過(guò)陷入指令完成的
外中斷:與當(dāng)前執(zhí)行的指令無(wú)關(guān),中斷信號(hào)來(lái)源于CPU外部例1:時(shí)鐘中斷——由時(shí)鐘部件發(fā)來(lái)的中斷信號(hào),每過(guò)例如50ms時(shí)時(shí)鐘給CPU發(fā)中斷信號(hào)切換應(yīng)用程序的執(zhí)行例2:I/O中斷——由輸入輸出設(shè)備發(fā)來(lái)的中斷信號(hào)
中斷機(jī)制的基本原理
內(nèi)中斷:CPU在執(zhí)行指令時(shí)會(huì)檢查是否有異常發(fā)生
外中斷:每個(gè)指令周期末尾,CPU都會(huì)檢查是否有外中斷信號(hào)需要處理
不同的中斷信號(hào),需要用不同的中斷處理程序來(lái)處理。當(dāng)CPU檢測(cè)到中斷信號(hào)后,會(huì)根據(jù)中斷信號(hào)的類型去查詢“中斷向量表”,以此來(lái)找到相應(yīng)的中斷處理程序在內(nèi)存中的存放位置
系統(tǒng)調(diào)用
系統(tǒng)調(diào)用是操作系統(tǒng)提供給應(yīng)用程序(程序員/編程人員)使用的接口,可以理解為一種可供應(yīng)用程序調(diào)用的特殊函數(shù),應(yīng)用程序可以通過(guò)系統(tǒng)調(diào)用來(lái)請(qǐng)求獲得操作系統(tǒng)內(nèi)核的服務(wù)
什么功能要用到系統(tǒng)調(diào)用
應(yīng)用程序通過(guò)系統(tǒng)調(diào)用請(qǐng)求操作系統(tǒng)的服務(wù),而系統(tǒng)中的各種共享資源都由操作系統(tǒng)內(nèi)核統(tǒng)一掌管,因此凡是與共享資源有關(guān)的操作(如存儲(chǔ)分配,IO操作,文件管理)都必須通過(guò)系統(tǒng)調(diào)用的方式向操作系統(tǒng)內(nèi)核提出服務(wù)請(qǐng)求,由操作系統(tǒng)內(nèi)核代為完成,這樣可以保證系統(tǒng)的穩(wěn)定性和安全性,防止用戶進(jìn)行非法操作
系統(tǒng)調(diào)用的過(guò)程
傳遞系統(tǒng)調(diào)用參數(shù)
執(zhí)行陷入指令(用戶態(tài))
執(zhí)行相應(yīng)的內(nèi)請(qǐng)求核程序處理系統(tǒng)調(diào)用(核心態(tài))
返回應(yīng)用程序
注意:
陷入指令是在用戶態(tài)執(zhí)行的,執(zhí)行陷入指令之后立即引發(fā)一個(gè)內(nèi)中斷使CPU進(jìn)入核心態(tài)
發(fā)出系統(tǒng)調(diào)用請(qǐng)求是在用戶態(tài),而對(duì)系統(tǒng)調(diào)用的相應(yīng)處理是在核心態(tài)下進(jìn)行
陷入指令=trap指令=訪管指令
操作系統(tǒng)體系結(jié)構(gòu)
操作系統(tǒng)的內(nèi)核
內(nèi)核是操作系統(tǒng)最基本最核心的部分
操作系統(tǒng)內(nèi)核需要運(yùn)行在內(nèi)核態(tài),非內(nèi)核功能運(yùn)行在用戶態(tài)
大內(nèi)核與微內(nèi)核
大內(nèi)核:將操作系統(tǒng)的主要功能模塊都作為系統(tǒng)內(nèi)核,運(yùn)行在核心態(tài)優(yōu)點(diǎn):高性能缺點(diǎn):內(nèi)核代碼龐大,結(jié)構(gòu)混亂,難以維護(hù)
微內(nèi)核:只把最基本的功能保留在內(nèi)核優(yōu)點(diǎn):內(nèi)核功能少,結(jié)構(gòu)清晰,方便維護(hù)缺點(diǎn):需要頻繁地在核心態(tài)與用戶態(tài)切換,性能低
頻繁地進(jìn)行狀態(tài)轉(zhuǎn)換會(huì)降低系統(tǒng)性能
典型的大內(nèi)核操作系統(tǒng):Linux,UNIX
典型的微內(nèi)核操作系統(tǒng):Windows NT
操作系統(tǒng)結(jié)構(gòu)
分層結(jié)構(gòu)
內(nèi)核分多層,每層可單向調(diào)用更低一層提供的接口
優(yōu)點(diǎn):
便于調(diào)試和驗(yàn)證,自底向上逐層調(diào)試驗(yàn)證
易于擴(kuò)充易于維護(hù),各層之間調(diào)用接口清晰固定
缺點(diǎn):
僅可調(diào)用相鄰低層,難以合理定義各層的邊界
效率低,不可跨層調(diào)用,系統(tǒng)調(diào)用執(zhí)行時(shí)間長(zhǎng)
模塊化
將內(nèi)核劃分為多個(gè)模塊,各模塊之間相互協(xié)作內(nèi)核=主模塊+可加載內(nèi)核模塊主模塊:只負(fù)責(zé)核心功能,如進(jìn)程調(diào)度,內(nèi)存管理可加載模塊:可以動(dòng)態(tài)加載模塊到內(nèi)核,而無(wú)需重新編譯整個(gè)內(nèi)核
優(yōu)點(diǎn)
模塊間邏輯清晰易于維護(hù),確定模塊間接口后即可多模塊同時(shí)開(kāi)發(fā)
支持動(dòng)態(tài)加載新的內(nèi)核模塊(如安裝設(shè)備驅(qū)動(dòng)程序,安裝新的文件系統(tǒng)模塊到內(nèi)核),增強(qiáng)OS適應(yīng)性
任何模塊都可以直接調(diào)用其他模塊,無(wú)需采用消息進(jìn)行傳遞通信,效率高
缺點(diǎn)
模塊間接口定義未必合理,實(shí)用
模塊間相互依賴,更難調(diào)試和驗(yàn)證
宏內(nèi)核(大內(nèi)核)
所有的系統(tǒng)功能都放在內(nèi)核里(大內(nèi)核的OS通常也采用了"模塊化"的設(shè)計(jì)思想)
優(yōu)點(diǎn)
性能高,內(nèi)核內(nèi)部各種功能都可以相互直接調(diào)用
缺點(diǎn)
內(nèi)核龐大功能復(fù)雜,難以維護(hù)
大內(nèi)核中某個(gè)功能模塊出錯(cuò),就可能導(dǎo)致整個(gè)大系統(tǒng)崩潰
微內(nèi)核
只把終端,原語(yǔ),進(jìn)程通信等最核心的功能放入內(nèi)核,進(jìn)程管理,文件管理,設(shè)備管理等功能以用戶進(jìn)程的形式運(yùn)行在用戶態(tài)
優(yōu)點(diǎn)
內(nèi)核外的某個(gè)功能模塊出錯(cuò)不會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰
缺點(diǎn)
性能低,需要頻繁地切換用戶態(tài)/核心態(tài)
用戶態(tài)下的各個(gè)功能模塊不可以直接相互調(diào)用,只能通過(guò)內(nèi)核的"消息傳遞"來(lái)間接通信
外核exokernel
內(nèi)核負(fù)責(zé)進(jìn)程調(diào)度,進(jìn)程通信等功能,外核負(fù)責(zé)為用戶進(jìn)程分配未經(jīng)抽象的硬件資源,且由外核負(fù)責(zé)保證資源使用安全
優(yōu)點(diǎn)
外核可以直接給用戶進(jìn)程分配"不虛擬,不抽象"的硬件資源,使得用戶進(jìn)程可以更靈活地使用硬件資源
減少了虛擬硬件資源的"映射層",提升效率
缺點(diǎn)
降低了系統(tǒng)的一致性
使得系統(tǒng)變得復(fù)雜
操作系統(tǒng)引導(dǎo)
操作系統(tǒng)引導(dǎo)boot——開(kāi)機(jī)的時(shí)候怎么讓操作系統(tǒng)運(yùn)行起來(lái)
CPU從一個(gè)特定主存地址開(kāi)始,取指令,執(zhí)行ROM中的引導(dǎo)程序(先進(jìn)行硬件自檢,再開(kāi)機(jī))
將磁盤的第一塊——主引導(dǎo)記錄讀入內(nèi)存,執(zhí)行磁盤引導(dǎo)程序,掃描分區(qū)表
從活動(dòng)分區(qū)(又稱主分區(qū),即安裝了操作系統(tǒng)的分區(qū))讀入分區(qū)引導(dǎo)記錄,執(zhí)行其中的程序
從根目錄下找到完整的操作系統(tǒng)初始化程序(即啟動(dòng)管理器)并執(zhí)行,完成“開(kāi)機(jī)”的一系列動(dòng)作
虛擬機(jī)
虛擬機(jī):使用虛擬化技術(shù),將一臺(tái)物理機(jī)器虛擬化為多臺(tái)虛擬機(jī)器,每個(gè)虛擬機(jī)器都可以獨(dú)立運(yùn)行一個(gè)操作系統(tǒng)
同義術(shù)語(yǔ):虛擬機(jī)管理程序/虛擬機(jī)監(jiān)控程序/Virtual Machine Monitor/Hypervisor
兩種虛擬機(jī)管理程序VMM
第一類VMM:直接運(yùn)行在硬件上
第二類VMM:運(yùn)行在宿主操作系統(tǒng)上,如VirtualBox和VMware
第一類VMM第二類VMM對(duì)物力資源的控制權(quán)直接運(yùn)行在硬件之上,能直接控制和分配物力資源運(yùn)行在Host OS上,依賴于Host OS為其分配物理資源資源分配方式在安裝Guest OS時(shí),VMM要在原本的磁盤上自行分配存儲(chǔ)空間,類似于"外核"的分配方式,分配未經(jīng)抽象的物理硬件GuestOS擁有自己的虛擬磁盤,該盤實(shí)際上是Host OS文件系統(tǒng)的一個(gè)大文件,GuestOS分配到的內(nèi)存是虛擬內(nèi)存性能性能更好性能更差,需要HostOS作為"中介"可支持的虛擬機(jī)數(shù)量更多,不需要和HostOS競(jìng)爭(zhēng)資源,相同的硬件資源可以支持更多的虛擬機(jī)更少,Host OS本身需要使用物理資源,Host OS上云霄的其他進(jìn)程也需要物理資源虛擬機(jī)的可遷移性更差更好,只需導(dǎo)出虛擬機(jī)鏡像文件即可遷移到另一臺(tái)HostOS上,商業(yè)化應(yīng)用更廣泛運(yùn)行模式第一類VMM運(yùn)行在最高特權(quán)級(jí)(Ring 0)可以執(zhí)行最高特權(quán)的指令第二類VMM部分運(yùn)行在用戶態(tài),部分運(yùn)行在內(nèi)核態(tài),GuestOS發(fā)出的系統(tǒng)調(diào)用會(huì)被VMM截獲并轉(zhuǎn)化為VMM對(duì)HostOS的系統(tǒng)調(diào)用