??個(gè)人主頁(yè): ?? 葉落閑庭
??我的專(zhuān)欄:??
c語(yǔ)言
數(shù)據(jù)結(jié)構(gòu)
javaweb
石可破也,而不可奪堅(jiān);丹可磨也,而不可奪赤。
一、操作系統(tǒng)體系結(jié)構(gòu)
1.1操作系統(tǒng)的內(nèi)核
- 內(nèi)核是操作系統(tǒng)最基本、最核心的部分
- 實(shí)現(xiàn)操作系統(tǒng)內(nèi)核功能的那些程序就是內(nèi)核程序
- 與硬件關(guān)系較緊密的模塊:
-
- 時(shí)鐘管理:實(shí)現(xiàn)計(jì)時(shí)功能
-
- 中斷處理:負(fù)責(zé)實(shí)現(xiàn)中斷機(jī)制
-
- 原語(yǔ):
-
- 是一種特殊的程序
-
- 處于操作系統(tǒng)最底層,是最接近硬件的部分
-
- 這種程序的運(yùn)行具有原子性 – – 其運(yùn)行只能一氣呵成,不可中斷
-
- 運(yùn)行時(shí)間較短、調(diào)用頻繁
- 對(duì)資源系統(tǒng)進(jìn)行管理的功能:
-
- 進(jìn)程管理
-
- 存儲(chǔ)器管理
-
- 設(shè)備管理
- 注意:這些管理工作更多的是對(duì)數(shù)據(jù)結(jié)構(gòu)的操作,不會(huì)直接涉及硬件
- 注意:
-
- 操作系統(tǒng)內(nèi)核需要運(yùn)行在內(nèi)核態(tài)
-
- 操作系統(tǒng)非內(nèi)核功能運(yùn)行在用戶(hù)態(tài)
1.1.1大內(nèi)核(又名:宏內(nèi)核/單內(nèi)核)
- 將操作系統(tǒng)的主要功能模塊都作為系統(tǒng)內(nèi)核,運(yùn)行在核心態(tài)
- 優(yōu)點(diǎn):高性能
- 缺點(diǎn):
-
- 1.內(nèi)核代碼龐大,結(jié)構(gòu)混亂,難以維護(hù)
-
- 2.大內(nèi)核中某個(gè)功能模塊出錯(cuò),就可能導(dǎo)致整個(gè)系統(tǒng)崩潰
- 典型的大內(nèi)核/宏內(nèi)核/單內(nèi)核 操作系統(tǒng):Linux、UNIX
- 特征、思想:
-
- 所有系統(tǒng)功能都放在內(nèi)核里(大內(nèi)核結(jié)構(gòu)的OS通常也采用了“模塊化”的設(shè)計(jì)思想)
1.1.2微內(nèi)核
- 只把最基本的功能保留在內(nèi)核
- 優(yōu)點(diǎn):
-
- 1.內(nèi)核功能少,結(jié)構(gòu)清晰,方便維護(hù),內(nèi)核可靠性高
-
- 2.內(nèi)核外的某個(gè)功能模塊出錯(cuò)不會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰
- 缺點(diǎn):
-
- 1.需要頻繁地在核心態(tài)和用戶(hù)態(tài)之間切換,性能低
-
- 2.用戶(hù)態(tài)下的各功能模塊不可以直接相互調(diào)用,只能通過(guò)內(nèi)核的“消息傳遞”來(lái)間接通信
- 典型的微內(nèi)核操作系統(tǒng):Windows NT
1.3分層結(jié)構(gòu)
- 特征、思想:內(nèi)核分多層,每層可單向調(diào)用更低一層提供的接口
- 優(yōu)點(diǎn):
-
- 1.便于調(diào)試和驗(yàn)證、自底向上逐層調(diào)試驗(yàn)證
-
- 2.易擴(kuò)充和易維護(hù),各層之間調(diào)用接口清晰固定
- 缺點(diǎn):
-
- 1.僅可調(diào)用相鄰低層,難以合理定義各層的邊界
-
- 2.效率低,不可跨層調(diào)用,系統(tǒng)調(diào)用執(zhí)行時(shí)間長(zhǎng)
1.4模塊化
模塊化是將操作系統(tǒng)按功能劃分為若干個(gè)具有一定獨(dú)立性的模塊,每個(gè)模塊具有某方面的管理功能,并規(guī)定好各模塊間的接口,使各模塊之間能通過(guò)接口進(jìn)行通信,還可以進(jìn)一步將各模塊細(xì)分為若干個(gè)具有一定功能的子模塊,同樣也規(guī)定好各子模塊之間的接口,把這種設(shè)計(jì)方法稱(chēng)為模塊–接口法。
- 特征、思想:將內(nèi)核分為多個(gè)模塊,各模塊之間相互協(xié)作
- 內(nèi)核=主模塊+可加載內(nèi)核模塊
- 主模塊:只負(fù)責(zé)核心功能,如進(jìn)程調(diào)度、內(nèi)存管理
- 可加載內(nèi)核模塊:可以動(dòng)態(tài)加載新模塊到內(nèi)核,而無(wú)需重新編譯整個(gè)內(nèi)核
- 優(yōu)點(diǎn):
-
- 1.模塊間邏輯清晰易于維護(hù),確定模塊間接口后即可多模塊同時(shí)開(kāi)發(fā)
-
- 2.支持動(dòng)態(tài)加載新的內(nèi)核模塊(如:安裝設(shè)備驅(qū)動(dòng)程序、安裝新的文件系統(tǒng)模塊到內(nèi)核),增強(qiáng)OS適應(yīng)性
-
- 3.任何模塊都可以直接調(diào)用其他模塊,無(wú)需采用詳細(xì)傳遞進(jìn)行通信,效率高
- 缺點(diǎn):
-
- 1.模塊間的接口定義未必合理
-
- 2.模塊間相互依賴(lài),更難調(diào)試和驗(yàn)證
1.5外核(exokernel)
- 特征、思想:內(nèi)核負(fù)責(zé)進(jìn)程調(diào)度、進(jìn)程通信等功能,外核負(fù)責(zé)為用戶(hù)進(jìn)程分配未經(jīng)抽象的硬件資源,且由外核負(fù)責(zé)保證資源使用安全
- 優(yōu)點(diǎn):
-
- 1.外核可直接給用戶(hù)進(jìn)程分配“不虛擬、不抽象”的硬件資源,使用戶(hù)進(jìn)程可以更靈活的使用硬件資源
-
- 2.減少了虛擬硬件資源的“映射層”,提升效率
- 缺點(diǎn):
-
- 1.降低了系統(tǒng)的一致性
-
- 2.是系統(tǒng)變得更復(fù)雜
**
二、操作系統(tǒng)引導(dǎo)
2.1什么是操作系統(tǒng)引導(dǎo)?
操作系統(tǒng)引導(dǎo):開(kāi)機(jī)的時(shí)候,怎么讓操作系統(tǒng)運(yùn)行起來(lái)
安裝操作系統(tǒng)后:
- 磁盤(pán)包括:
-
- 主引導(dǎo)記錄(MBR)(包含:磁盤(pán)引導(dǎo)程序和分區(qū)表)
-
- C:盤(pán)
-
- D:盤(pán)
-
- E:盤(pán)等
-
- C:盤(pán)中又包含:
-
- 引導(dǎo)記錄PBR(負(fù)責(zé)找到“啟動(dòng)管理器”)
-
- 根目錄
-
- 其他
- 主存:
-
- 由ROM(BIOS)包含:ROM引導(dǎo)程序,即自舉程序和RAM組成
2.2操作系統(tǒng)引導(dǎo)過(guò)程
- 1.CPU從一個(gè)特定的主存地址開(kāi)始,取指令,執(zhí)行ROM中的引導(dǎo)程序(先進(jìn)行硬件自檢,再開(kāi)機(jī))
- 2.將磁盤(pán)的第一塊 – – 主引導(dǎo)記錄讀入內(nèi)存,執(zhí)行磁盤(pán)引導(dǎo)程序,掃描分區(qū)表
- 3.從活動(dòng)區(qū)(又稱(chēng)主分區(qū),即安裝了操作系統(tǒng)的分區(qū))讀入分區(qū)引導(dǎo)記錄,執(zhí)行其中的程序
- 4.從根目錄下找到完整的操作系統(tǒng)初始化程序(啟動(dòng)管理器)并執(zhí)行,完成“開(kāi)機(jī)”的一系列動(dòng)作
三、虛擬機(jī)
- 虛擬機(jī):使用虛擬化技術(shù),將一臺(tái)物理機(jī)器虛擬化為多臺(tái)虛擬機(jī)器(Virtual Machien ,VM),每個(gè)虛擬機(jī)器都可以獨(dú)立運(yùn)行一個(gè)操作系統(tǒng)
- 同義術(shù)語(yǔ):虛擬機(jī)管理程序/虛擬機(jī)監(jiān)控程序/Virtual Machien Monitor(VMM)/Hypervisor
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-658135.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-658135.html
- 兩類(lèi)虛擬機(jī)管理程序(VMM)的對(duì)比
第一類(lèi)VMM | 第二類(lèi)VMM | |
---|---|---|
對(duì)物理資源的控制權(quán) | 直接運(yùn)行在硬件之上,能直接控制和分配物理資源 | 運(yùn)行在Host OS之上,依賴(lài)于Host OS為其分配的物理資源 |
資源分配方式 | 在安裝Guest OS時(shí),VMM要在原本的硬盤(pán)上自行分配存儲(chǔ)空間,類(lèi)似于“外核”的分配方式,分配未經(jīng)抽象的物理硬件 | Guest OS擁有自己的細(xì)膩==虛擬硬盤(pán),該硬盤(pán)實(shí)際上是Guest OS文件系統(tǒng)中的一個(gè)大文件,Guest OS分配到的內(nèi)存是虛擬內(nèi)存 |
性能 | 性能更好 | 性能更差,需要Guest OS作為“中介” |
可支持的虛擬機(jī)數(shù)量 | 更多,不需要和Guest OS競(jìng)爭(zhēng)資源,相同的硬件資源可以支持更多的虛擬機(jī) | 更少,Guest OS本身需要使用物理資源,Guest OS上運(yùn)行的其他進(jìn)程也需要物理資源 |
虛擬機(jī)的可遷移性 | 更差 | 更好,只需導(dǎo)出虛擬機(jī)鏡像文件即可遷移到另一臺(tái)Guest OS上,商業(yè)化應(yīng)用更廣泛 |
運(yùn)行模式 | 第一類(lèi)VMM運(yùn)行在最高特權(quán)級(jí)(Ring O),可以執(zhí)行最該特權(quán)的指令 | 第二類(lèi)VMM部分運(yùn)行在用戶(hù)態(tài)、部分運(yùn)行在內(nèi)核態(tài),Guest OS發(fā)出的系統(tǒng)調(diào)用會(huì)被VMM截獲,并轉(zhuǎn)化為VMM對(duì)Guest OS的系統(tǒng)調(diào)用 |
到了這里,關(guān)于操作系統(tǒng)的體系結(jié)構(gòu)、內(nèi)核、虛擬機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!