• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            風(fēng)雨兼程

            ring my bells
            posts - 49, comments - 14, trackbacks - 0, articles - 0

            摘自   http://linux.chinaitlab.com/kernel/719500.html


                所有的Unix內(nèi)核都同宗同源,并且提供相同的API,現(xiàn)代的Unix內(nèi)核存在許多設(shè)計(jì)上的相似之處。Unix內(nèi)核幾乎毫無例外的都是一個(gè)不可分割的靜態(tài)可執(zhí)行塊(文件)。也就是說,它們必須以完整、單獨(dú)的可執(zhí)行塊的形式在一個(gè)單獨(dú)的地址空間中運(yùn)行。Unix內(nèi)核幾乎都需要硬件系統(tǒng)提供頁機(jī)制以管理內(nèi)存。這種頁機(jī)制可以加強(qiáng)內(nèi)存空間的保護(hù),并保證每個(gè)進(jìn)程都可以運(yùn)行于不同的虛地址空間上。

                單內(nèi)核與微內(nèi)核設(shè)計(jì)之比較
                操作系統(tǒng)內(nèi)核可以分為兩大設(shè)計(jì)陣營:單內(nèi)核和微內(nèi)核(第三陣營外內(nèi)核,主要用在科研系統(tǒng)中,但也逐漸在現(xiàn)實(shí)世界中壯大起來)。

                單內(nèi)核是兩大陣營中一種較為簡單的設(shè)計(jì),在1980年之前,所有的內(nèi)核都設(shè)計(jì)成單內(nèi)核。所謂單內(nèi)核就是把它從整體上作為一個(gè)單獨(dú)的大過程來實(shí)現(xiàn),并同時(shí)運(yùn)行在一個(gè)單獨(dú)的地址空間。因此,這樣的內(nèi)核通常以單個(gè)靜態(tài)二進(jìn)制文件的形式存放于磁盤。所有內(nèi)核服務(wù)都在這樣的一個(gè)大內(nèi)核空間中運(yùn)行。內(nèi)核之間的通信是微不足道的,因?yàn)榇蠹叶歼\(yùn)行在內(nèi)核態(tài),并身處同一地址空間:內(nèi)核可以直接調(diào)用函數(shù),這與用戶空間沒有什么區(qū)別。這種模式的支持者認(rèn)為單模塊具有簡單和高性能的特點(diǎn)。大多數(shù)Unix系統(tǒng)都設(shè)計(jì)為單模塊。

                另一方面,微內(nèi)核并不作為一個(gè)單獨(dú)的大過程來實(shí)現(xiàn)。相反,微內(nèi)核的功能被劃分為獨(dú)立的過程,每個(gè)過程叫做一個(gè)服務(wù)器。理想情況下,只有強(qiáng)烈請(qǐng)求特權(quán)服務(wù)的服務(wù)器才運(yùn)行在特權(quán)模式下,其他服務(wù)器都運(yùn)行在用戶空間。不過,所有的服務(wù)器都保持獨(dú)立并運(yùn)行在各自的地址空間。因此,就不可能像單模塊內(nèi)核那樣直接調(diào)用函數(shù),而是通過消息傳遞處理微內(nèi)核通信:系統(tǒng)采用了進(jìn)程間通信(IPC)機(jī)制,因此,各種服務(wù)器之間通過IPC機(jī)制互通消息,互換“服務(wù)”。服務(wù)器的各自獨(dú)立有效地避免了一個(gè)服務(wù)器的失效禍及另一個(gè)。

                同樣,模塊化的系統(tǒng)允許一個(gè)服務(wù)器為了另一個(gè)服務(wù)器而換出。因?yàn)镮PC機(jī)制的開銷比函數(shù)調(diào)用多,又因?yàn)闀?huì)涉及內(nèi)核空間到用戶空間的上下文切換,因此,消息傳遞需要一定的周期,而單內(nèi)核中簡單的函數(shù)調(diào)用沒有這些開銷。基于此,付之于實(shí)際的微內(nèi)核系統(tǒng)讓大部分或全部服務(wù)器位于內(nèi)核,這樣,就可以直接調(diào)用函數(shù),消除頻繁的上下文切換。Windows NT內(nèi)核和Mach(Mac OS X的組成部分)是微內(nèi)核的典型實(shí)例。不管是Windows NT還是Mac OS X,都在其新近版本中不讓任何微內(nèi)核服務(wù)器運(yùn)行在用戶空間,這違背了微內(nèi)核設(shè)計(jì)的初衷。

                Linux是一個(gè)單內(nèi)核,也就是說,Linux內(nèi)核運(yùn)行在單獨(dú)的內(nèi)核地址空間。不過,Linux汲取了微內(nèi)核的精華:其引以為豪的是模塊化設(shè)計(jì)、搶占式內(nèi)核、支持內(nèi)核線程以及動(dòng)態(tài)裝載內(nèi)核模塊的能力。不僅如此,Linux還避其微內(nèi)核設(shè)計(jì)上性能損失的缺陷,讓所有事情都運(yùn)行在內(nèi)核態(tài),直接調(diào)用函數(shù),無需消息傳遞。至今,Linux是模塊化的、多線程的以及內(nèi)核本身可調(diào)度的操作系統(tǒng)。實(shí)用主義再次占了上風(fēng)。

                當(dāng)Linus和其他內(nèi)核開發(fā)者設(shè)計(jì)Linux內(nèi)核時(shí),他們并沒有完全徹底地與Unix訣別。他們充分地認(rèn)識(shí)到,不能忽視Unix的底蘊(yùn)(特別是Unix的API)。而由于Linux并沒有基于某種特定的Unix,Linus和他的伙伴們對(duì)每個(gè)特定的問題都可以選擇已知最理想的解決方案—在有些時(shí)候,當(dāng)然也可以創(chuàng)造一些新的方案。以下是對(duì)Linux內(nèi)核與Unix各種變體的內(nèi)核特點(diǎn)所作的分析比較:
                ·Linux支持動(dòng)態(tài)加載內(nèi)核模塊。盡管Linux內(nèi)核也是單內(nèi)核,可是允許在需要的時(shí)候動(dòng)態(tài)地卸除和加載部分內(nèi)核代碼。

                ·Linux支持對(duì)稱多處理(SMP)機(jī)制,盡管許多Unix的變體也支持SMP,但傳統(tǒng)的Unix并不支持這種機(jī)制。

                ·Linux內(nèi)核可以搶占(preemptive)。與傳統(tǒng)的Unix不同,Linux內(nèi)核具有允許在內(nèi)核運(yùn)行的任務(wù)優(yōu)先執(zhí)行的能力。在其他各種Unix產(chǎn)品中,只有Solaris和IRIX支持搶占,但是大多數(shù)傳統(tǒng)的Unix內(nèi)核不支持搶占。

                ·Linux對(duì)線程支持的實(shí)現(xiàn)比較有意思:內(nèi)核并不區(qū)分線程和其他的一般進(jìn)程。對(duì)于內(nèi)核來說,所有的進(jìn)程都一樣—只不過其中的一些共享資源而已。

                ·Linux提供具有設(shè)備類的面向?qū)ο蟮脑O(shè)備模型、熱插拔事件,以及用戶空間的設(shè)備文件系統(tǒng)(sysfs)。

                ·Linux忽略了一些被認(rèn)為是設(shè)計(jì)得很拙劣的Unix特性,像STREAMS,它還忽略了那些實(shí)際上已經(jīng)根本不會(huì)使用的過時(shí)標(biāo)準(zhǔn)。

                ·Linux體現(xiàn)了自由這個(gè)詞的精髓。現(xiàn)有的Linux特性集就是Linux公開開發(fā)模型自由發(fā)展的結(jié)果。如果一個(gè)特性沒有任何價(jià)值或者創(chuàng)意很差,沒有任何人會(huì)被迫去實(shí)現(xiàn)它。相反的,在Linux的發(fā)展過程中已經(jīng)形成了一種值得稱贊的務(wù)實(shí)態(tài)度:任何改變都要針對(duì)現(xiàn)實(shí)中確實(shí)存在的問題,經(jīng)過完善的設(shè)計(jì)并有正確簡潔的實(shí)現(xiàn)。于是,許多其他現(xiàn)代Unix系統(tǒng)包含的特性,如內(nèi)核換頁機(jī)制,都被毫不遲疑的引入進(jìn)來。

                不管Linux和Unix有多大的不同,它身上都深深地打上了Unix烙印。


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久国产精品成人免费| 久久久久久精品免费免费自慰| 免费久久人人爽人人爽av| 久久人人爽人人爽人人片AV高清 | 精品国产乱码久久久久软件| 亚洲国产精品嫩草影院久久| 亚洲国产精品无码久久SM| 亚洲国产精品久久久久婷婷软件| 亚洲午夜无码AV毛片久久| 久久国产乱子伦免费精品| 久久久久成人精品无码| 亚洲AV无码久久精品蜜桃| 久久精品视屏| 色偷偷888欧美精品久久久| 亚洲欧美日韩精品久久亚洲区 | 久久国产精品久久国产精品| 无码8090精品久久一区| 国产精品久久精品| 亚洲va久久久噜噜噜久久狠狠| 久久91精品综合国产首页| AAA级久久久精品无码片| 久久久久国产视频电影| 久久久久久国产精品无码超碰| 狠狠色丁香久久婷婷综合_中 | 久久久久亚洲AV片无码下载蜜桃| 精品久久久久中文字幕一区| AAA级久久久精品无码片| 日本强好片久久久久久AAA| 久久中文字幕视频、最近更新| AV狠狠色丁香婷婷综合久久| 久久国产精品一国产精品金尊| 97久久国产露脸精品国产| 国产精品狼人久久久久影院| 91久久精品无码一区二区毛片| 7777久久亚洲中文字幕| 97热久久免费频精品99| www.久久99| 久久成人18免费网站| 久久久久国色AV免费观看| 久久久久无码精品国产app| 久久亚洲2019中文字幕|