欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
一個(gè)操作系統的實(shí)現:進(jìn)程間通信

  進(jìn)程間通信

  我們提到過(guò),當一個(gè)進(jìn)程需要操作系統的幫助,它可以通過(guò)系統調用讓內核來(lái)替它完成一些工作。迄今為止,我們已經(jīng)熟悉了系統調用的工作機制,并且已經(jīng)實(shí)現了不止一個(gè)系統調用。接下來(lái)你會(huì )發(fā)現,用戶(hù)進(jìn)程將會(huì )有更多事情依賴(lài)于內核。比如我們想實(shí)現一個(gè)文件系統,最起碼讀寫(xiě)硬盤(pán)的工作要求助于內核。這里我們可以逐漸地增加系統調用,但也可以采用另一種方案,就是將這些工作剝離出來(lái),交給一些系統進(jìn)程來(lái)完成,讓內核只負責它必須負責的工作,比如進(jìn)程調度。這種將內核工作簡(jiǎn)單化的思想,便是微內核的基本思想。而所有工作通過(guò)系統調用扔給內核態(tài)的做法,被稱(chēng)為宏內核。

  在基于宏內核的操作系統中,完成具體任務(wù)時(shí),用戶(hù)進(jìn)程通過(guò)系統調用讓內核來(lái)做事,直來(lái)直去,我們之前已經(jīng)很熟悉了。在基于微內核的操作系統中,這個(gè)過(guò)程稍微復雜一些。在完成具體任務(wù)時(shí),內核的角色很像是個(gè)中介。就比如我們將要實(shí)現的文件系統吧,設想用戶(hù)進(jìn)程P讀取一個(gè)文件,首先通過(guò)內核告訴進(jìn)程FS,然后FS再通過(guò)內核告訴驅動(dòng)程序(也是一個(gè)獨立的進(jìn)程),驅動(dòng)程序讀取硬盤(pán),返回結果。這樣一來(lái),一項工作的完成變得有些曲折,需要多個(gè)進(jìn)程協(xié)同工作。于是,進(jìn)程間通信也就變得至關(guān)重要了。

  到如今,我們的操作系統慢慢長(cháng)大,接下來(lái)我們要用它來(lái)管理磁盤(pán)和磁盤(pán)上的文件并管理內存等,這些都要向應用程序提供接口,到了必須決定用微內核還是宏內核的時(shí)候了。怎么辦呢?當然不能拋個(gè)硬幣了事。我們不妨先找兩個(gè)具體的例子來(lái)看看它們分別是怎么回事,看完了,明白了,再做決定也不遲。

  微內核還是宏內核

  微內核和宏內核的例子都非常好找。我們一直拿在手邊的Minix,以及每天在用的Linux,便是兩者的典型例子。Minix是微內核的,Linux則是宏內核的。

  說(shuō)起這兩個(gè)例子,有一段軼事不能不提。那就是當年Tanenbaum和Linus一老一少的口舌之爭。話(huà)說(shuō)Linus寫(xiě)了個(gè)操作系統叫做Linux,使用的是宏內核,他把這個(gè)消息發(fā)在了comp.os.minix新聞組上,這時(shí)Tanenbaum說(shuō)話(huà)了,把Linux批評了一通,年輕氣盛的Linus于是發(fā)信回擊,這樣一來(lái)二去,為我們留下一段微內核與宏內核的經(jīng)典爭論。

  爭論的全部?jì)热菰谶@里我們就不全部轉述了,讀者感興趣的話(huà)可以用搜索引擎很容易地搜到(或者在維基百科上看一下),我們把其中的重點(diǎn)說(shuō)一下。在談到微內核和宏內核時(shí),Andy(Andrew S. Tanenbaum)是這樣說(shuō)的:

  老一點(diǎn)的操作系統都是宏內核的,也就是說(shuō),整個(gè)操作系統是一個(gè)運行在核心態(tài)的單獨的a.out文件,這個(gè)二進(jìn)制文件包含進(jìn)程管理、內存管理、文件系統以及其他。具體實(shí)例包括UNIX、MS-DOS、 VMS、MVS、OS/360、MULTICS等。

  另一種便是微內核,在這種系統中操作系統的大部分都運行在單獨的進(jìn)程,而且多數在內核之外。它們之間通過(guò)消息傳遞來(lái)通信。內核的任務(wù)是處理消息傳遞、中斷處理、底層的進(jìn)程管理,以及可能的I/O。這種設計的實(shí)例有RC4000、Amoeba、Chorus、Mach,以及還沒(méi)有發(fā)布的Windows/NT。

  我完全可以(但不必)再講述一段關(guān)于兩者之間相對優(yōu)勢的很長(cháng)的故事,然而在實(shí)際設計操作系統的人中間說(shuō)說(shuō)就夠了,爭論實(shí)際上已經(jīng)結束。微內核已經(jīng)取得了勝利。對于宏內核而言唯一的爭論焦點(diǎn)在于效率,不過(guò)已經(jīng)有足夠的證據表明微內核可以像宏內核一樣快(比如Rick Rashid已經(jīng)發(fā)表了Mach 3.0和宏內核系統的比較報告)所以那不過(guò)是喊喊而已罷了。

  Minix是微內核的,文件系統和內存管理是單獨的進(jìn)程,它們運行在內核之外。I/O驅動(dòng)也是單獨的進(jìn)程(在內核之內,但僅僅是因為Intel CPU的糟糕設計使得很難不這樣做)。Linux是個(gè)宏內核的系統。這相當于向七十年代倒退了一大步。就好比將一個(gè)已存在的工作得很好的C程序用Basic重寫(xiě)一遍。在我看來(lái),在1991年寫(xiě)一個(gè)宏內核的系統真不是個(gè)好主意?!?/p>

  以上前兩段基本上可以被認為是宏內核和微內核的基本概念。從概念上我們不難猜到,宏內核看上去試圖包辦一切,而微內核恰恰相反,它的任務(wù)只是“處理消息傳遞、中斷處理、底層的進(jìn)程管理,以及可能的I/O”,而其他事情都交給內核之外單獨的進(jìn)程來(lái)完成。

  在這段文字中Andy不但闡述了宏內核和微內核的概念,擺明了對于這個(gè)問(wèn)題鮮明的觀(guān)點(diǎn),而且他也毫不掩飾自己對宏內核的不屑。而且這種不屑讓他認為L(cháng)inux簡(jiǎn)直是技術(shù)的倒退。在隨后的文字中,對于Linux的可移植性Andy也做了不客氣的批評。也難怪Linus對此非常惱火。從Linus的第一個(gè)回復開(kāi)始,這場(chǎng)爭論開(kāi)始變得精彩起來(lái)。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Linux!為何他一人就寫(xiě)出這么強的系統?
淺談Linux的起源:從一個(gè)故事說(shuō)起
linux和unix?
操作系統如何實(shí)現:什么是宏內核、微內核
通過(guò)代碼分析微內核與宏內核
LINUX和MINIX(微型UNIX)的論戰
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久