單核心

單核心是個很大的進程。它的內部又能夠被分為若干模組(或是層次或其他)。但是在運行的時候,他是個單獨的二進制大映象。其模組間的通訊是通過直接調用其他模組中的函式實現的,而不是訊息傳遞。 在運行效率上,單核心會具有一定的好處。

基本介紹

  • 中文名:單核心
  • 外文名:Monolithic kernel
  • 性質:進程模式
  • 特點:內部分為若干模組
簡介,特性,例子,

簡介

單核心結構在硬體之上定義了一個高階的抽象界面,套用一組原語(或者叫系統調用)來實現作業系統的功能,例如進程管理,檔案系統,和存儲管理等等,這些功能由多個運行在核心態的模組來完成。

特性

單核心結構是非常有吸引力的一種設計,由於在同一個地址空間上實現所有低級操作的系統控制代碼的複雜性的效率會比在不同地址空間上實現更高些。單核結構正趨向於容易被正確設計,所以它的發展會比微核心結構更迅速些。
儘管每一個模組都是單獨地服務這些操作,核心代碼是高度集成的,而且難以編寫正確。因為所有的模組都在同一個核心空間上運行,一個很小的bug都會使整個系統崩潰。然而,如果開發順利,單核心結構就可以從運行效率上得到好處。
很多現代的單核心結構核心,如LinuxFreeBSD核心,能夠在運行時將模組調入執行,這就可以使擴充核心的功能變得更簡單,也可以使核心的核心部分變得更簡潔。

例子

傳統的UNIX核心,例如伯克利大學發行的版本
單核心是兩大陣營中一種較為簡單的設計,在1980年之前,所有的核心都設計成單核心。所謂單核心就是把它從整體上作為一個單獨的大過程來實現,並同時運行在一個單獨的地址空間。因此,這樣的核心通常以單個靜態二進制檔案的形式存放於磁碟。所有核心服務都在這樣的一個大核心空間中運行。核心之間的通信是微不足道的,因為大家都運行在核心態,並身處同一地址空間:核心可以直接調用函式,這與用戶空間沒有什麼區別。這種模式的支持者認為單模組具有簡單和高性能的特點。大多數Unix系統都設計為單模組。
Linux核心
一,在Linus的觀點看來,通過把核心以單一的方式進行組織並在最初始的空間中運行是相當容易的事情。這種決策避免了有關訊息傳遞體系結構,計算模組裝載方式等方面的相關工作。(核心模組系統在隨後的幾年中又進行了不斷地改進。)
二,Linux既沒有研發時間的限制,也沒有深受市場壓力的發行進度。任何的限制只有並但是分的對核心的修改和擴充。核心的單一設計在內部實現了充分的模組化,在這種條件下的修改或增加都並不怎么困難。而且問題還在於沒有必要為了追求尚未證實的可維護性的微小增長而重寫Linux的核心。

相關詞條

熱門詞條

聯絡我們