微內核與宏內核


首先我們先來了解一下系統內核的兩種不同的實現方式——微內核與宏內核。

        微核心的設計理念,是將系統服務的實作,與系統的基本操作規則區分開來。它實作的方式,是將核心功能模組化,划分成幾個獨立的程序,各自運行,這些程序被稱為服務。所有的服務程序,都運行在不同的地址空間。只有需要絕對特權的程序,才能在具特權的執行模式下運行,其余的程序則在使用者空間運行。

        宏內核簡單的說就是把整個內核設計成一個大程序,它的所有功能都集中在一個層次,對外提供一個完整的內核界面,即系統調用。內核中的各種函數可以相互直接調用,匯編程序和C程序可以相互跳轉和調用,用一個整體的大程序來實現內核功能,沒有微內核的分層結構。宏內核的好處是簡單,便於理解和實現。Linux之所以很快的流行,也在於它采用宏內核,設計簡單。相對於微內核來說,宏內核的效率略高。基本上每個系統調用只需要經過一個函數調用就可以實際作用於硬件層,速度很快。

        操作系統內核結構可以分為三個層次:應用程序接口、內核和硬件,如下圖所示:

        應用程序想要調用系統內核功能,只需要通過應用程序接口進行系統調用,來調用系統內核的系統調用函數。而系統內核會對程序的請求做出相應的處理。如果該功能需要使用硬件,則調用硬件驅動程序訪問相應的硬件設備接口,並將響應的結果反饋給應用程序。

 

https://www.askpure.com/course_8BCFDMOQ-E8GAXR1E-DOYP3PT3-6TRZ3SQY.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM