linux內核分析
Ⅰ linux內核設計與實現 深入理解linux內核 哪個好
都一般,除非你是搞操作系統理論的,不然等你有了足夠的編程經驗再來看這兩本書,從linux advanced programming 和 unp入手,先了解程序結構,再看概述性的書
Ⅱ linux內核分析及編程怎麼樣
本
書作者在整理自己多年研發筆記的基礎上,以精心挑選的典型開發實例,向讀者詳細講述了Linux內核源代碼的各部分結構、原理及組成框架,主要分析了
Linux最新版本(2.6.11)的內核源代碼,幫助讀者深入理解Linux內核,精通Linux內核編程。全書分為20章,內容包括進程管理、進程間
通信、內存管理、文件系統、I/O介面及資源管理、內核的編譯及調試原理、網路通信、內核安全、USB驅動程序等。
對於想了解Linux開
發,以及從事Linux內核編程的開發人員來說,本書是一本集大成之作,它既有講解透徹的原理,也有詳細實用的示例,更有作者多年從事實際開發工作的心
得。本書主要針對從事Linux內核編程的中高級讀者及軟體工程師,也很合適作為大學教材和參考書。
Ⅲ 關於LINUX內核
如果你現在以學習的態度來扎實的看,我推薦一本於淵的《自己動手寫操作系統》,他參照了Minix代碼,從最小MBR動手構建操作系統,徹底分析從實模式到保護模式,內存模型,進程等基礎概念。最難能可貴的事情,他會非常細膩的劃分出模塊,一個一個用代碼實現,極大提高你的動手能力。
如果你能花費兩個月時間通讀多遍,然後在從Linux0.11內核開始入手,事情將會事半功倍。直接進入2.4以後的內核,對新人實在不利,收效甚微。
直至你對模塊大概情形掌握以後,再去研究<Understanding Linux kernel>, <Linux Device Driver>這樣的大作,一切水到渠成。
但是這是需要消耗極大的時間和精力,操作系統的方方面面自然無法掌握,你可能找到一個切入點來深入。即便Linus本人也非全才的。
Ⅳ 學習linux內核分析有什麼意義
意義就是你又會了一個操作系統
Ⅳ 請問有關linux內核分析的書,哪一本比較好
最好的是Understanding the Linux Kernel 3rd,內核每個知識領域的典型函數都有詳細的分析,分析包括:1.詳細闡述函數的作用 2.將內核源代碼簡化為初學者可以理解的代碼。 有了這樣想盡的分析,理解linux內核就是時間和耐心的問題了。
Ⅵ 如何分析一個linux內核驅動
首先,要理解操作系統的概念,操作系統是用戶和硬體之間的一層媒介程序。不管是Linux還是Windows或者安卓、IOS,它的主要功能有兩點:1、有效管理硬體。
2、方便用戶操作。
其次,Linux內核是Linux系統的核心程序,主要完成任務調度、內存管理、IO設備管理等等功能,主要目的是為了應用程序提供一個穩定良好的運行環境,這是一個基礎。
再次,驅動程序是操作系統有效管理硬體的一個途徑。應用程序是方便用戶操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等圖形Shell都是應用程序。 你可以簡單的理解為驅動程序實現了操作系統對硬體的有效管理,應用程序實現了操作系統方便用戶操作的目的。
最後,從編程角度來看,Linux內核就是一個調用庫,應用程序通過調用Linux提供的API函數來實現操作,Linux內核通過與驅動通信實現對硬體的有效管理。具體的編程細節,需要自己在實踐編程中體會。這是一個整體的描述。
Ⅶ 如何讀《深入理解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內核設計與實現》,《understanding the linux kernel 3rd》等等,桌面還有大把的網路下下來的資料。 初識這本書,是大三時候一位同學跟我提起,當時覺得還沒到閱讀源代碼的程度。一直到做這篇論文,在我最糾結的時候,忽然想起朋友說過這本書,於是下了電子版本。 理所當然,我完全被這本書吸引。 我難掩心中的激動,幾乎要歡呼起來,這何嘗不是一本可以當做小說閱讀的書籍! 這本書不像前兩本那樣,僅僅只是羅列出Linux的特性,數據結構,相關的技術等等,他是在帶領你去走進Linux源代碼的世界,順著代碼的調用,一路斬荊披棘,最後帶你到底目的地。途中雖然驚險,但一路過來,卻是充滿了趣味,更是享受到了智力上的成就感。 關於書的語言。 讀這本書,彷彿是你的好朋友就坐在你面前跟你講話,他把Linux源碼中的枯燥的理論跟生活中普遍的事物聯系起來,像進程的task_struct結構體,相當於我們的「戶口本」,進程轉換到"zombie」狀態,「進程死亡了無法幫自己注銷戶口登記,要父進程幫忙」等等,這些解釋非常地形象。所謂的大師也便是如此,用最通俗的語言把最深奧的道理講明白,我想,這本書的作者做到了。 此書的不足。 這本書也存在著不足之處。第一點,此書是2001年出版的,所以是以2.4版本的源代碼為基礎的,而現在已經長期停留在2.6版本了;第二是,書中的圖片嚴重不足,很多原理只要附加張圖片便能讓讀者明了,可是作者花了不少的篇幅去解釋而沒有附加圖片,這很讓人費解,或者這是因為錄入不是作者本人做的原因;第三,這跟很多國內書籍類似,沒有索引,查找代碼的講解是件很痛苦的事情。 距離這本書第一次出版已經有八年的時間了,希望作者能抽出時間再修訂,在此基礎上做2.6版本源代碼的分析。 這是我見過的國內比較好的真正用心去寫的計算機書籍,在此之前也只讀過一本關於匯編語言的書籍,作者是王爽。依稀還記得當年舍友都睡了的時候,一個人小心翼翼地趴在筆記本前仔細閱讀的情景,如今甚是懷念。 這是本好書。
Ⅸ LINUX內核源代碼分析怎麼樣
Linux擁有現代操作系統所有的功能,如真正的搶先式多任務處理、支持多用戶,內存保護,虛擬內存,支持SMP、UP,符合POSIX標准,聯網、圖形用戶介面和桌面環境。具有快速性、穩定性等特點。本書通過分析Linux的內核源代碼,充分揭示了Linux作為操作系統的內核是如何完成保證系統正常運行、協調多個並發進程、管理內存等工作的。現實中,能讓人自由獲取的系統源代碼並不多,通過本書的學習,將大大有助於讀者編寫自己的新程序。本書附贈光碟,有關光碟內容請見附錄C。