03.02 操作系統中什麼是強內核,什麼是微內核?

147895600


強內核,又稱宏內核或單內核,是操作系統內核架構的一種,簡單理解,就是把所有要用到的東西都放到了內核裡,比如最基本的進程、線程管理、內存管理、文件系統、驅動、網絡協議等等。因為所有的模塊都是在內核裡,那優點就是處理效率高,但隨著內核增大,管理起來也越不方便,而且只要其中一個模塊出現問題,就會導致整個內核崩潰,系統的穩定性就差一些。

微內核是指將內核模塊化設計,大部分內核都作為單獨的進程,相互之間通過消息傳遞進行通信。微內核的功能類似於一個消息的轉發站,優點是有助於內核功能的擴展和模塊間的隔離,單個模塊的bug不影響整個內核,只要殺掉出問題的進程就可以了,內核穩定性高,缺點就是進程間通信肯定會影響內核的效率。

宏內核的代表是Linux,微內核的代表是windows。

可能有人會說微內核看起來更好,為什麼 Linux不用微內核。Linux第一版用的是宏內核,之後也一直沿用下來,在Linus看來沒有必要去重寫Linux內核,一是這種結構實現起來是比較簡單的,避免了劃分模塊、設計消息結構等麻煩,二是Linux沒有研發時間上的限制,也不受市場的壓力,其實就是有的是時間把單內核寫好,三是Linux其實在單內核內核實現了充分的模塊化,也就相當於吸收了微內核的優點,擴展及管理起來並沒有那麼困難,四是Linus認為了為增加可維護性而犧牲處理效率是不值得的。


分享到:


相關文章: