當前位置:編程學習大全網 - 編程語言 - Linux Kernel是什麽

Linux Kernel是什麽

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

對於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就該這麽學》。

  • 上一篇:關於阻擊手................
  • 下一篇:大學沒課除了玩手機,可以做這些
  • copyright 2024編程學習大全網