內(nèi)核主要負(fù)責(zé)功能
內(nèi)核主要負(fù)責(zé)以下四種功能:
- 系統(tǒng)內(nèi)存管理
- 軟件程序管理
- 硬件設(shè)備管理
- 文件系統(tǒng)管理
系統(tǒng)內(nèi)存管理
內(nèi)核通過硬盤上的存儲(chǔ)空間來實(shí)現(xiàn)虛擬內(nèi)存,這塊區(qū)域稱為交換空間(swap space)驶鹉。內(nèi)存存儲(chǔ)單元塊稱作頁面(page)夜郁,內(nèi)核會(huì)維護(hù)一個(gè)內(nèi)存頁面表忽妒,指明哪些頁面位于物理內(nèi)存內(nèi),哪些頁面被交換到磁盤上探熔。即使還有可用的內(nèi)存昌阿,內(nèi)核也會(huì)自動(dòng)把一段時(shí)間未訪問的內(nèi)存頁面復(fù)制到交換空間上(換出 swapping out)
軟件程序管理
- 內(nèi)核創(chuàng)建了第一個(gè)進(jìn)程(init進(jìn)程)來啟動(dòng)系統(tǒng)上所有其他進(jìn)程梢夯。內(nèi)核啟動(dòng)時(shí)言疗,它會(huì)將init進(jìn)程加載到虛擬內(nèi)存中。
- 有的linux使用一個(gè)表來管理開機(jī)要啟動(dòng)的進(jìn)程颂砸,通常在/etc/inittab中或/etc/init.d噪奄,開機(jī)啟動(dòng)/停止的腳本通過/etc/rcX.d目錄入口(entry)(是/etc/init.d目錄中啟動(dòng)腳本的符號(hào)鏈接)啟動(dòng),X代表優(yōu)先級(jí)人乓。
- init系統(tǒng)采用了運(yùn)行級(jí)勤篮,運(yùn)行級(jí)為1時(shí)(單用戶模式),只啟動(dòng)基本系統(tǒng)進(jìn)程以及一個(gè)控制臺(tái)終端進(jìn)程色罚。通常用來在系統(tǒng)有問題時(shí)進(jìn)行緊急文件系統(tǒng)維護(hù)碰缔。
硬件設(shè)備管理
- 有兩種方法用于插入設(shè)備驅(qū)動(dòng)代碼
- 編譯進(jìn)內(nèi)核的設(shè)備驅(qū)動(dòng)代碼
- 可插入內(nèi)核的設(shè)備驅(qū)動(dòng)模塊(可在硬件設(shè)備插入時(shí)將驅(qū)動(dòng)代碼寫入,拔出時(shí)刪除)
- 將硬件設(shè)備當(dāng)成特殊的文件戳护,稱為設(shè)備文件
- 字符型設(shè)備文件(如調(diào)制解調(diào)器金抡、終端)
- 塊設(shè)備文件(如硬盤)
- 網(wǎng)絡(luò)設(shè)備文件(如網(wǎng)卡)
- 為每個(gè)設(shè)備都創(chuàng)建一種節(jié)點(diǎn)特殊文件瀑焦。與設(shè)備的所有通信都通過設(shè)備節(jié)點(diǎn)完成。每個(gè)節(jié)點(diǎn)都有唯一數(shù)值對(duì)來給Linux內(nèi)核標(biāo)識(shí)它梗肝。數(shù)值對(duì)為主設(shè)備號(hào)與次設(shè)備號(hào)蝠猬,主設(shè)備號(hào)相當(dāng)于組,次設(shè)備號(hào)標(biāo)識(shí)組下特定設(shè)備统捶。
參考文章
Linux Command Line and Shell Scripting Bible
該系列其他文章請(qǐng)查看:
Linux命令行與shell腳本