色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > Linux內(nèi)核全面介紹

          Linux內(nèi)核全面介紹

          發(fā)布人:嵌入式Linux 時間:2023-01-10 來源:工程師 發(fā)布文章
          Linux內(nèi)核(kernel)和linux操作系統(tǒng)區(qū)別

          Linux內(nèi)核指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。通常我們所說的linux操作系統(tǒng)是一個集linux內(nèi)核、工具集、各種庫、桌面管理器、應(yīng)用程序等一體的發(fā)布包(發(fā)行版)。因此RedHat、Ubuntu、Slackware等是Linux的發(fā)行版本,更確切地說,應(yīng)該叫做“以Linux為核心的操作系統(tǒng)”。

          Linux 內(nèi)核的特性
          • 開源,遵循GPL開源許可協(xié)議

          • 可以移植,支持廣泛的硬件平臺:x86、arm、mips等

          • 高可擴展性(模塊化管理)

          • 模塊化設(shè)計:高內(nèi)聚、低耦合

          • 可剪裁、可擴展,可以運行在大型主機,也可以運行在個人計算機上

          • 高可靠性、穩(wěn)定性,穩(wěn)定性是linux鮮明特點,安裝了linux系統(tǒng)的主機,連續(xù)運行一年不宕機是很平常的事情

          Linux內(nèi)核版本

          一般來說,linux系統(tǒng)采用 A.B.C.D 的版本號管理方式,A表示主版本號,B表示次版本號,C表示修訂版本,D表示更新版本號。其中次版本號為偶數(shù)是穩(wěn)定版本,為奇數(shù)表示有一些新的東西加入,是個不一定很穩(wěn)定的測試版本,但是2.6版本以后,不再使用奇偶來來作為穩(wěn)定和不穩(wěn)定版本的判別。

          曾經(jīng)使用最廣泛的Linux內(nèi)核版本:2.6、3.14、4.4、4.9;從Linux內(nèi)核3.0版本之后,引進了設(shè)備樹的概念,所有的硬件信息都用設(shè)備樹來描述。目前最新的Linux內(nèi)核版本是5.1.12。

          Linux內(nèi)核的五大基本功能
          • 進程管理

          • 內(nèi)存管理

          • 文件系統(tǒng)

          • 網(wǎng)絡(luò)協(xié)議

          • 設(shè)備管理

          Linux內(nèi)核目錄結(jié)構(gòu)
          • arch:與體系結(jié)構(gòu)相關(guān)的代碼,每種平臺占一個目錄,如arm、mips、x86等。

          • drivers:設(shè)備驅(qū)動程序所在目錄,比如media、input、leds、i2c等驅(qū)動目錄。

          • sound:ALSA,OSS音頻設(shè)備的驅(qū)動核心代碼和常用音頻驅(qū)動。

          • fs:file system,文件系統(tǒng),里面列出了linux支持的各種文件系統(tǒng)。

          • include:頭文件所在目錄,我們寫驅(qū)動用到的系統(tǒng)相關(guān)的頭文件都放在include/linux下。

          • Documentation:英文文檔,對每一個目錄的作用的具體說明,還有設(shè)備樹介紹,Makefile語法等等。

          • ipc:進程間通信相關(guān)的代碼

          • ...

          Linux內(nèi)核的配置和編譯

          linux內(nèi)核里面有成千上萬的配置項,因此,不會完全從0開始配置內(nèi)核,在arch/arm64/configs/目錄下,內(nèi)核提供了各種平臺的默認配置文件,例如exynos8895_defconfg等。通常默認配置并不能完全滿足實際需求,但有了一個與所用開發(fā)板相近的默認配置,在此基礎(chǔ)上調(diào)整起來將會更加容易。那么對Linux內(nèi)核進行所謂的配置其實就是修改xxx_defconfig(當然也可以使用make menuconfig,但是是一次性的),在里面添加類似于下面的格式:

          只修改xxx_defconfig是配置的第一步,修改完需要執(zhí)行make xxx_defconfig,使修改的配置選項生效,這時會生成一個.config隱藏文件,可以通過查看這個文件看你的配置是否生效:

          當確認配置生效之后,就可以在頂層目錄下直接執(zhí)行make命令進行編譯了。


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞: Linux內(nèi)核

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉