官术网_书友最值得收藏!

前言

本書是一本有關(guān)Linux操作系統(tǒng)內(nèi)核工作原理的入門讀物,主要目標是使用盡量少的篇幅和有限的學(xué)習(xí)時間,對完整的Linux內(nèi)核源代碼進行解剖,使讀者對操作系統(tǒng)的基本功能和實現(xiàn)方式有一個全面的理解。

目前已有的闡述Linux內(nèi)核的書籍,均盡量選用Linux內(nèi)核的新版本進行描述,但由于這些版本的內(nèi)核源代碼龐大,只能對源代碼進行選擇性的講解,許多實現(xiàn)細節(jié)被忽略。本書則對完整的Linux內(nèi)核源代碼進行了全面解剖。表面看來,本書對Linux早期內(nèi)核版本注釋的內(nèi)容似乎過時,但通過學(xué)習(xí)你會發(fā)現(xiàn),利用本書學(xué)習(xí)Linux內(nèi)核,由于源代碼短小精干,因此會有極高的學(xué)習(xí)效率,能夠做到事半功倍、快速入門,并為進一步選擇新內(nèi)核學(xué)習(xí)打下堅實的基礎(chǔ)。

正如Linux系統(tǒng)的創(chuàng)始人Linus所說,要理解一個系統(tǒng)的真正運行機制,一定要閱讀其源代碼。系統(tǒng)本身是一個整體,具有很多看似不重要的細節(jié)。只有在詳細閱讀過完整的內(nèi)核源代碼之后,才會對整個系統(tǒng)的運作過程有深刻的理解。以后再選擇較新內(nèi)核源代碼進行學(xué)習(xí)時,也不會碰到大問題,基本上都能順利地理解新代碼的內(nèi)容。

為了幫助讀者提高學(xué)習(xí)效率,作者通過對多個Linux內(nèi)核版本進行比較和選擇,最終選擇了與目前Linux內(nèi)核基本功能較為相近,又非常短小的0.11版作為入門學(xué)習(xí)的最佳版本。0.11版內(nèi)核源代碼只有一萬四千行左右(325KB),其中包括的內(nèi)容基本上都是Linux系統(tǒng)的精髓。

在閱讀本書時,讀者應(yīng)該具備基本的有關(guān)80x86處理器編程和相關(guān)外圍硬件的知識,還應(yīng)具備使用Linux系統(tǒng)的初級技能。由于Linux最早是根據(jù)M. J. Bach的《UNIX操作系統(tǒng)設(shè)計》一書的基本原理開發(fā)的,因此若能適當參考該書,則更有利于對源代碼的理解。

在對每個程序進行描述時,首先說明程序的主要用途、輸入輸出參數(shù)以及與其他程序的關(guān)系,然后在程序中對代碼進行詳細注釋。注釋時對源代碼和原注釋不做任何改動。在代碼之后對程序中出現(xiàn)的一些語句或硬件方面的相關(guān)知識進行說明。

本書所需的一些基本概念均分布在各章中,這樣編排主要是為了能夠使讀者方便地找到相關(guān)信息,而且在結(jié)合源代碼閱讀時,對一些基本概念能有更深的理解。另外,由于篇幅所限,書中對內(nèi)核源代碼多數(shù)文件開始處的版權(quán)信息做了省略,但程序中的行號仍然按原來的編號。

最后要說明的是,當你已經(jīng)完全理解了本書解說的一切內(nèi)容時,并不代表你已經(jīng)成為一個Linux行家了,你只是剛剛踏上Linux的征途,具有了成為一個Linux高手的初步知識。這時你應(yīng)該去閱讀更多的源代碼。

本書讀者群的定位是一些知曉Linux系統(tǒng)一般使用方法或具有一定編程經(jīng)驗,但比較缺乏閱讀目前最新內(nèi)核源代碼的基礎(chǔ),又急切希望能夠進一步理解類UNIX操作系統(tǒng)內(nèi)核工作原理和實際代碼實現(xiàn)的愛好者。在閱讀時可以參考為本書專門開設(shè)的網(wǎng)站www.oldlinux.org。從中可以下載到很多學(xué)習(xí)資料和上機實習(xí)軟件。

作者

主站蜘蛛池模板: 睢宁县| 津市市| 长葛市| 宜阳县| 久治县| 乳源| 永寿县| 泗洪县| 新昌县| 沂南县| 通州市| 新郑市| 齐河县| 龙岩市| 临沂市| 太仓市| 娄烦县| 石狮市| 平舆县| 钟祥市| 宿州市| 肃北| 普兰县| 资中县| 商城县| 新营市| 察雅县| 柳州市| 文登市| 塔河县| 咸阳市| 上饶市| 锦州市| 梁平县| 平湖市| 琼结县| 卓资县| 平塘县| 晋中市| 新建县| 靖边县|