當前位置:首頁 » 操作系統 » linux源代碼情景分析

linux源代碼情景分析

發布時間: 2022-06-08 07:19:57

『壹』 linux內核源代碼情景分析的作者簡介

1989年到美國留學,在其取得碩士學位後,先後在美國在摩托羅拉等知名企業從事IT工作,對計算機軟體和硬體有十分深入、透徹的理解,在此基礎上與胡希明一同撰寫了Linux業內的經典之作《LINUX核心源代碼情景分析》。1999年針對「千年蟲」問題,他曾巧妙應用「混合基數」原理,提出一種獨特的解決方案,該方法已獲美國專利登記,同時獲得日內瓦PCT國際專利局全球專利登記。歸國後,毛德操教授一直在浙江大學從事計算機軟體教育工作,同時在浙大網新作高級顧問兼研發中心主任。2003年12月毛教授來到北京出任新近改組的北京共創開源軟體有限公司執行副總裁職位。

『貳』 2.6了,看linux 內核源代碼情景分析有意義嗎

意義肯定有,只是你如何評定你的時間精力「投入」與「收獲」問題。看基於2.4版的《linux 內核源代碼情景分析》要注意,內存管理部分與2.6完全不同。

『叄』 有沒有Linux內核源碼指導書籍

1.《Linux內核設計與實現》
本書重在原理。適合入門的最佳圖書。作者是為2.6內核加入了搶占的人,對調度部分非常精通,而調度是整個系統的核心,因此本書是很權威的。

2.《深入理解Linux內核》
此書比上一本多了些細節。是Linux內核黑客在推薦圖書時的首選。寫的比較簡單易懂,適合剛剛接觸LINUX內核的。
此書圖表很多,形象地給出了關鍵數據結構的定義,與《Linux內核源代碼情景分析》相比,本書內容緊湊,不會一個問題講解動輒上百頁,有提綱挈領的功用,但是深度上要遜於《Linux內核源代碼情景分析》。

3.《LINUX設備驅動程序(第3版)》
這書強調動手實踐!但它是講解「設備驅動」的,不是最核心的東西,而且有些東西沒硬體的話無法實踐,可能更適合驅動開發的程序員吧
其中關於同步與互斥、內存分配的部分,感覺很不錯。

4.《Linux內核源代碼情景分析》
好,很經典,是浙大教授毛德操寫的,可惜成書於2001年之後一直沒有更新。分上下冊。
很多是基於2.4內核講解的需要注意。如果學習的話也建議學習2.6,2.6跟2.4比發生了很多顯著改善,應該學習的。
全書內容博大精深,不是非常好懂,對細節問題描述比較清晰。但是感覺對內核的整體感覺不夠強。另外缺少網路部分的分析。覺得不是很適合初學者。

5.《Linux內核源代碼分析》
點評:面對中高級,這本書很好,對了解操作系統是一本不可多得的好書。
6. 《LINUXKERNEL技術手冊》
參考手冊,很薄,值得一看。

7.《深入Linux內核架構》
這本書針對的是比較新的內核版本2.6.24;內容比較全面,深入淺出。
如果沒有對Linux內核的初步結構的認識,那麼會看得比較吃力。建議可以一邊去翻在國內已經聞名已經久的四本Linux內核著作(《Linux內核原代碼情景分析》、《Linux內核設計與實現》、《深入理解Linux內核》、《Linux設備驅動程序》),再一邊看這本書,把這本書當作一個補充或者當作一個內核框架圖譜說明書來閱讀,收效會更好。

8.《Linux內核完全注釋》
主要描述和注釋了Linux0.11內核全部源代碼。對於初學Linux內核操作系統的人來講,該書能夠引領讀者快速入門,並且能全面了解一個簡單操作系統的工作機理。對於進一步學習現在的Linux內核具有非常大的指導作用。對於學習嵌入式應用的技術人員來講,通過《完全注釋》一書的學習也能迅速融入嵌入式應用領域。

9.《Orange S:一個操作系統的實現》
從只有二十行的引導扇區代碼出發,一步一步地向讀者呈現一個操作系統框架的完成過程。

『肆』 Linux學習書籍求推薦

Linux學習書籍求推薦
1、《Linux與Unix Shell 編程指南》
c語言基礎
1、《C Primer Plus,5th Edition》【美】Stephen Prata著
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E. Bryant David O』Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網路》
8、《數據壓縮原理與應用》
入門篇
《LINUX權威指南》書不錯,寫的很全面也比較廣,涉及的不深,做為入門書籍不錯,可以比較全面的了解linux 。另外比較熱門的也可以看看《鳥哥的私房菜》等書,偏管理類的書。如果想做server方向的可以找來看看。
驅動 篇
《LINUX設備驅動程序 》就是網上說的「LDD」,經典之作,必備書籍。國產經典《Linux驅動詳細解》也是一本非常不錯的書,很實用,書中源代碼分析比較多,基於2440的,對linux外圍驅動有很全面的講解
內核篇
浙江大學的《LINUX內核源代碼情景分析》,外國鬼子的《萊昂氏UNIX源代碼分析》還有《深入理解linux內核》都是出名的經典巨作。另外趙 炯的《LINUX內核完全剖析–基於0.12內核》也非常不錯,對內核代碼進行了詳細的注釋,非常有助於對內核的理解和代碼的分析。
shell篇
《LINUX與UNIX Shell編程指南》
應用 編程
不用說了肯定是《unix環境高級編程》被稱為unix編程的聖經。
TCP/IP篇
《TCP/IP詳解》作者W.Richard Stevens也是《unix環境高級編程》的作者,牛人出的書沒有一本不是經典的。但是英年早逝,默哀一下。
c語言
《The C Programming Language》正是作者造出來的c語言,書能垃圾就怪了
《c和指針》和《c缺陷和陷阱》兩本必備。包含了c語言最容易出錯的地方,加深c語言功力的好材料。
關於演算法
《演算法導論》
1 熟悉linux基本環境 >>> 《鳥哥的私訪菜》《unix初級教程》 《linux編程寶典》(市面上無,圖書館有), 等等。
2 熟悉操作系統的基礎知識 >>> 《現代操作系統》 《操作系統概念》
3 熟悉系統編程 >>> 《unix環境高級編程第二版》《unix操作系統設計與實現》
4 內核 按先後順序: 《 linux內核設計與實現》 《linux設備驅動程序》 《深入理解 linux內核》 《linux內核源代碼情景分析》 《深入理解linux虛擬內存系統》
5 其他一些書籍: 《freebsd操作系統設計與實現》 《solaris內核結構》 《unix高級教程:系統技術內幕》 《現代體系結構的unix系統:內核程序員的smp與cache技術》 《保護方式下的80386及其編程》 (後3本市面上沒了,大學圖書館里一般都有》 《Intel64 and IA-32 Arichitectures Software Developer』s Manual》
6 其實內核玩深了,體系和編譯也要學好 《計算機體系結構:量化研究方法》 《編譯原理》(龍書)

Linux編程推薦書籍一覽表
shell 編程
《LINUX與UNIX SHELL編程指南》
BASH寶典:
Advanced Bash Scripting Guide (如果你使用的是 GNU/Debian 系統,可以用 apt-get install abs-guide 安裝該文檔)
BASH Programming – Introction HOW-TO
Bash Man

用戶級編程書籍:
Advanced Programming in the UNIX Environment(中文版《UNIX環境高級編程》第二版) 作者 W.Richard
Stevens/尤晉元等
GNU/Linux編程指南 作者 Kurt Wall
Linux 程序設計權威指南 作者 於明儉、陳向陽、方漢
《The Art of Unix Programming》作者 E.S.R
Computer Systems A Programmer』s Perspective
(中文名)《深入理解計算機系統(修訂版)》
《Unix Systems Programming》(中文版《UNIX系統編程》)作者: (美)KAY
A.ROBBINS, STEVE ROBBINS 譯者:陳涓 趙振平
網路編程:
Unix Network Programming V1 & V2,Unix網路編程卷1、2 作者 W.Richard Stevens
《unix網路編程》
XWindow編程
Definitive Guides to the X WindowSystem 作者 Dan Heller, Paula M. Ferguson

內核源代碼閱讀(結合源代碼)和編程
(入門)
《邊干邊學Linux內核指導》
(高級)
《Linux Kernel Development》
《Linux內核源代碼情景分析》
《深入分析Linux內核源代碼》 陳莉君
《 Understanding Linux Network Internals 》即《 深入理解Linux網路內幕(英文影印版)》Christian Benvenuti
內核模塊編程
《The Linux Kernel Mole Programming Guide》
Linux設備驅動編程
Linux設備驅動程序/Linux Device
Drivers 作者 Alessandro Ruibini
多線程編程
《多線程編程指南》

『伍』 看Linux內核源代碼情景分析之前要看什麼書我完全是菜鳥。看第一章預備知識cpu定址方式就看不懂了。

先看看王爽的《匯編語言》,了解一下CPU基本原理和實模式下的寄存器和定址方式吧,然後建議看看深入理解LINUX內核,講得詳細一些。

《Linux內核源代碼情景分析》定址方面直接講的保護模式的定址方法,沒基礎的話一下子是看不懂的,等你了解了實模式的定址方式,對寄存器、內存分段管理有一定了解後,就比較容易看懂了。

『陸』 linux內核源代碼情景分析 怎麼樣

這段時間一直在為畢業論文糾結,論文題目是關於Linux進程模塊的源代碼分析與研究。 以前拜讀過《操作系統設計與實現》,《Linux內核設計與實現》,《understanding the linux kernel 3rd》等等,桌面還有大把的網路下下來的資料。 初識這本書,是大三時候一位同學跟我提起,當時覺得還沒到閱讀源代碼的程度。一直到做這篇論文,在我最糾結的時候,忽然想起朋友說過這本書,於是下了電子版本。 理所當然,我完全被這本書吸引。 我難掩心中的激動,幾乎要歡呼起來,這何嘗不是一本可以當做小說閱讀的書籍! 這本書不像前兩本那樣,僅僅只是羅列出Linux的特性,數據結構,相關的技術等等,他是在帶領你去走進Linux源代碼的世界,順著代碼的調用,一路斬荊披棘,最後帶你到底目的地。途中雖然驚險,但一路過來,卻是充滿了趣味,更是享受到了智力上的成就感。 關於書的語言。 讀這本書,彷彿是你的好朋友就坐在你面前跟你講話,他把Linux源碼中的枯燥的理論跟生活中普遍的事物聯系起來,像進程的task_struct結構體,相當於我們的「戶口本」,進程轉換到"zombie」狀態,「進程死亡了無法幫自己注銷戶口登記,要父進程幫忙」等等,這些解釋非常地形象。所謂的大師也便是如此,用最通俗的語言把最深奧的道理講明白,我想,這本書的作者做到了。 此書的不足。 這本書也存在著不足之處。第一點,此書是2001年出版的,所以是以2.4版本的源代碼為基礎的,而現在已經長期停留在2.6版本了;第二是,書中的圖片嚴重不足,很多原理只要附加張圖片便能讓讀者明了,可是作者花了不少的篇幅去解釋而沒有附加圖片,這很讓人費解,或者這是因為錄入不是作者本人做的原因;第三,這跟很多國內書籍類似,沒有索引,查找代碼的講解是件很痛苦的事情。 距離這本書第一次出版已經有八年的時間了,希望作者能抽出時間再修訂,在此基礎上做2.6版本源代碼的分析。 這是我見過的國內比較好的真正用心去寫的計算機書籍,在此之前也只讀過一本關於匯編語言的書籍,作者是王爽。依稀還記得當年舍友都睡了的時候,一個人小心翼翼地趴在筆記本前仔細閱讀的情景,如今甚是懷念。 這是本好書。

『柒』 Linux內核源代碼情景分析的目錄

第1章 預備知識
1.1 Linux內核簡介.
1.2 Intel X86 CPU系列的定址方式
1.3 i386的頁式內存管理機制
1.4 Linux內核源代碼中的C語言代碼
1.5 Linux內核源代碼中的匯編語言代碼
第2章 存儲管理
2.1 Linux內存管理的基本框架
2.2 地址映射的全過程
2.3 幾個重要的數據結構和函數
2.4 越界訪問
2.5 用戶堆棧的擴展
2.6 物理頁面的使用和周轉
2.7 物理頁面的分配
2.8 頁面的定期換出
2.9 頁面的換入
2.10 內核緩沖區的管理
2.11 外部設備存儲空間的地址映射
2.12 系統調用brk()
2.13 系統調用mmap()
第3章 中斷、異常和系統調用
3.1 X86 CPU對中斷的硬體支持
3.2 中斷向量表IDT的初始化
3.3 中斷請求隊列的初始化
3.4 中斷的響應和服務
3.5 軟中斷與Bottom Half
3.6 頁面異常的進入和返回
3.7 時鍾中斷
3.8 系統調用
3.9 系統調用號與跳轉表
第4章 進程與進程調度
4.1 進程四要素
4.2 進程三部曲:創建、執行與消亡
4.3 系統調用fork()、vfork()與clone()
4.4 系統調用execve()
4.5 系統調用exit()與wait4()
4.6 進程的調度與切換
4.7 強制性調度
4.8 系統調用nanosleep()和pause()
4.9 內核中的互斥操作
第5章 文件系統
5.1 概述
5.2 從路徑名到目標節點
5.3 訪問許可權與文件安全性
5.4 文件系統的安裝和拆卸
5.5 文件的打開與關閉
5.6 文件的寫與讀
5.7 其他文件操作
5.8 特殊文件系統/proc
第6章 傳統的Unix進程間通信
6.1 概述
6.2 管道和系統調用pipe()
6.3 命名管道
6.4 信號
6.5 系統調用ptrace()和進程跟蹤
6.6 報文傳遞
6.7 共享內存
6.8 信號量

『捌』 如何讀《深入理解linux內核》和《情景分析》

怎麼讀《深入理解linux內核》和《情景分析》
有同感的人回帖。
------解決方案--------------------------------------------------------
沒有基礎看著兩本書是相當吃力的!
------解決方案--------------------------------------------------------
得有相當的軟硬體知識積累才行
要是能隨便一天讀懂一章,那這個世界就沒什麼值得積累的技術了

我的建議是先看 Robert Love的Linux Kernel Develop 2nd,作者說那是《深入理解linux內核》的導讀,等到你看LKD都很輕松的時候就好看經典了

另外,我覺得先學好驅動開發,再分析內核才是正途。做驅動需要經常用到內核中的數據結構和函數(相當於內核api),難度卻比分析內核要低。等到驅動練得熟練了,等於內核的結構有了大致把握,然後就可以分析內核函數的具體實現了,也方便做實驗驗證。

我也是初學者,目前只是看LKD比較輕松的階段
------解決方案--------------------------------------------------------
有誤
是譯者建議先看《深入理解linux內核》再看UND和LDD

驅動難度卻比分析內核要低
--------
僅考慮軟體部分也許還行,但實際跟硬體交互總有復雜的問題需要解決
------解決方案--------------------------------------------------------
是譯者建議先看Linux Kernel Develop 2nd 再看《深入理解linux內核》和LDD

晚上有點不清醒
------解決方案--------------------------------------------------------
我是跳著看過..
------解決方案--------------------------------------------------------
不能太急:)
------解決方案--------------------------------------------------------
都看不懂~
------解決方案--------------------------------------------------------
其實 Robert Love 的Linux Kernel Develop 2nd也比較難懂。

這幾本書的中文版都是陳麗君翻譯的,她自己寫的一本《Linux操作系統原理與應用》比較易懂,可以做這幾本書的鋪墊!
------解決方案--------------------------------------------------------
建議:
lkd+ulk+源代碼,
情景分析中講的太細,沒有ULK的基礎很容易一猛子扎進去出不來,迷在代碼中
建議lkd先看一遍,這個半月就差不多了
然後ULK結合源碼,這可是個慢功夫,一般ULK看一半就感覺前邊看的什麼都沒有了
這時候在看lkd中對應的ULK已經看過的章節
等ULK中重要的章節基本看完,再分塊看
例如:
進程管理+中斷,內存管理等幾塊
情景分析的話等ULK看了1-2遍(隨時結合代碼),需要深入的章節而你自己看源碼又有些地方不理解,可以參考情景分析相應的章節,沒必要全部看完

另外,推薦一本新書《Professional Linux Kernel Architecture》,個人認為這本比ULK寫的更好
ULK更多是教你內核里有什麼,而這本書教的是內核有什麼,為什麼這樣。讓你知其然又知其所以然。當然雖然本書很厚,1300多頁,由於涉及太多,深度的話跟ULK差不多,甚至稍微淺一點。

本人的一點感想,不一定適合LZ,LZ看情況而定吧

------解決方案--------------------------------------------------------
個人感覺《深入理解linux內核》也就是ULK沒有個一年功夫就別想讀懂,這東西欲速則不達。
------解決方案--------------------------------------------------------
看了好幾本, 沒有一本看完的
------解決方案--------------------------------------------------------
樓主心態有問題,速戰速決要分情況滴

------解決方案--------------------------------------------------------
其實 Robert Love 的Linux Kernel Develop 2nd也比較難懂。

這個我以前聽說是比較入門的,但是我看了兩遍後還是希里糊塗的。

『玖』 LINUX內核源代碼情景分析(上冊)

毫不猶豫的買下了,京東速度果然非常快的,從配貨到送貨也很具體,快遞非常好,很快收到書了。書的包裝非常好,沒有拆開過,非常新,可以說無論自己閱讀家人閱讀,內核源代碼情景分析(上冊)採取類似於英語教學中行之有效的情景會話的教學方法,全面深入地剖析了最新版本核心源代碼,並對核心的獨特優點和需要進一步改進的問題作了精闢的評述。內核源代碼情景分析(上冊)包括預備知識、存儲管理、中斷和系統調用、進程和進程調度、文件系統以及傳統的進程通訊共六章。收藏還是送人都特別有面子的說,特別精美各種十分美好雖然看著書本看著相對簡單,但也不遑多讓,塑封都很完整封面和封底的設計、繪圖都十分好畫讓我覺得十分細膩具有收藏價值。書的封套非常精緻推薦大家購買。打開書本,書裝幀精美,紙張很乾凈,文字排版看起來非常舒服非常的驚喜,讓人看得欲罷不能,每每捧起這本書的時候似乎能夠感覺到作者毫無保留的把作品呈現在我面前。作業深入淺出的寫作手法能讓本人猶如身臨其境一般,好似一杯美式咖啡,看似快餐,其實值得回味無論男女老少,第一印象最重要。從你留給別人的第一印象中,就可以讓別人看出你是什麼樣的人。所以多讀書可以讓人感覺你知書答禮,頗有風度。多讀書,可以讓你多增加一些課外知識。培根先生說過知識就是力量。不錯,多讀書,增長了課外知識,可以讓你感到渾身充滿了一股力量。這種力量可以激勵著你不斷地前進,不斷地成長。從書中,你往往可以發現自己身上的不足之處,使你不斷地改正錯誤,擺正自己前進的方向。所以,書也是我們的良師益友。多讀書,可以讓你變聰明,變得有智慧去戰勝對手。書讓你變得更聰明,你就可以勇敢地面對困難。讓你用自己的方法來解決這個問題。這樣,你又向你自己的人生道路上邁出了一步。多讀書,也能使你的心情便得快樂。讀書也是一種休閑,一種娛樂的方式。讀書可以調節身體的血管流動,使你身心健康。所以在書的海洋里遨遊也是一種無限快樂的事情。用讀書來為自己放鬆心情也是一種十分明智的。讀書能陶冶人的情操,給人知識和智慧。所以,我們應該多讀書,為我們以後的人生道路打下好的、扎實的基礎!讀書養性,讀書可以陶冶自己的性情,使自己溫文爾雅,具有書卷氣讀書破萬卷,下筆如有神,多讀書可以提高寫作能力,寫文章就才思敏捷舊書不厭百回讀,熟讀深思子自知,讀書可以提高理解能力,只要熟讀深思,你就可以知道其中的道理了讀書可以使自己的知識得到積累,君子學以聚之。總之,愛好讀書是好事。讓我們都來讀書吧。其實讀書有很多好處,就等有心人去慢慢發現.最大的好處是可以讓你

『拾』 Linux內核源代碼情景分析適合初學linux的人嗎

如果你有一定的c語言基礎並且對linux的文件系統比較了解的話,可以直接看linux的內核源碼分析

熱點內容
php建網站 發布:2024-11-01 10:07:37 瀏覽:566
利用舊電腦搭建自己的私有雲伺服器 發布:2024-11-01 10:07:24 瀏覽:608
dl388p伺服器怎麼換硬碟 發布:2024-11-01 10:02:12 瀏覽:254
雲伺服器可以打游戲嘛 發布:2024-11-01 09:49:49 瀏覽:582
編程聚會 發布:2024-11-01 09:38:51 瀏覽:898
7z壓縮密碼 發布:2024-11-01 09:38:50 瀏覽:660
sql字元串去掉空格 發布:2024-11-01 09:27:27 瀏覽:17
c語言學生通訊錄 發布:2024-11-01 09:26:22 瀏覽:286
門線告警演算法 發布:2024-11-01 09:24:58 瀏覽:522
當樂網源碼 發布:2024-11-01 09:08:08 瀏覽:226