成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Unix內核與Linux內核大比拼

系統 其他OS
文章中,我們會了解到所有的Unix內核都同宗同源,并且對Unix內核與Linux內核和單內核與微內核設計進行下簡單的比較。

大家都知道所有的Unix內核都同宗同源,并且提供相同的API,現代的Unix內核存在許多設計上的相似之處。而且Unix內核幾乎毫無例外的都是一個不可分割的靜態可執行塊(文件)。換句話說,它們必須以完整、單獨的可執行塊的形式在一個單獨的地址空間中運行。Unix內核幾乎都需要硬件系統提供頁機制以管理內存。這種頁機制可以加強內存空間的保護,并保證每個進程都可以運行于不同的虛地址空間上。 
 
Unix內核與Linux內核—單內核與微內核設計之比較

操作系統內核可以分為兩大設計陣營:單內核和微內核(第三陣營外內核,主要用在科研系統中,但也逐漸在現實世界中壯大起來)。
 
單內核是兩大陣營中一種較為簡單的設計,在1980年之前,所有的內核都設計成單內核。所謂單內核就是把它從整體上作為一個單獨的大過程來實現,并同時運行在一個單獨的地址空間。因此,這樣的內核通常以單個靜態二進制文件的形式存放于磁盤。

所有內核服務都在這樣的一個大內核空間中運行。內核之間的通信是微不足道的,因為大家都運行在內核態,并身處同一地址空間:內核可以直接調用函數,這與用戶空間沒有什么區別。這種模式的支持者認為單模塊具有簡單和高性能的特點。大多數Unix系統都設計為單模塊。
 
另一方面,微內核并不作為一個單獨的大過程來實現。相反,微內核的功能被劃分為獨立的過程,每個過程叫做一個服務器。理想情況下,只有強烈請求特權服務的服務器才運行在特權模式下,其他服務器都運行在用戶空間。不過,所有的服務器都保持獨立并運行在各自的地址空間。

因此,就不可能像單模塊內核那樣直接調用函數,而是通過消息傳遞處理微內核通信:系統采用了進程間通信(IPC)機制,因此,各種服務器之間通過IPC機制互通消息,互換“服務”。服務器的各自獨立有效地避免了一個服務器的失效禍及另一個。
 
同樣,模塊化的系統允許一個服務器為了另一個服務器而換出。因為IPC機制的開銷比函數調用多,又因為會涉及內核空間到用戶空間的上下文切換,因此,消息傳遞需要一定的周期,而單內核中簡單的函數調用沒有這些開銷。

基于此,付之于實際的微內核系統讓大部分或全部服務器位于內核,這樣,就可以直接調用函數,消除頻繁的上下文切換。Windows NT內核和Mach(Mac OS X的組成部分)是微內核的典型實例。不管是Windows NT還是Mac OS X,都在其新近版本中不讓任何微內核服務器運行在用戶空間,這違背了微內核設計的初衷。
 
Linux是一個單內核,也就是說,Linux內核運行在單獨的內核地址空間。不過,Linux汲取了微內核的精華:其引以為豪的是模塊化設計、搶占式內核、支持內核線程以及動態裝載內核模塊的能力。不僅如此,Linux還避其微內核設計上性能損失的缺陷,讓所有事情都運行在內核態,直接調用函數,無需消息傳遞。至今,Linux是模塊化的、多線程的以及內核本身可調度的操作系統。實用主義再次占了上風。
 
當Linus和其他內核開發者設計Linux內核時,他們并沒有完全徹底地與Unix訣別。他們充分地認識到,不能忽視Unix的底蘊(特別是Unix的API)。而由于Linux并沒有基于某種特定的Unix,Linus和他的伙伴們對每個特定的問題都可以選擇已知最理想的解決方案—在有些時候,當然也可以創造一些新的方案。

以下是對Linux內核與Unix內核特點所作的分析比較:

·Linux支持動態加載內核模塊。盡管Linux內核也是單內核,可是允許在需要的時候動態地卸除和加載部分內核代碼。

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

·Linux內核可以搶占(preemptive)。與傳統的Unix不同,Linux內核具有允許在內核運行的任務優先執行的能力。在其他各種Unix產品中,只有Solaris和IRIX支持搶占,但是大多數傳統的Unix內核不支持搶占。

·Linux對線程支持的實現比較有意思:內核并不區分線程和其他的一般進程。對于內核來說,所有的進程都一樣—只不過其中的一些共享資源而已。

·Linux提供具有設備類的面向對象的設備模型、熱插拔事件,以及用戶空間的設備文件系統(sysfs)。

·Linux忽略了一些被認為是設計得很拙劣的Unix特性,像STREAMS,它還忽略了那些實際上已經根本不會使用的過時標準。

·Linux體現了自由這個詞的精髓。現有的Linux特性集就是Linux公開開發模型自由發展的結果。如果一個特性沒有任何價值或者創意很差,沒有任何人會被迫去實現它。相反的,在Linux的發展過程中已經形成了一種值得稱贊的務實態度:任何改變都要針對現實中確實存在的問題,經過完善的設計并有正確簡潔的實現。于是,許多其他現代Unix系統包含的特性,如內核換頁機制,都被毫不遲疑的引入進來。
 
不管Linux內核和Unix內核有多大的不同,它身上都深深地打上了Unix烙印。

【編輯推薦】

  1. 簡單四步 編譯Linux內核
  2. 教學Unix操作系統內核級后門
  3. Nginx內核優化的源代碼探秘
  4. Linux 2.6.31內核優化指南
  5. 簡單介紹Linux內核安全入侵偵察系統
責任編輯:小霞
相關推薦

2023-05-26 15:53:48

MidjourneyAI圖像

2009-07-02 18:50:43

2009-10-13 14:46:00

思科認證

2010-03-18 14:54:46

主流無線技術

2019-08-27 09:00:00

敏捷開發開發方法項目

2011-01-19 11:10:30

2017-09-10 14:29:03

眼力

2010-09-08 15:41:28

SIP協議棧

2010-05-28 11:09:51

SVN功能

2011-11-08 10:29:44

2010-08-25 16:12:34

職場

2014-01-07 17:08:02

Java開源框架

2021-03-15 21:07:17

IT行業薪酬薪水

2009-08-27 09:59:17

2021-03-02 09:00:00

開源框架技術

2020-05-18 11:07:53

監控系統架構技術

2010-07-14 13:38:51

Perl開發工具

2020-08-04 17:06:40

Merging Rebasing Git

2019-11-21 09:39:30

EMonitorCAT監控

2016-11-02 09:20:01

SparkHadoop MapR大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91看片在线观看 | 日韩色在线 | 欧州一区二区三区 | 亚洲男人的天堂网站 | 日本成人在线观看网站 | 成人午夜看片 | 国产精品高清在线 | 99久久夜色精品国产亚洲96 | 久久国产精品精品国产色婷婷 | 亚洲精品久久久 | 人人干人人爽 | 日韩国产一区二区三区 | 男女一区二区三区 | 欧美伊人久久久久久久久影院 | 亚洲精品国产成人 | 狠狠干网站 | 日日日干干干 | 久久99蜜桃综合影院免费观看 | 午夜天堂精品久久久久 | 欧洲色| 成人精品视频在线观看 | www.97国产 | 欧美日韩精品久久久免费观看 | www.色.com | 日韩综合在线 | 欧美色欧美亚洲另类七区 | 羞羞视频在线网站观看 | 天天综合网天天综合 | 久草热在线 | 日本在线黄色 | av一级 | 久久99精品久久久久久 | 精品久久99| 91麻豆精品国产91久久久更新资源速度超快 | 免费a大片 | 91视频免费 | 国产精品69久久久久水密桃 | 国产一区二区三区免费观看在线 | 国产精品自拍视频网站 | 日韩在线观看网站 | 天天操天天拍 |