亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

操作系統(tǒng)

Linux內(nèi)核源代碼的閱讀和工具具體介紹

時間:2025-05-07 04:42:53 操作系統(tǒng) 我要投稿
  • 相關(guān)推薦

Linux內(nèi)核源代碼的閱讀和工具具體介紹

  Linux的內(nèi)核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的東西就是內(nèi)核源代碼。另外還可以從互連網(wǎng)上下載,解壓縮后文件一般也都位于linux目錄下。內(nèi)核源代碼有很多版本,目前最新的版本是2.2.14。

Linux內(nèi)核源代碼的閱讀和工具具體介紹

  許多人對于閱讀Linux內(nèi)核有一種恐懼感,其實大可不必。當然,象Linux內(nèi)核這樣大而復雜的系統(tǒng)代碼,閱讀起來確實有很多困難,但是也不象想象的那么高不可攀。只要有恒心,困難都是可以克服的。任何事情做起來都需要有方法和工具。正確的方法可以指導工作,良好的工具可以事半功倍。對于Linux 內(nèi)核源代碼的閱讀也同樣如此。下面我就把自己閱讀內(nèi)核源代碼的一點經(jīng)驗介紹一下,最后介紹Window平臺下的一種閱讀工具。

  對于源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對于linux內(nèi)核源代碼來講,基本要求是:⑴ 操作系統(tǒng)的基本知識;⑵ 對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標準C的擴展的知識的了解。另外在閱讀之前,還應(yīng)該知道Linux內(nèi)核源代碼的整體分布情況。我們知道現(xiàn)代的操作系統(tǒng)一般由進程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序、網(wǎng)絡(luò)等組成?匆幌翷inux內(nèi)核源代碼就可看出,各個目錄大致對應(yīng)了這些方面。Linux內(nèi)核源代碼的組成如下(假設(shè)相對于linux目錄):

  arch 這個子目錄包含了此核心源代碼所支持的硬件體系結(jié)構(gòu)相關(guān)的核心代碼。如對于X86平臺就是i386。

  include 這個目錄包括了核心的大多數(shù)include文件。另外對于每種支持的體系結(jié)構(gòu)分別有一個子目錄。

  init 此目錄包含核心啟動代碼。

  mm 此目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下,如對應(yīng)于X86的就是arch/i386/mm/fault.c 。

  drivers 系統(tǒng)中所有的設(shè)備驅(qū)動都位于此目錄中。它又進一步劃分成幾類設(shè)備驅(qū)動,每一種也有對應(yīng)的子目錄,如聲卡的驅(qū)動對應(yīng)于drivers/sound。

  ipc 此目錄包含了核心的進程間通訊代碼。

  modules 此目錄包含已建好可動態(tài)加載的模塊。

  fs Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對應(yīng),如ext2文件系統(tǒng)對應(yīng)的就是ext2子目錄。

  kernel 主要核心代碼。同時與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下。

  net 核心的網(wǎng)絡(luò)部分代碼。里面的每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面。

  lib 此目錄包含了核心的庫代碼。與處理器結(jié)構(gòu)相關(guān)庫代碼被放在arch/*/lib/目錄下。

  在Mac OS中創(chuàng)建后臺進程的源代碼

  后臺進程就是Daemon,Daemon就是一個無界面的程序。

  另需要一個plist描述文件來描述這個daemon的path和參數(shù),將此文件放到~/Library/LaunchAgents/下

  啟動deamon:launchctl load ~/Library/LaunchAgent/com.yourplist

  停止deamon:launchctl unload ~/Library/LaunchAgent/com.yourplist

  程序里執(zhí)行這兩條命令即可

  killall是殺不掉你的deamon,除非用上面兩條命令

【Linux內(nèi)核源代碼的閱讀和工具具體介紹】相關(guān)文章:

Linux系統(tǒng)刪除舊內(nèi)核的方法02-14

Linux系統(tǒng)日志管理常用的工具和指令03-07

Linux如何禁止系統(tǒng)內(nèi)核Kernel自動升級03-10

如何閱讀php源代碼02-19

快速修復一個panic的Linux內(nèi)核的技巧03-02

關(guān)于Linux使用FDisk工具的技巧07-24

Linux安裝和使用Glances的方法介紹03-22

linux使用具體步驟06-02

PHP源代碼壓縮小工具使用方法05-15