首頁  >  文章  >  運維  >  linux kernel是什麼

linux kernel是什麼

藏色散人
藏色散人原創
2023-03-23 10:20:505276瀏覽

linux kernel是linux核心的意思,主要起到完成IO驅動設備管理,T​​CP/IP以及任務調度;linux核心是Linux作業系統的主要元件,也是電腦硬體與其進程之間的核心接口,它負責兩者之間的通信,還要盡可能有效率地管理資源。

linux kernel是什麼

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux kernel是什麼?

linux kernel 是linux核心的意思,主要起到完成IO驅動裝置管理,TCP/IP,以及任務調度。

Linux kernel 譯為linux 內核,其基礎為linux平台,linux為C語言編寫的內核,基於此內核又衍生出了具體的Red hat linux 、open suse linux等具體的操作系統,一套基於Linux核心的完整作業系統叫作Linux作業系統,或是GNU/Linux。

Linux 核心簡介

Linux 核心是 Linux 作業系統(OS)的主要元件,也是電腦硬體與其進程之間的核心介面。它負責兩者之間的通信,也要盡可能有效率地管理資源。

之所以稱為內核,是因為在作業系統中就像果實硬殼中的種子一樣,控制著硬體(無論是電話、筆記型電腦、伺服器,還是任何其他類型的電腦)的所有主要功能。

Linux 核心的作用

內容有以下四項作用:

  • 記憶體管理:追蹤記錄有多少記憶體存儲什麼以及儲存在哪裡

  • 進程管理:確定哪些進程可以使用中央處理器(CPU)、何時使用以及持續多長時間

  • 裝置驅動程式:充當硬體與進程之間的調解程式/解釋程式

  • 系統呼叫與安全防護:從流程接受服務請求

#在正確實施的情況下,核心對於使用者是不可見的,它在自己的小世界(稱為核心空間)中工作,並從中分配記憶體和追蹤所有內容的儲存位置。使用者所看到的內容(例如 Web 瀏覽器和文件)則稱為使用者空間。這些應用透過系統呼叫介面(SCI)與核心進行互動。

可以這樣理解:核心就像是為高階主管(硬體)服務的忙碌的個人助理。助理的工作就是將員工和公眾(使用者)的訊息和請求(進程)轉交給高階主管,記住存放的內容和位置(記憶體),並確定在任何特定的時間誰可以拜訪高階主管、會面時間有多長。

對於linux kernel,先看它的目錄結構,這裡只挑幾個重要的說明。

arch 包含所有和體系結構相關的核心程式碼。從裡面我們可以看到arm、alpha、i386、mips、ia64這些資料夾,每種處理器架構都有不一樣的硬體模組,這裡就是要針對不同的架構進行不同的初始化。

init包含核心的初始化程式碼(不是系統的引導程式碼),其中有一個main.c文件,用於執行核心所有的初始化工作(包括初始化記憶體、初始化所有硬體、建立第一個任務task0,設定中斷允許標誌位元),然後移到使用者模式呼叫fork()函數建立新進程,並在控制台執行shell。

kernel 包含核心管理的核心程式碼,瞅這名就知道,這貨是個重量級目錄,所有的處理任務的程序,包括fork、exit、調度程序(sched.c)以及一些系統調用(sys.c)、訊號處理(signal.c)、時間函數(time.c),還有中斷異常處理、電源管理等等一系列呼叫關係錯綜複雜的函數。

mm 包含所有的記憶體管理程式碼。其中包括實現進程的邏輯位址到實際實體位址的映射,實現分頁、分段機制,實現記憶體頁面異常中斷處理程序等。

drivers包含系統中所有的裝置驅動程序,例如什麼cdrom啊bluetooth啊pci、i2c這些。

ipc 包含核心進程間的通訊程式碼。

fs 存放Linux支援的檔案系統程式碼,裡面有ext2、ext3、ext4、fat、ntfs等等一堆目錄。

net 核心的網路部分程式碼,其每個子目錄對應於網路的一個方面,例如ieee80211、ipv4、ipv6這些目錄。

lib 包含核心的函式庫程式碼,什麼strcpy、sprintf、sort這些函式都在裡面。

相關推薦:《Linux影片教學

以上是linux kernel是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn