人妻精品在线观看一区二区三区,蜜臀av精品一区二区三区网站,中文一区二区三区亚洲欧美,熟女人妇精品一区二区,人妻av在线观看视频,欧美日韩国产三级精品网站,黄色免费网站直接进入,超碰公开福利正在播放,国产毛片乡下农村妇女毛片

linux kernel是什么

來源:php中文網(wǎng) | 2023-03-23 11:06:19 |

本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

linux kernel是什么?


(資料圖片)

linux kernel 是linux內(nèi)核的意思,主要起到完成IO驅(qū)動(dòng)設(shè)備管理,TCP/IP,以及任務(wù)調(diào)度。

Linux kernel 譯為linux 內(nèi)核,其基礎(chǔ)為linux平臺(tái),linux為C語言編寫的內(nèi)核,基于此內(nèi)核又衍生出了具體的Red hat linux 、open suse linux等具體的操作系統(tǒng),一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。

Linux 內(nèi)核簡(jiǎn)介

Linux 內(nèi)核是 Linux 操作系統(tǒng)(OS)的主要組件,也是計(jì)算機(jī)硬件與其進(jìn)程之間的核心接口。它負(fù)責(zé)兩者之間的通信,還要盡可能高效地管理資源。

之所以稱為內(nèi)核,是因?yàn)樵诓僮飨到y(tǒng)中就像果實(shí)硬殼中的種子一樣,控制著硬件(無論是電話、筆記本電腦、服務(wù)器,還是任何其他類型的計(jì)算機(jī))的所有主要功能。

Linux 內(nèi)核的作用

內(nèi)容有以下四項(xiàng)作用:

內(nèi)存管理:追蹤記錄有多少內(nèi)存存儲(chǔ)了什么以及存儲(chǔ)在哪里

進(jìn)程管理:確定哪些進(jìn)程可以使用中央處理器(CPU)、何時(shí)使用以及持續(xù)多長(zhǎng)時(shí)間

設(shè)備驅(qū)動(dòng)程序:充當(dāng)硬件與進(jìn)程之間的調(diào)解程序/解釋程序

系統(tǒng)調(diào)用和安全防護(hù):從流程接受服務(wù)請(qǐng)求

在正確實(shí)施的情況下,內(nèi)核對(duì)于用戶是不可見的,它在自己的小世界(稱為內(nèi)核空間)中工作,并從中分配內(nèi)存和跟蹤所有內(nèi)容的存儲(chǔ)位置。用戶所看到的內(nèi)容(例如 Web 瀏覽器和文件)則被稱為用戶空間。這些應(yīng)用通過系統(tǒng)調(diào)用接口(SCI)與內(nèi)核進(jìn)行交互。

可以這樣理解:內(nèi)核就像是一個(gè)為高管(硬件)服務(wù)的忙碌的個(gè)人助理。助理的工作就是將員工和公眾(用戶)的消息和請(qǐng)求(進(jìn)程)轉(zhuǎn)交給高管,記住存放的內(nèi)容和位置(內(nèi)存),并確定在任何特定的時(shí)間誰可以拜訪高管、會(huì)面時(shí)間有多長(zhǎng)。

對(duì)于linux kernel,先看它的目錄結(jié)構(gòu),這里只挑幾個(gè)重要的說明。

arch 包括所有和體系結(jié)構(gòu)相關(guān)的核心代碼。從里面我們能看到arm、alpha、i386、mips、ia64這些文件夾,每種處理器架構(gòu)都有不一樣的硬件模塊,這里就是要針對(duì)不同的架構(gòu)進(jìn)行不同的初始化。

init包含內(nèi)核的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),其中有一個(gè)main.c文件,用于執(zhí)行內(nèi)核所有的初始化工作(包括初始化內(nèi)存、初始化所有硬件、創(chuàng)建第一個(gè)任務(wù)task0,設(shè)置中斷允許標(biāo)志位),然后移到用戶模式調(diào)用fork()函數(shù)創(chuàng)建新進(jìn)程,并在控制臺(tái)運(yùn)行shell。

kernel 包含內(nèi)核管理的核心代碼,瞅這名就知道,這貨是個(gè)重量級(jí)目錄,所有的處理任務(wù)的程序,包括fork、exit、調(diào)度程序(sched.c)以及一些系統(tǒng)調(diào)用(sys.c)、信號(hào)處理(signal.c)、時(shí)間函數(shù)(time.c),還有中斷異常處理、電源管理等等一系列調(diào)用關(guān)系錯(cuò)綜復(fù)雜的函數(shù)。

mm 包含所有的內(nèi)存管理代碼。其中包括實(shí)現(xiàn)進(jìn)程的邏輯地址到實(shí)際物理地址的映射,實(shí)現(xiàn)分頁(yè)、分段機(jī)制,實(shí)現(xiàn)內(nèi)存頁(yè)面異常中斷處理程序等。

drivers包含系統(tǒng)中所有的設(shè)備驅(qū)動(dòng)程序,比如什么cdrom啊bluetooth啊pci、i2c這些。

ipc 包含核心進(jìn)程間的通信代碼。

fs 存放Linux支持的文件系統(tǒng)代碼,里面有ext2、ext3、ext4、fat、ntfs等等一堆目錄。

net 內(nèi)核的網(wǎng)絡(luò)部分代碼,其每個(gè)子目錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)方面,比如ieee80211、ipv4、ipv6這些目錄。

lib 包含核心的庫(kù)代碼,什么strcpy、sprintf、sort這些函數(shù)都在里面。

相關(guān)推薦:《Linux視頻教程》

以上就是linux kernel是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

關(guān)鍵詞: