新聞中心
Linux操作系統(tǒng)是目前世界上使用最為廣泛的開源操作系統(tǒng)之一,而Linux操作系統(tǒng)的核心部分便是內(nèi)核。Linux內(nèi)核的源代碼非常龐大,由于其開源的性質(zhì),任何人都可以對其進行研究和修改。而在Linux內(nèi)核的漫長發(fā)展歷程中,更具代表性的版本當屬Linux0.11,其特點是代碼量少、結(jié)構(gòu)簡潔、易于學(xué)習,因而被廣泛用于操作系統(tǒng)教育和學(xué)術(shù)研究中。本文將介紹如何在國內(nèi)下載Linux0.11內(nèi)核源碼,并對下載過程中可能會遇到的問題進行解答。

一、選擇下載源
在下載Linux0.11內(nèi)核源碼之前,需要選擇一個可靠的下載源。國內(nèi)下載源較為充足,以下是一些比較推薦的下載源:
1. 清華大學(xué)開源軟件鏡像站
清華大學(xué)開源軟件鏡像站是國內(nèi)較為知名的Linux鏡像站之一,其提供的各種開源軟件的鏡像都十分穩(wěn)定和豐富。訪問鏈接為:https://mirrors.tuna.tsinghua.edu.cn/。
2. 中科大開源鏡像站
中科大開源鏡像站也是國內(nèi)知名的Linux鏡像站之一,其提供的各種開源軟件的鏡像也十分穩(wěn)定和豐富。訪問鏈接為:https://mirrors.ustc.edu.cn/。
3. 阿里云開源鏡像站
阿里云開源鏡像站是國內(nèi)的一家大型開源鏡像站,其提供的鏡像資源豐富度也非常高。訪問鏈接為:https://developer.aliyun.com/mirror/。
以上三個下載源大家可以根據(jù)自身的網(wǎng)絡(luò)環(huán)境和進行選擇。
二、下載Linux0.11內(nèi)核源碼
在選擇好下載源之后,就可以開始下載Linux0.11內(nèi)核源碼了。Linux0.11內(nèi)核源碼的下載方式有兩種,分別為Git和HTTP方式。
1. Git方式下載
如果你選擇使用Git來下載Linux0.11內(nèi)核源碼,可以直接打開終端,輸入以下命令:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-0.11.git
該命令會自動從Linux內(nèi)核Git服務(wù)器上下載Linux0.11內(nèi)核源碼。這里需要注意的是,由于國內(nèi)沒有對該服務(wù)器進行加速,因此可能會較慢,需耐心等待。
2. HTTP方式下載
如果你選擇使用HTTP方式來下載Linux0.11內(nèi)核源碼,可以在下載源站點上找到對應(yīng)版本的Linux0.11源碼包,然后通過瀏覽器直接下載壓縮包到本地。
三、選擇合適的編譯工具
在成功下載Linux0.11內(nèi)核源碼之后,需要選擇合適的編譯工具來進行編譯。Linux0.11內(nèi)核的編譯過程需要使用到GCC編譯器和make命令。如果你使用的是Ubuntu等類Unix環(huán)境,在安裝GCC和make之前需要先通過以下命令更新APT源:
sudo apt-get update
然后輸入以下命令來安裝GCC和make:
sudo apt-get install gcc make
在安裝完成后,就可以使用GCC和make來編譯Linux0.11內(nèi)核源碼了。
四、編譯Linux0.11內(nèi)核源碼
在成功安裝完GCC和make之后,打開終端,進入到Linux0.11內(nèi)核源碼所在的目錄,然后運行以下命令來進行編譯:
make all
該命令會對Linux0.11內(nèi)核源碼進行編譯和鏈接,生成一個可執(zhí)行內(nèi)核文件vmlinux。
五、可能遇到的問題及解決方法
在下載和編譯Linux0.11內(nèi)核源碼過程中,可能會遇到一些問題。下面列舉一些較為常見的問題及其解決方法:
1. 下載源被墻
由于歷史原因,部分下載源被墻的情況仍然存在,如果發(fā)現(xiàn)自己選用的下載源無法正常連接,可以嘗試掛上VPN來進行下載。
2. 編譯錯誤
在編譯的過程中,可能會出現(xiàn)一些錯誤,這些錯誤大多數(shù)都是由于源代碼中存在小錯誤所導(dǎo)致的。此時需要對源代碼進行一些小修改,再進行重新編譯即可??梢酝ㄟ^Google等搜索引擎,了解更多關(guān)于Linux0.11內(nèi)核源碼的資料和相關(guān)解決方法。
通過以上步驟,我們可以順利地下載和編譯Linux0.11內(nèi)核源碼。對于Linux操作系統(tǒng)的學(xué)習者和研究者來說,對Linux內(nèi)核的深入理解和掌握,是非常重要的。希望本文能幫助到大家。
相關(guān)問題拓展閱讀:
- 如何查看 linux 內(nèi)核源代碼
- 如何進行Linux Kernel 開發(fā)
- 有沒有Linux內(nèi)核源碼指導(dǎo)書籍
如何查看 linux 內(nèi)核源代碼
一般在Linux系統(tǒng)中的/usr/src/linux*.*.*(*.*.*代表的是內(nèi)核版本,如2.4.23)目錄下就是內(nèi)核源代碼(如果沒有類似目錄,是因為還沒安裝內(nèi)核代碼)。另外還可從互連網(wǎng)上免費下載。注意,不要總到
去下載,更好使用它的鏡像站點下載。請在
mirrors/里找一個合適的下載點,再到pub/linux/kernel/v2.6/目錄下去下載2.4.23內(nèi)核。
代碼目錄結(jié)構(gòu)
在閱讀源碼之前,還應(yīng)知道Linux內(nèi)核源碼的整體分布情況。現(xiàn)代的操作系統(tǒng)一般由進程管碧鄭理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序和網(wǎng)絡(luò)等組成。Linux內(nèi)核源碼的各個目錄大致與此相對應(yīng),其組成如下(假設(shè)相對于Linux-2.4.23目錄):
1.arch目錄包括了所有和體系結(jié)構(gòu)相關(guān)的核心代碼。它下面的每一個子目錄都代表一種Linux支持的體系結(jié)構(gòu),例如i386就是Intel CPU及與之相兼容體系結(jié)構(gòu)的子目錄。PC機一般都基于此目錄。
2.include目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關(guān)的頭文件在include/linux子目錄下。
3.init目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),有main.c和Version.c兩個文件。這是研究核心如何工作的好起點。
4.mm目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下。
5.drivers目錄中是系統(tǒng)中所有的設(shè)備驅(qū)動程序。它又進一步劃分成幾類設(shè)備驅(qū)動,每一種有對應(yīng)的子目錄,如聲卡的驅(qū)動對應(yīng)棗慧改凳判于drivers/sound。
6.ipc目錄包含了核心進程間的通信代碼。
7.modules目錄存放了已建好的、可動態(tài)加載的模塊。
8.fs目錄存放Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對應(yīng),如ext3文件系統(tǒng)對應(yīng)的就是ext3子目錄。
Kernel內(nèi)核管理的核心代碼放在這里。同時與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下。
9.net目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面。
10.lib目錄包含了核心的庫代碼,不過與處理器結(jié)構(gòu)相關(guān)的庫代碼被放在arch/*/lib/目錄下。
11.scripts目錄包含用于配置核心的腳本文件。
12.documentation目錄下是一些文檔,是對每個目錄作用的具體說明。
一般在每個目錄下都有一個.depend文件和一個Makefile文件。這兩個文件都是編譯時使用的輔助文件。仔細閱讀這兩個文件對弄清各個文件之間的聯(lián)系和依托關(guān)系很有幫助。另外有的目錄下還有Readme文件,它是對該目錄下文件的一些說明,同樣有利于對內(nèi)核源碼的理解。
在閱讀方法或順序上,有縱向與橫向之分。所謂縱向就是順著程序的執(zhí)行順序逐步進行;所謂橫向,就是按模塊進行。它們經(jīng)常結(jié)合在一起進行。對于Linux啟動的代碼可順著Linux的啟動順序一步步來閱讀;對于像內(nèi)存管理部分,可以單獨拿出來進行閱讀分析。實際上這是一個反復(fù)的過程,不可能讀一遍就理解。
Linux的內(nèi)核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的東西就是內(nèi)核源代碼。
對于源代碼的閱讀,要想比較順利,事先更好對源代碼的知識背景有一定的了解。對于linux內(nèi)核源代碼來講,我認為,基本要求是:1、操作系統(tǒng)的基本知賣衫賀識;2、對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/目錄下。
scripts此目錄包含用于配置核心的腳本文件。
Documentation 此目錄是一些文檔,起參考作用。
俗話說:“工欲善其事,必先利其器”。 閱讀象Linux核心代碼這樣的復(fù)雜程序令人望而生畏。它象一個越滾越大的雪球,閱讀核心某個部分經(jīng)常要用到好幾個其他的相關(guān)文件,不久你將會忘記你原來在干什么。所以沒有一個好的工具是不行的。由于大部分愛好者對于Window平臺比較熟悉,并且還是常用Window系列平臺,所以在此我介紹一個Window下的一個工具軟件:Source Insight。這是一個有30天免費期的軟件,可以從
www.sourcedyn.com
下載。安裝非常簡單,和別的安裝一樣,雙擊安裝文件名,然后按提示進行就可以了。安裝完成后,就可啟動該程序。這個軟件使用起來非常簡單,是一個閱讀源代碼的好工具。它的使用簡單介紹如下:先選擇Project菜單下的new,新建一個工程,輸入工程名,接著要求你把欲讀的源代碼加入(可以整個目錄加)后,該軟件就分析你所加的源代碼。分析完后,就可以進行閱讀了。對于打開的閱讀文件,如果想看某一變量的定義,先把光標定位于該變量,然后點擊工具條上的相應(yīng)選項,該變量的定義就顯示出來。對于函數(shù)的定義與實現(xiàn)也可以同樣操作。別的功能在這里就不說了,有興趣的朋友可以裝一個Source Insight,那樣你閱讀源代碼的效率會有很大提高的。怎么樣,試試吧!
一般在Linux系統(tǒng)中的/usr/src/linux***(***代表的是內(nèi)核版本,如2423)目錄下就是內(nèi)核源代碼(如果沒有類似目咐鄭伍錄,是因為還衡或沒安裝內(nèi)核代碼)。另外還可叢余從互連網(wǎng)上免費下載。注意,不要總到去下載,更好使用它的鏡像如何查看
linux
內(nèi)核源代碼
我花了一年的時間把cent os 6.5的代碼全部背下來了。找工作百分百offer
如何進行Linux Kernel 開發(fā)
學(xué)習匯編語言、C語言,這兩種語言是你進行Linux Kernel開發(fā)與維護的必備語言能力,這樣你才有能力閱讀與編寫Linux Kernel的能力。
下載Linux Kernel源代碼,建議下載先前的版本,因為目前的新版本代碼數(shù)量太龐大,技術(shù)太新,如果是進行Linux Kernel的開發(fā)的話,先從簡單的版本0.11或者1.XX.XX版本開始,以前的版本中沒有過多的新技術(shù)的代碼,適合入門Linux Kernel的學(xué)習。
當你熟悉了Linux Kernel了后,可以下載目前最新的版本Linux Kernel3.18版本的源代碼,里面包含了很多的新技術(shù)的知識,方便你了解與學(xué)習~~~
這是一篇很重要的文檔,它介紹了內(nèi)核開發(fā)的方方面面。這篇文檔已被加入到內(nèi)核源碼樹的Documentation文檔里(名字為HOWTO),你可以在最新的內(nèi)核樹里找到它。盡管已經(jīng)有網(wǎng)友翻譯過這篇文侍鉛檔,但是我還是決定自己再翻譯一遍。翻譯完之后,我的感觸是如果依靠翻譯來進行學(xué)習,速度太慢了。以后的技術(shù)文檔直接看英文,適當?shù)淖鲎龉P記即可。
山濤
How to do Linux Kernel development
關(guān)于如何進行Linux Kernel development,這篇文檔是最值得你閱讀的一篇。它指導(dǎo)你如何成為一名Linux內(nèi)核開發(fā)者以及如何和Linux內(nèi)核開發(fā)社區(qū)一同工作。盡管它不包含內(nèi)核編程的技能方面的知識,但是本篇能夠給你正確的指導(dǎo)去做內(nèi)核開發(fā)。
如果這篇文檔講述的任何東西已經(jīng)過時了的話,請給這篇文檔的維護者發(fā)送你的更新。
Greg Kroah-Hartman
Introduction
—
你想成為一名Linux內(nèi)核開發(fā)者嗎?或者你的老板曾經(jīng)告訴你:去給某個設(shè)備寫個Linux驅(qū)動程序。這篇文檔的目標是,通過描述你進行開發(fā)時需要經(jīng)歷的一些流程規(guī)則去指導(dǎo)你如何與社區(qū)一起工作,教會你所需要的一切從而讓你實現(xiàn)你的目標(成為一名合格的內(nèi)核開發(fā)者,或者寫出合格的令老板滿意的驅(qū)動程序);這篇文檔也會說明內(nèi)核社區(qū)工作的風格和原因。
內(nèi)核絕大部分代碼是基于C語言編程,與體系結(jié)構(gòu)有關(guān)的一小部分由匯編完成。很好的理解和掌握C語言,是內(nèi)核開發(fā)的必備要求。匯編語言(不同的體系結(jié)構(gòu)有不同的匯編語言)不是必需的,除非你計劃做體系結(jié)構(gòu)相關(guān)的底層開發(fā)。如果你想加強C語言的掌握,很好的參考資料如下:
– “The C Programming Language” by Kernighan and Ritchie
– “Practical C Programming” by Steve Oualline
Linux內(nèi)核是使用GNU C和GNU工具鏈完成的。盡管知余它遵循ISO C89標準,但是內(nèi)核的編寫也使用了許多的GNU C的擴展特性,這些特性不屬于標準的一部分。內(nèi)核的C編程環(huán)境自成體系,不依賴于C標準庫,所以C標準的一部分特性沒有被支持:例如Arbitrary long long divisions和浮點指針不被支持。有時你會很難理解內(nèi)核基于GNU工具鏈的一些假定以及內(nèi)核使用的一些GNU C擴展,不幸的是對于這類問題沒有確定性的參考資料。如果你遇到這類問題,建議你查閱GCC的info pages來獲取相關(guān)的信息(在Linux PC上,通過命令 info gcc可以獲得信息)。
請記住你正在學(xué)習如何與已經(jīng)存在的內(nèi)核開發(fā)社區(qū)一起工作。內(nèi)核開發(fā)社區(qū)由全球不同地方的開發(fā)人員組成,它以代碼、風格、開發(fā)流程的高質(zhì)量標準著稱。這些高質(zhì)量的標準使內(nèi)核開發(fā)社區(qū)(這個組織非常大,地理位置非常分散)能夠非常有效的進行。應(yīng)當提早努力學(xué)習這些高質(zhì)量標準(編程風格、代碼要求以及開發(fā)流程),它們有很好的文檔;不要期望內(nèi)核開發(fā)社區(qū)別的開發(fā)人員會適應(yīng)你自己的或者你公司的開發(fā)風格。
Legal Issues
—-
Linux 內(nèi)核代碼基于GPL許可協(xié)議發(fā)布。請閱讀內(nèi)核源碼樹的主目錄里的COPYING文件,它搭談滾提供了GPL許可的詳細描述。如果你有關(guān)于GPL許可的進一步問題,請聯(lián)系一名律師,不要在Linux kernel mailing list里詢問。Linux kernel mailing list里的開發(fā)人員不是律師,所以你不應(yīng)當聽取他們的任何關(guān)于法律事務(wù)的建議。
對于一些通常的關(guān)于GPL許可的問題和解答,請參考:
Documentation
Linux內(nèi)核源碼樹里有大量的非常有用的文檔用于學(xué)習,使你與內(nèi)核社區(qū)相互促進和共同發(fā)展。當一個新的特性要加入到內(nèi)核里,建議相關(guān)的文檔也要加入到內(nèi)核里,用于描述如何使用這個新特性;當一個內(nèi)核的修改導(dǎo)致了內(nèi)核提供給用戶的接口發(fā)生了變化,,告訴manual pages的維護者用戶接口的變化。
這里羅列了一些內(nèi)核源碼樹里的需要閱讀的文檔:
README
這篇文檔簡要的介紹了Linux內(nèi)核的背景,描述了配置和build內(nèi)核需要什么。一個剛剛接觸內(nèi)核的新手應(yīng)當從這里開始。(注:build kernel,就是編譯內(nèi)核源代碼,生成可供系統(tǒng)使用的內(nèi)核二進制文件(vmlinux/zImage)的過程。
Documentation/Changes
這篇文檔給出了一個用于成功編譯和運行內(nèi)核的各種軟件包的列表的最小。
Documentation/CodingStyle
這篇文檔描述了Linux內(nèi)核編碼風格,和一些隱藏在背后的基本原理。所有的想加入內(nèi)核的新代碼應(yīng)當遵循這篇文檔的指導(dǎo)。絕大數(shù)的內(nèi)核代碼維護者只愿意接受那些符合這篇文檔描述的風格的補丁,許多內(nèi)核開發(fā)者也只愿意審查那些符合Linux內(nèi)核編碼風格的代碼。
Documentation/SubmittingPatches
Documentation/SubmittingDrivers
這些文檔清楚而又詳細地告訴你如何成功的創(chuàng)建和向社區(qū)遞交一個補丁,包括:
—-郵件內(nèi)容
—-郵件格式
—-發(fā)送者和接收者
遵循文檔里提倡的規(guī)則并不一定保證你提交補丁成功(因為所有的補丁遭受詳細而嚴格的內(nèi)容和風格的審查),但是不遵循它們,提交補丁肯定不成功。
其他的一些非常優(yōu)秀的描述如何正確的創(chuàng)建補丁的文檔如下:
“The Perfect Patch”
“Linux kernel patch submission format”
Documentation/stable_api_nonsense.txt
這篇文檔描述了有意決定在內(nèi)核里沒有固定內(nèi)核API的基本原因,包含下面的討論主題:
—子系統(tǒng)的shim-layers(為了兼容性?)
—操作系統(tǒng)之間的驅(qū)動移植性
—減緩內(nèi)核源碼樹的快速變化(或者說,防止快速變化)
這篇文檔對于理解Linux的開發(fā)哲學(xué)非常關(guān)鍵,也對于從其他操作系統(tǒng)轉(zhuǎn)移到Linux上的開發(fā)人員非常重要。
Documentation/SecurityBugs
如果你確知你在Linux Kernel里發(fā)現(xiàn)了security problem,請遵循這篇文檔描述的步驟,幫助通知內(nèi)核的開發(fā)者們并解決這類問題。
Documentation/ManagementStyle
這篇文檔描述了Linux內(nèi)核開發(fā)者們?nèi)绾芜M行管理運作,以及運作方法背后的分享精神(shared ethos)。這篇文檔對于那些內(nèi)核開發(fā)新手們(或者那些好奇者)值得一讀,因為它解決或解釋了很多對于內(nèi)核維護者獨特行為的誤解。
Documentation/stable_kernel_rules.txt
這篇文檔描述了一個穩(wěn)定的內(nèi)核版本如何發(fā)布的規(guī)則,以及需要做些什么如果你想把一個修改加入到其中的一個版本。
Documentation/kernel-docs.txt
關(guān)于內(nèi)核開發(fā)的外部文檔列表。如果你在內(nèi)核開發(fā)的內(nèi)部文檔中找不到你想要的資料,請參考這篇文檔提供的資料鏈接。
Documentation/applying-patches.txt
這篇文檔很好地描述了什么是補丁(patch),以及如何將它應(yīng)用到內(nèi)核的不同開發(fā)分支(branch)上。
內(nèi)核里也有大量的由內(nèi)核源碼自動生成的文檔。其中包括了內(nèi)核內(nèi)部API的全面描述,和如何處理好鎖的規(guī)則。這些文檔在Documentation/DocBook/下創(chuàng)建,格式可以是PDF、Postscritpt、HTML和man pages,在內(nèi)核源碼主目錄下通過運行下面命令自動生成:
make pdfdocs
make psdocs
make htmldocs
make mandocs
附上出處鏈接:
有沒有Linux內(nèi)核源碼指導(dǎo)書籍
1.《Linux內(nèi)核設(shè)計與實現(xiàn)》
本書重在原理。適合入門的更佳圖書。作者是為2.6內(nèi)核加入了搶占的人,對調(diào)度部分非常精通,而調(diào)度是整個系統(tǒng)的核心,因此本書是很權(quán)威的。
2.《深入理解Linux內(nèi)核》
此書比上一本多了些細節(jié)。是Linux內(nèi)核黑客在推薦圖書時的首選。寫的比較簡單易懂,適合剛剛接觸LINUX內(nèi)核的。
此書圖表很多,形象地給出了關(guān)鍵數(shù)據(jù)結(jié)構(gòu)的定義,與《Linux內(nèi)核源代碼情景分析》相比,本書內(nèi)容緊湊,不會一個問題講解動輒上百頁,有提綱挈領(lǐng)的功用,但是深度上要遜于《Linux內(nèi)核源代碼情景分析》。
3.《LINUX設(shè)備驅(qū)動程序(第3版)》
這書強調(diào)動手實踐!但它是講解“設(shè)備驅(qū)動”的,不啟羨中是最核心的東西,而且有些東西沒硬件的話無法實踐,可能更適合驅(qū)動開發(fā)的程序員吧
其中關(guān)于同步與互斥、內(nèi)存分配的部分,感覺很不錯。
4.《Linux內(nèi)核源代碼情景分析》
好,很經(jīng)典,是浙大教授毛德操寫的,可惜成書于2023年之后一直沒有更新。分上下冊。
很多是基于2.4內(nèi)核講解的需要注意。如果學(xué)習的話也建議學(xué)習2.6,2.6跟2.4比發(fā)生了很多顯著改善,應(yīng)該學(xué)習的。
全書內(nèi)容博大精派銀深,不是非常好懂,對細節(jié)問題描述比較清晰。但是感覺對內(nèi)核的整體感覺不夠強。另外缺少網(wǎng)絡(luò)部分的分析。覺得不是很適合初學(xué)者。
5.《Linux內(nèi)核源代碼分析》
點評:面對中高級,這本書很好,對了解操作系統(tǒng)是一本不可多得的好書。
6. 《LINUXKERNEL技術(shù)手冊》
參考手冊,很薄,值得一看。
7.《深入Linux內(nèi)核架構(gòu)》
這本書針對的是比較新的內(nèi)核版本2.6.24;內(nèi)容比較全面,深入淺出。
如果沒有對Linux內(nèi)核的初步結(jié)構(gòu)的認識,那么會看得比較吃力。建議可以一邊去翻在國內(nèi)已經(jīng)聞名已經(jīng)久的四本Linux內(nèi)核著作(《Linux內(nèi)核原代碼情景分析》、《Linux內(nèi)核設(shè)計與實現(xiàn)》、《深入理解Linux內(nèi)核》、《Linux設(shè)備驅(qū)動程序》),再一邊看這本書,把這本書當作一個補充或者當作一個內(nèi)核框悄山架圖譜說明書來閱讀,收效會更好。
8.《Linux內(nèi)核完全注釋》
主要描述和注釋了Linux0.11內(nèi)核全部源代碼。對于初學(xué)Linux內(nèi)核操作系統(tǒng)的人來講,該書能夠引領(lǐng)讀者快速入門,并且能全面了解一個簡單操作系統(tǒng)的工作機理。對于進一步學(xué)習現(xiàn)在的Linux內(nèi)核具有非常大的指導(dǎo)作用。對于學(xué)習嵌入式應(yīng)用的技術(shù)人員來講,通過《完全注釋》一書的學(xué)習也能迅速融入嵌入式應(yīng)用領(lǐng)域。
9.《Orange S:一個操作系統(tǒng)的實現(xiàn)》
從只有二十行的引導(dǎo)扇區(qū)代碼出發(fā),一步一步地向讀者呈現(xiàn)一個操作系統(tǒng)框架的完成過程。
關(guān)于linux0.11內(nèi)核源碼 xiazai的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價格厚道。提供成都服務(wù)器托管租用、綿陽服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽服務(wù)器機房服務(wù)器托管租用。
網(wǎng)站標題:Linux0.11內(nèi)核源碼下載指南 (linux0.11內(nèi)核源碼 xiazai)
分享地址:http://www.dlmjj.cn/article/cdsppsg.html


咨詢
建站咨詢
