- 論壇徽章:
- 0
|
OS的核心類型
一般來說OS的核心有以下幾種:
1.單塊核心(MONOLITHIC KERNEL)
將所有OS功能放入核心.UNIX就是這種結(jié)構(gòu).
2.環(huán)狀核心
分為核心,任務(wù),用戶幾級(jí),如MINIX.LINUX 也有這種特征,大家也許注意到,LINUX增加某些種類的服務(wù)時(shí)不像UNIX,必須重新啟動(dòng).這就是這種結(jié)構(gòu)比UNIX先進(jìn)的地方.
3.無內(nèi)核:
不區(qū)分核心和用戶程序的分別,這樣省去了狀態(tài)切換的時(shí)間,這種模式適合WEB服務(wù)器.
4.微內(nèi)核
微內(nèi)核將許多OS服務(wù)放入分離的進(jìn)程,如文件系統(tǒng),設(shè)備驅(qū)動(dòng)程序,而進(jìn)程通過消息傳遞調(diào)用OS服務(wù).微內(nèi)核結(jié)構(gòu)必然是多線程的,第一代微內(nèi)核,在核心提供了較多的服務(wù),因此被稱為'胖微內(nèi)核',它的典型代表是MACH,它既是GNU
HURD也是APPLE SERVER OS 的核心,可以說,蒸蒸日上.第二代為內(nèi)核只提供最基本的OS服務(wù),典型的OS是QNX,QNX在理論界很有名,被認(rèn)為是一種先進(jìn)的OS
.1
我個(gè)人認(rèn)為第二代微內(nèi)核應(yīng)該是我們的選擇.下面是我的一個(gè)操作系統(tǒng)模型
前言:
任何操作系統(tǒng)在設(shè)計(jì)上若沒有一個(gè)簡(jiǎn)化的模型(藍(lán)圖)做為整個(gè)大方向的引導(dǎo),就很容易陷入一種混淆的局面------程序代碼無組織的交相混雜在一起,甚至
導(dǎo)致失敗。模型就象大樓的骨架,先有健全的骨架,然后繼續(xù)填土,粉刷等修飾的工作會(huì)變得比較容易。所以提出一個(gè)操作系統(tǒng)模型(Operating
System Modal)勢(shì)在必行。
有人稱,早期的MS-DOS,WINDOWS3.X等產(chǎn)品還稱不上操作系統(tǒng),而只是文件操作和圖形界面的“程序組”,因?yàn)楹湍切┑堑蒙洗笱胖玫乃^理論
上的模型比較之下,它們還差“真正的”操作系統(tǒng)一大截,所以我們的操作系統(tǒng)模型應(yīng)該是個(gè)滿足“學(xué)術(shù)理論模型”的操作系統(tǒng),甚至應(yīng)較理論上的更強(qiáng)些。
論題一:操作系統(tǒng)模型
在操作系統(tǒng)理論上,有較常見的三種模型:?jiǎn)误w模型(Monolithic Model),層狀模型(Layered Model),主從模型(Client/Server
Model)。在確定操作系統(tǒng)模型之前,先對(duì)現(xiàn)有其它操作系統(tǒng)模型有個(gè)簡(jiǎn)單的介紹(附模型圖3張):
單體模型(Monolith):?jiǎn)误w模型把該有的功能都整合于一個(gè)整體,其中分不出明顯的模塊,也無集中排程,主要掌控的程序負(fù)責(zé)對(duì)內(nèi),外的聯(lián)系,需要什
么樣功能就由應(yīng)用程序直接呼叫,操作程序內(nèi)部之間的關(guān)系就像炒大鍋菜一般,或者用藕斷絲連來形容它,其中的函數(shù)呼叫來,呼叫去,很難分割出單獨(dú)的個(gè)體,如
MS-DOS。
這種模型的最大特點(diǎn)就是牽一而發(fā)全身,所以更新,升級(jí)困難。
層狀模型(Layered):層狀模型的主要特色是一種由上而下的多層階梯結(jié)構(gòu),與應(yīng)用程序越有關(guān)的東西擺在越靠近應(yīng)用程序的地方(較上層),與應(yīng)用程序
越無關(guān)或不希望應(yīng)用程序直接碰觸到的東西則擺在距離應(yīng)用程序較遠(yuǎn)的地方(較下層),命令則一律由上往下層發(fā)送,執(zhí)行,不允許跨層或任意方向發(fā)送至其它層。
與單體模型比較,層狀模型主要有兩個(gè)優(yōu)點(diǎn),一,操作系統(tǒng)按功能模塊化使得子系統(tǒng)(模塊)的更新,除錯(cuò)容易,二,應(yīng)用程序僅接觸到操作系統(tǒng)的最上層應(yīng)用程序
界面(API)部分,不易對(duì)整個(gè)系統(tǒng)造成傷害,API是由操作系統(tǒng)提供的較低層的成套函數(shù)或切入點(diǎn),程序設(shè)計(jì)者于其程序中呼叫種種API以獲得各種內(nèi)建于
操作系統(tǒng)的功能,如開放文件,讀擋,移動(dòng)游標(biāo)位置等等。
主從模型(Server/Client):當(dāng)我們?cè)诰W(wǎng)絡(luò)方面說到主從模型時(shí),一般指的是一部負(fù)責(zé)提供數(shù)據(jù)的服務(wù)器及另一部取得數(shù)據(jù)的工作站,其中所分享的
數(shù)據(jù)通常是文件和打印機(jī)。操作系統(tǒng)的主從模型也很類似,但所分享的數(shù)據(jù)是系統(tǒng)所提供的種種服務(wù),當(dāng)然也負(fù)責(zé)提供服務(wù)的程序及所接受服務(wù)的程序,
WindowsNT采用的操作系統(tǒng)架構(gòu)就是主從模型。這兩個(gè)主從模型在抽象上都有個(gè)服務(wù)器及客戶機(jī)主體,只是形式不一樣,換言之,透過這種機(jī)制,可將操作
系統(tǒng)主體設(shè)計(jì)成分散于一群機(jī)器的分散式操作系統(tǒng),應(yīng)用系統(tǒng)扮演客戶端角色,操作系統(tǒng)本身則作為服務(wù)器,應(yīng)用程序向操作系統(tǒng)要求服務(wù),操作系統(tǒng)則提供服務(wù)。
論題二: 兼容性
根據(jù)過去的經(jīng)驗(yàn),新的操作系統(tǒng)若打算在現(xiàn)有的市場(chǎng)占有一席之地,則和現(xiàn)有軟件的兼容性是最重要的關(guān)鍵,無論這個(gè)新的系統(tǒng)是多么強(qiáng)而有力。所以我們必須注意到現(xiàn)有的文件系統(tǒng),網(wǎng)路系統(tǒng),甚至不同的CPU。這里我認(rèn)為有必要向微軟學(xué)習(xí)一下“統(tǒng)一”哲學(xué),
WindowsNT的環(huán)境子系統(tǒng)(Environment
subsystem)觀念允許操作系統(tǒng)模擬不同的操作環(huán)境,甚至不同的CPU,如WindowsNT的DOS窗(環(huán)境子系統(tǒng)實(shí)際上是一個(gè)程序,負(fù)責(zé)讓被執(zhí)
行的程序感覺就像在它所熟悉的操作環(huán)境下工作,它攔截并解釋在該模擬環(huán)境下的執(zhí)行程序和機(jī)器指令,并轉(zhuǎn)交主系統(tǒng)處理,執(zhí)行)。且WindowsNT有效的
模塊化特性使NT很容易擴(kuò)充出新的環(huán)境子系統(tǒng)。
論題三: 系統(tǒng)核心
系統(tǒng)核心是整個(gè)操作系統(tǒng)的基礎(chǔ),應(yīng)是微核心的一種,需包括1。程序及線程的排程和發(fā)派,系統(tǒng)核心的日常工作即是將各個(gè)程序或線程發(fā)派給CPU執(zhí)行。
2.多處理能力,即當(dāng)存在幾個(gè)CPU時(shí),操作系統(tǒng)對(duì)CPU的使用邏輯(典型有兩種,一為對(duì)稱式Symmetric Multi-Processing,此時(shí)應(yīng)用程序共享所有CPU,另一為非對(duì)稱式Asymmetric
Multi-Processing,此架構(gòu)中,操作系統(tǒng)有一顆專屬的CPU,應(yīng)用程序有其它CPU。
3.處理硬件中斷,包括鍵盤,計(jì)時(shí)器,串列行及其他各種硬件中斷來源。
4.例外處理,象非法寫入保護(hù)記憶區(qū)等例外。
5.當(dāng)電源意外中斷時(shí),于再次重啟前做好重新啟動(dòng)系統(tǒng)的準(zhǔn)備。
論題四: 硬件抽象化
硬件抽象化的目的是透過操作系統(tǒng)本身的設(shè)計(jì)的設(shè)計(jì)將硬件因素降到最低,軟件本身牽涉到的硬件因素越少,則其跨平臺(tái)的可能性越高,而硬件抽象化的最直接作法即是將操作系統(tǒng)本身與硬件有關(guān)的部分集中成一個(gè)模塊,利用此模塊將操作系統(tǒng)及應(yīng)用程序與硬件界面相隔絕。
論題五:安全機(jī)制
橘皮書對(duì)可信賴系統(tǒng)的定義是這樣:一個(gè)由完整的硬件及軟件所組成的系統(tǒng),在不反映存取的情況下,它能同時(shí)服務(wù)不限定個(gè)數(shù)的用戶,并處理從一般機(jī)密到
最高機(jī)密等等不同范疇的咨詢。WindowsNT是C2級(jí)安全等級(jí),UNIX(或clone)未經(jīng)測(cè)試時(shí),一般認(rèn)為是C1,也有人認(rèn)為是C2.
論題六:文件系統(tǒng)格式
NT文件系統(tǒng)(NTFS)
DOS檔案配置表(FAT)
OS/2的高效文件系統(tǒng)(HPFS)
FAT格式有許多限制,如每個(gè)硬盤的分割容量不能超過65535Cluster,僅支持長(zhǎng)8.3的件名格式,無存取權(quán)限的設(shè)置等。
NTFS與FAT比,提供了更多包括256字元的件名,具C2等級(jí)的文件安全管理,文件修復(fù)還原能里等。
HPFS是IBM OS/2的文件系統(tǒng)格式,包括254字元的件名,允許額外的檔案注解,簡(jiǎn)單的錯(cuò)誤修正能力等。
論題七:錯(cuò)誤容忍
保護(hù)數(shù)據(jù)免遭各種意外造成損失的能力稱為錯(cuò)誤容忍(Faulit Tolerance),如支持磁盤映射(disk mirror),不斷電系統(tǒng)(UPS)等。
磁盤映射技巧引自容余廉價(jià)磁盤陳列概念(RAID),簡(jiǎn)單的提一下,包括RAID 0 –平行儲(chǔ)存,RAID 1—磁盤映射,RAID 2—位元容錯(cuò)平行儲(chǔ)存,RAID
3—大單位容錯(cuò)平行儲(chǔ)存,RAID 4—改良式容錯(cuò)平行儲(chǔ)存,RAID 5—高效率容錯(cuò)平行儲(chǔ)存。
論題八:多任務(wù),多線程處理能力
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/8962/showart_56699.html |
|