操作系統單內核和微內核的區別

單內核

單內核就是從整體上把內核作爲一個大過程來實現,同時也運行在一個單獨的地址空間上。因此單內核通常以單個靜態二進制文件的形式存放於磁盤中。而進程管理、內存管理等是其中的一個個模塊,所有內核模塊都在這樣的一個大內核地址空間上運行。模塊之間可以直接調用相關的函數。效率高,緊湊性強。

大多數的Unix系統都設計爲單內核。Linux也是一個單內核,也就是說,Linux內核運行在單獨的內核地址空間上。

 

微內核

微內核並不作爲一個單獨的大過程來實現,微內核的功能被劃分爲多個獨立的過程,過程之間保持獨立並運行在各自的地址空間上。

微內核是一種功能更貼近硬件的核心軟件,它一般僅僅包括基本的內存管理、同步原語、進程間通信機制、IO操作和中斷管理(只是將OS中最核心的功能加入內核),這樣做有利於提高可擴展性和可移植性,但微內核與文件管理、設備驅動、虛擬內存管理、進程管理等其他上層模塊之間需要有較高的通信開銷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章