Linux內(nèi)核API完全參考手冊

出版時(shí)間:2011-1  出版社:機(jī)械工業(yè)出版社  作者:邱鐵,周玉,鄧瑩瑩 編著  頁數(shù):684  
Tag標(biāo)簽:無  

前言

進(jìn)入21世紀(jì),IT技術(shù)以前所未有的速度向前發(fā)展。Linux作為源碼開放的操作系統(tǒng),在眾多愛好者的共同努力下,不斷成長并趨于完善。由于GNU計(jì)劃所開發(fā)的各種組件和系統(tǒng)發(fā)行版所必備的軟件可以運(yùn)行于Linux內(nèi)核之上,整個(gè)Linux內(nèi)核符合通用公共許可證(General Public License,GNU),使得Linux在PC機(jī)、服務(wù)器以及嵌入式系統(tǒng)開發(fā)等領(lǐng)域得到了廣泛應(yīng)用。編者在長期的Linux內(nèi)核開發(fā)中發(fā)現(xiàn),當(dāng)前介紹內(nèi)核API方面的書籍很少。目前市面上關(guān)于Linux內(nèi)核編程開發(fā)方面的書可以分為三類:第一類,Linux內(nèi)核分析,所分析的內(nèi)核源碼版本一般相對(duì)較早,而對(duì)于最新版本的內(nèi)核源代碼則很少提及;第二類,Linux編程,主要是以用戶層面上的編程為主,一般涉及用戶API;第三類,嵌入式Linux開發(fā),相對(duì)于特定的硬件平臺(tái),只對(duì)所用到的特定內(nèi)核API作簡要說明。對(duì)于使用Linux內(nèi)核進(jìn)行編程開發(fā),需要全面了解內(nèi)核API,而目前市面上找不到一本能夠全面介紹最新的Linux內(nèi)核API的圖書,這也正是本書寫作的目的所在。

內(nèi)容概要

Linux作為源碼開放的操作系統(tǒng)已經(jīng)廣泛應(yīng)用于計(jì)算機(jī)與嵌入式設(shè)備,因此學(xué)會(huì)Linux內(nèi)核開發(fā)與編程顯得越來越重要。本書以最新的Linux內(nèi)核版本2.6.30為依據(jù),對(duì)常用的內(nèi)核API作了系統(tǒng)分析和歸納,設(shè)計(jì)了典型實(shí)例并對(duì)開發(fā)場景進(jìn)行了詳細(xì)講解。本書中分析的內(nèi)核API模塊包括:內(nèi)核模塊機(jī)制API、進(jìn)程管理內(nèi)核API、進(jìn)程調(diào)度內(nèi)核API、中斷機(jī)制內(nèi)核API、內(nèi)存管理內(nèi)核API、內(nèi)核定時(shí)機(jī)制API、內(nèi)核同步機(jī)制API、文件系統(tǒng)內(nèi)核API和設(shè)備驅(qū)動(dòng)及設(shè)備管理API。本書立足Linux內(nèi)核API分析,深入實(shí)踐,內(nèi)容翔實(shí),讀者可以從低起點(diǎn)進(jìn)行高效的內(nèi)核分析與編程實(shí)踐。本書可作為高等院校計(jì)算機(jī)、電子、信息類大學(xué)生及研究生進(jìn)行Linux操作系統(tǒng)學(xué)習(xí)和編程的教材或參考書,也可作為Linux開發(fā)人員和廣大Linux編程開發(fā)愛好者的參考用書。

書籍目錄

前言 本書使用方法 第1章 Linux內(nèi)核API分析必備知識(shí) 1  Linux內(nèi)核編程注意事項(xiàng) 1  本書中模塊編譯Makefile模板 1  內(nèi)核調(diào)試 函數(shù)printk 2  內(nèi)核編譯與定制 4  溫馨提示 10  參考文獻(xiàn) 11 第2章 Linux內(nèi)核模塊機(jī)制API 12  函數(shù):__module_address ( ) 12  函數(shù):__module_ref_addr ( ) 14  函數(shù):__module_text_address ( ) 16  函數(shù):__print_symbol ( ) 18  函數(shù):__symbol_get ( ) 20  函數(shù):__symbol_put ( ) 22  函數(shù):find_module ( ) 24  函數(shù):find_symbol ( ) 27  函數(shù):module_is_live ( ) 30  函數(shù):module_put ( ) 32  函數(shù):module_refcount ( ) 34  函數(shù):sprint_symbol ( ) 36  函數(shù):symbol_put_addr ( ) 38  函數(shù):try_module_get ( ) 40  函數(shù):use_module ( ) 42 參考文獻(xiàn) 44 第3章 Linux進(jìn)程管理內(nèi)核API 45  函數(shù):__task_pid_nr_ns( ) 45  函數(shù):find_get_pid( ) 47  函數(shù):find_pid _ns( ) 49  函數(shù):find_task_by_pid_ns( ) 51  函數(shù):find_task_by_pid_type _ns( ) 53  函數(shù):find_task_by_vpid( ) 55  函數(shù):find_vpid( ) 57  函數(shù):get_pid( ) 59  函數(shù):get_task_mm( ) 60  函數(shù):is_container_init( ) 63  函數(shù):kernel_thread( ) 65  函數(shù):mmput( ) 67  函數(shù):ns_of_pid( ) 69  函數(shù):pid_nr( ) 71  函數(shù):pid_task( ) 73  函數(shù):pid_vnr( ) 75  函數(shù):put_pid( ) 77  函數(shù):task_active_pid_ns( ) 79  函數(shù):task_tgid_nr_ns( ) 81 參考文獻(xiàn) 83 第4章 Linux進(jìn)程調(diào)度內(nèi)核API 84 第5章 Linux中斷機(jī)制內(nèi)核API 189 第6章 Linux內(nèi)存管理內(nèi)核API 258 第7章 Linux內(nèi)核定時(shí)機(jī)制API 368 第8章 Linux內(nèi)核同步機(jī)制API 457 第9章 Linux文件系統(tǒng)內(nèi)核API 539 第10章 Linux設(shè)備驅(qū)動(dòng)及設(shè)備管理API 614 部分相關(guān) 函數(shù)說明 679 參考文獻(xiàn) 679 附錄 Linux內(nèi)核API快速檢索表

章節(jié)摘錄

插圖:Linux可以運(yùn)行在兩種模式下:用戶模式和內(nèi)核模式。當(dāng)我們編寫一個(gè)普通程序時(shí),有時(shí)會(huì)包含文件,也就是說我們使用了C標(biāo)準(zhǔn)庫,這是典型的用戶模式編程,在這種情況下,用戶模式的應(yīng)用程序要鏈接標(biāo)準(zhǔn)C庫。在內(nèi)核模式下不存在1ibc庫,也就沒有這些函數(shù)供我們調(diào)用。此外,在內(nèi)核模式下編程還存在一些限制:·不能使用浮點(diǎn)運(yùn)算。因?yàn)長inux內(nèi)核在切換模式時(shí)不保存處理器的浮點(diǎn)狀態(tài)?!げ灰寖?nèi)核程序進(jìn)行長時(shí)間等待。Linux操作系統(tǒng)本身是搶占式的,但是內(nèi)核是非搶占內(nèi)核,就是說用戶空間的程序可以搶占運(yùn)行,但是內(nèi)核空間程序不可以?!けM可能保持代碼的整潔性。內(nèi)核調(diào)試不像調(diào)試應(yīng)用程序那樣方便,因此,在前期代碼編寫的過程中保持代碼的整潔易懂,將大大方便后期的調(diào)試?!ぴ趦?nèi)核模式下編程,系統(tǒng)內(nèi)的所有資源都是由內(nèi)核來統(tǒng)一調(diào)配的,并且數(shù)量有限,因此申請(qǐng)資源用完后一定要進(jìn)行釋放,避免出現(xiàn)死鎖情況。·Linux內(nèi)核API有很多配對(duì)使用,例如,文件引用計(jì)數(shù)有加操作,也會(huì)有相應(yīng)的減操作。如果在實(shí)驗(yàn)中進(jìn)行了“引用計(jì)數(shù)”加操作,函數(shù)執(zhí)行后未進(jìn)行減操作還原,那么可能會(huì)出現(xiàn)系統(tǒng)崩潰。本書中的所有內(nèi)核API驗(yàn)證實(shí)例都是在Linux內(nèi)核模式下進(jìn)行編程與驗(yàn)證的。

編輯推薦

《Linux內(nèi)核API完全參考手冊》特色:國內(nèi)外首本全面介紹Linux內(nèi)核API開發(fā)與編程的手冊;基于最新的Linux內(nèi)核版本2.6.30,設(shè)計(jì)內(nèi)核API典型實(shí)例,并對(duì)開發(fā)場景進(jìn)行詳細(xì)講解;對(duì)Linux內(nèi)核系統(tǒng)知識(shí)進(jìn)行精心策劃,以內(nèi)核模塊方式對(duì)內(nèi)核API進(jìn)行系統(tǒng)分析;基于系統(tǒng)功能模塊內(nèi)部,內(nèi)核API以函數(shù)名稱排序,方便快速檢索;立足于基礎(chǔ),高效學(xué)習(xí)理論配合內(nèi)核API經(jīng)典實(shí)例,深入Linux編程實(shí)踐;為Linux內(nèi)核開發(fā)與編程提供高效指導(dǎo)與參考?!禠inux內(nèi)核API完全參考手冊》主要內(nèi)容:Linux內(nèi)核模塊機(jī)制APILinux進(jìn)程管理內(nèi)核APILinux進(jìn)程調(diào)度內(nèi)核APILinux中斷機(jī)制內(nèi)核APILinux內(nèi)存管理內(nèi)核APILinux內(nèi)核定時(shí)機(jī)制APILinux內(nèi)核同步機(jī)制APILinux文件系統(tǒng)內(nèi)核APILinux設(shè)備驅(qū)動(dòng)與設(shè)備管理API首本Linux內(nèi)核API手冊,多重索引方式方便速查。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    Linux內(nèi)核API完全參考手冊 PDF格式下載


用戶評(píng)論 (總計(jì)25條)

 
 

  •   這本書對(duì)linux的每個(gè)常用的內(nèi)核API都作了詳細(xì)分析,并且說明每個(gè)內(nèi)核API時(shí)都舉了一個(gè)典型的例子。當(dāng)前對(duì)linux上層接口C編程的書很多,只有這本書是針對(duì)linu內(nèi)核API的,以前內(nèi)核編程也不知道怎么入手,以前在圖書館借著看,現(xiàn)在從當(dāng)當(dāng)上買了這本書后,按照每章的內(nèi)容,做了一些內(nèi)核調(diào)試,對(duì)內(nèi)核API的直接上手編程幫助很大。例子一般是針對(duì)linux內(nèi)核態(tài)下的編程,講解的很清楚,提供的API接口分析也很全面,對(duì)linux內(nèi)核學(xué)習(xí)和編程幫助很大。
  •   覺得這本書寫得很新穎,是Linux內(nèi)核開發(fā)時(shí)的必備書參考書,以前看內(nèi)核源代碼總沒有頭序,這本書每個(gè)內(nèi)核API都給出詳細(xì)的分析過程,真是Linux內(nèi)核開學(xué)習(xí)的經(jīng)典之作。
  •   可以作為LINUX驅(qū)動(dòng)程序API參考手冊
  •   當(dāng)工具書很不錯(cuò)的選擇,美中不足就是API的源碼部分比較累贅
  •   很實(shí)用的工具,但內(nèi)核更新的如此快,很多函數(shù)都過時(shí),但是大多數(shù)還是通用的。
  •   正在開發(fā)相關(guān)項(xiàng)目,正用得上。
  •   沒想到還挺厚的,寫這本書的老師辛苦了,一本很好的參考書
  •   非常好的書,值得參考
    非常好的書,值得參考
  •   就個(gè)人認(rèn)為,這本書不是很合適
  •   講的不錯(cuò)的,看了一兩章,很不錯(cuò)的,五星!
  •   第一本關(guān)于Linux內(nèi)核API的參考手冊,看后感覺很好
  •   如果有應(yīng)用的api就好了
  •   內(nèi)容還算豐富的一本工具用書
  •   挺實(shí)用的,涉及的接口再多些就好了
  •   書的質(zhì)量不過關(guān),內(nèi)容不夠充實(shí)
  •   書頁 有突出
  •   有點(diǎn)難度,得細(xì)心的閱讀
  •   整本書介紹了很多api,然后對(duì)每個(gè)api都做了一個(gè)例子,無疑這是一個(gè)工作量很大的工作。但是這本書完全沒有存在的必要。當(dāng)要用哪個(gè)api的時(shí)候自己去源碼里看豈不是更好,還可以看看其實(shí)現(xiàn)。明白其機(jī)制。但是這本書只是說該api的參數(shù)、返回值、作用,然后舉一個(gè)例子。而且每個(gè)例子都是通過printk("<0>....的方法,看的別扭。
    這本書并不適合想學(xué)習(xí)內(nèi)核原理的人,而是在寫程序中想快速查一個(gè)API的人。但是linux不像windows,API的代碼都是公開的。根本就不要這樣的一本大全。
    而且紙張不好,有臭味。
    總之,這是我買過內(nèi)核書中最后悔的一本,不推薦想學(xué)習(xí)內(nèi)核的人買。但是對(duì)于學(xué)習(xí)內(nèi)核當(dāng)作一種快餐,只為了快速開發(fā)??赡芸梢栽囍I一本看看。
  •   不僅把內(nèi)核源代碼的每個(gè)模塊的API都詳細(xì)分析了,而且每個(gè)API都有實(shí)例驗(yàn)證。真是內(nèi)核分析精典之作,佩服作者毅力。
  •   優(yōu)點(diǎn):1、有例子;2、核心的API都說到;3、淺顯易懂;缺點(diǎn):1、缺少與網(wǎng)絡(luò)有關(guān)的API;2、函數(shù)功能說明不夠全面,例如:哪個(gè)鎖是不能睡眠的,沒有提及。這對(duì)于剛剛接觸內(nèi)核的人來說,不好理解。
  •   國內(nèi)首本全面介紹Linux內(nèi)核API開發(fā)與編程的手冊???有介紹輸入子系統(tǒng)的API嗎???沒有,騙子?。?!有介紹內(nèi)存映射和DMA的API嗎???沒有,騙子?。?!有介紹LINUX設(shè)備模型的API嗎???沒有,騙子?。?!。。。就連register_chrdev_region()這個(gè)函數(shù)都沒介紹,居然敢這么吹噓自己的書,服了。簡直就是一本多余的書?。?!浪費(fèi)我們的錢?。?!浪費(fèi)國家的資源!??!
  •   在很多時(shí)候拿來參考,不是看的
  •   《linux 內(nèi)核API完全參考手冊》這本書的印刷質(zhì)量太差,紙張不容樂觀;很是讓人想退貨,考慮到急用就算了;希望再次購物能夠貨真價(jià)實(shí);而不是很讓人反感(書面很臟、并且卷揉等等問題).......
  •   以前看深入理解Linux內(nèi)核和Linux內(nèi)核源代碼分析等書,覺得很難看懂。老板新接了個(gè)任務(wù)讓寫Linux驅(qū)動(dòng),涉及硬件、系統(tǒng)調(diào)用、中斷等內(nèi)核模塊,當(dāng)時(shí)看了很多書也沒思路。調(diào)試中斷時(shí),很多接口都不會(huì)用。后來,找到Linux內(nèi)核API完全參考手冊,從這本書上找到了很多可利用的API接口,而且不再用分析大量的源代碼了,這本書真是太方便讀者了,給內(nèi)核開發(fā)提供了直接的參... 閱讀更多
  •   發(fā)貨速度太垃圾,3月8下單,到今天3月14號(hào)還是“尚未發(fā)貨”去年買的一次書也是,到我取消訂單的時(shí)候猜發(fā)貨,3本書,一本我取消,另外2本發(fā)過來了,真想不簽收的但看到快遞大爺也不容易,是卓越發(fā)貨速度太慢不是大爺送的慢。... 閱讀更多
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7