瀏覽量:13次
unix/linux內(nèi)核在系統(tǒng)里扮演什么角色?
不僅僅是FreeBSD系統(tǒng),每一個操作系統(tǒng)都有一個內(nèi)核---從MS-DOS、Windows到高級終端大型機,但是各種系統(tǒng)對內(nèi)核的態(tài)度不同,有些系統(tǒng)花費了很大精力對用戶隱藏內(nèi)核。不管是Windows或UNIX系統(tǒng)的發(fā)行版本都有一個默認的內(nèi)核,而且每次發(fā)行一個新版本時,所做的改動大部分為新設(shè)備提供了驅(qū)動支持。內(nèi)核負責遙相呼應(yīng)以連接到系統(tǒng)的設(shè)備,這也就是為什么Windows需要為新的或以前不支持的設(shè)備安裝驅(qū)動程序的原因,而且一般都需要重新啟動系統(tǒng)--因為內(nèi)核已經(jīng)被修改了,為了使用新的內(nèi)核,系統(tǒng)必須重新啟動,否則就要求系統(tǒng)能夠?qū)⑿略O(shè)備作為一個內(nèi)核擴展或都模塊載入。
從內(nèi)核的構(gòu)架來看,F(xiàn)reeBSD使用微內(nèi)核(microkernel)構(gòu)架,也就是說內(nèi)核較小而且是模塊化的。Windows NT和Mach(Mac OS X基于的內(nèi)核)是微內(nèi)核的另外幾個例子,在這些系統(tǒng)中,新設(shè)備一般都被偽內(nèi)核模塊加入系統(tǒng)中---這些模塊可能在系統(tǒng)運行過程中裝載和卸載而不用重新編譯內(nèi)核。但是Linux和Windows 9x系統(tǒng)是整體內(nèi)核(monolithic kernel),其中的內(nèi)核代碼都從性能角度考慮,盡可能地進行了優(yōu)化并且使得開發(fā)人員維護起來也很容易,但每次往系統(tǒng)中加入新設(shè)備之后,會要求系統(tǒng)管理員重新編譯內(nèi)核。
這并不是一個十分準確的描述---Linux正在盡量將內(nèi)核模塊化,F(xiàn)reeBSD的內(nèi)核因為這些不同的原因而必須重新編譯,微內(nèi)核和整體內(nèi)核之間的不同很大各應(yīng)騍一個理論問題,不僅僅是在設(shè)備支持上有著不同,二者之間最基本的不同在于,微內(nèi)核提供了一個支持非系統(tǒng)調(diào)用的用戶處理級別或環(huán),而不用全部在系統(tǒng)內(nèi)部完成,使得巖代大郎的核心精簡蛭了只包含精華的程序,也就是說內(nèi)核中包含的都是必須要求以監(jiān)護模式執(zhí)行狀態(tài)的最高級別的部分,是為了增加內(nèi)核運行的健壯性,并保證內(nèi)核處理過程容易理解和管理,同時也容易實現(xiàn)設(shè)備的模塊化。
盡管上述都挺好的,不幸的是滿足每種設(shè)備類型和選項都可模塊化而且都可在運行時,進行裝載要求的??就和主同一樣不現(xiàn)實,在有了一定的FreeBSD使用經(jīng)驗之后,讀者膾體會到這一點,會發(fā)現(xiàn)無論如何也不可避免地需要重新編譯內(nèi)核。
Windows內(nèi)核在哪里?
在Windows中內(nèi)核是C:WindowsSystem中的可執(zhí)行文件:
UNIX內(nèi)核在哪里?
在很多UNIX系統(tǒng)中,通常放置內(nèi)核的位置位于文件系統(tǒng)頂部的根目錄;而FreeBSD系統(tǒng)的內(nèi)核是放在/boot中的。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔此類稿件侵權(quán)行為的連帶責任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776