日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)

Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)

Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)

定 價(jià):¥35.00

作 者: (美)Robert Love著;陳莉君,康華,張波譯;陳莉君譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 計(jì)算機(jī)科學(xué)叢書
標(biāo) 簽: Linux

ISBN: 9787111152415 出版時(shí)間: 2005-03-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 257 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  “如果有這樣一本書,既能提綱挈領(lǐng),為我理順?biāo)季w、指引方向;同時(shí)又能照顧小節(jié)、闡述細(xì)微,幫助我更好更快地理解源碼,那該有多好?!闭f這話的先生雖然針對(duì)的是C++,但道出的是研習(xí)源碼的人們共同的心聲。我們能不能做點(diǎn)兒什么,讓學(xué)習(xí)Linux內(nèi)核的過程更符合程序員的習(xí)慣呢?本書回答了這個(gè)問題。本書作者RobertLove是一個(gè)狂熱的內(nèi)核愛好者,所以他的想法自然貼近程序員。本書內(nèi)容涉及Linux 2.6內(nèi)核,包含許多新特性,如O(1)調(diào)度程序、塊I/0層、I/0調(diào)度程序等。本書提供Linux內(nèi)核設(shè)計(jì)和實(shí)現(xiàn)的概述性信息,覆蓋了從核心內(nèi)核系統(tǒng)的應(yīng)用到內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)等各方面內(nèi)容,能夠帶領(lǐng)讀者快速走進(jìn)Linux內(nèi)核世界。本書不但介紹了理論,而且也討論了具體應(yīng)用,可以滿足不同讀者的需要,適合于各類希望理解Linux內(nèi)核軟件開發(fā)的讀者。

作者簡(jiǎn)介

  Robert Love:很早就開始使用Linux, 而且一直活躍于開源社區(qū). 最近, 他受聘于Monta Vista軟件公司, 作為軟件工程師繼續(xù)做開發(fā)Linux內(nèi)核的工作. 他的內(nèi)核項(xiàng)目包括進(jìn)程調(diào)度程序. 搶占式內(nèi)核, 還有VM和多任務(wù)處理性能優(yōu)化. 他負(fù)責(zé)維護(hù)的另外兩個(gè)開源項(xiàng)目是schedutils和procps. 此外, 他對(duì)內(nèi)核還有不少精彩評(píng)論, 并擔(dān)任Linux Journal雜志的特邀編輯.

圖書目錄

 第1章  Linux內(nèi)核簡(jiǎn)介
 1. 1  Linux簡(jiǎn)介
 1. 2  操作系統(tǒng)和內(nèi)核簡(jiǎn)介
 1. 3  Linux內(nèi)核和傳統(tǒng)Unix內(nèi)核的比較
 1. 4  Linux內(nèi)核版本
 1. 5  Linux內(nèi)核開發(fā)者社區(qū)
 1. 6  內(nèi)核開發(fā)的特點(diǎn)
 1. 6. 1  沒有l(wèi)ibc庫
 1. 6. 2  GNU C
 1. 6. 3  沒有內(nèi)存保護(hù)機(jī)制
 1. 6. 4  不要輕易在內(nèi)核中使用浮點(diǎn)數(shù)
 1. 6. 5  容積小而固定的棧
 1. 6. 6  同步和并發(fā)
 1. 6. 7  可移植性的重要性
 1. 7  編譯內(nèi)核
 1. 8  小結(jié)
 第2章  進(jìn)程管理
 2. 1  進(jìn)程描述符及任務(wù)隊(duì)列
 2. 1. 1  分配進(jìn)程描述符
 2. 1. 2  進(jìn)程描述符的存放
 2. 1. 3  進(jìn)程狀態(tài)
 2. 1. 4  設(shè)置當(dāng)前進(jìn)程狀態(tài)
 2. 1. 5  進(jìn)程上下文
 2. 2  進(jìn)程創(chuàng)建
 2. 2. 1  寫時(shí)拷貝
 2. 2. 2  fork()
 2. 2. 3  vfork()
 2. 3  線程在Linux中的實(shí)現(xiàn)
 2. 4  進(jìn)程終結(jié)
 2. 4. 1  刪除進(jìn)程描述符
 2. 4. 2  孤兒進(jìn)程造成的進(jìn)退維谷
 第3章  調(diào)度
 3. 1  策略
 3. 1. 1  I/O消耗型和處理器消耗型的進(jìn)程
 3. 1. 2  進(jìn)程優(yōu)先級(jí)
 3. 1. 3  時(shí)間片
 3. 1. 4  進(jìn)程搶占
 3. 1. 5  調(diào)度策略的活動(dòng)
 3. 2  調(diào)度算法
 3. 2. 1  可執(zhí)行隊(duì)列
 3. 2. 2  優(yōu)先級(jí)數(shù)組
 3. 2. 3  重新計(jì)算時(shí)間片
 3. 2. 4  計(jì)算優(yōu)先級(jí)和時(shí)間片
 3. 2. 5  睡眠和喚醒
 3. 2. 6  負(fù)載平衡程序
 3. 3  搶占和上下文切換
 3. 3. 1  用戶搶占
 3. 3. 2  內(nèi)核搶占
 3. 4  實(shí)時(shí)
 3. 5  與調(diào)度相關(guān)的系統(tǒng)調(diào)用
 3. 5. 1  與調(diào)度策略和優(yōu)先級(jí)相關(guān)的系統(tǒng)調(diào)用
 3. 5. 2  與處理器綁定有關(guān)的系統(tǒng)調(diào)用
 3. 5. 3  放棄處理器時(shí)間
 第4章  系統(tǒng)調(diào)用
 4. 1  API. POSIX和C庫
 4. 2  系統(tǒng)調(diào)用
 4. 2. 1  系統(tǒng)調(diào)用號(hào)
 4. 2. 2  系統(tǒng)調(diào)用的性能
 4. 3  系統(tǒng)調(diào)用處理程序
 4. 3. 1  指定恰當(dāng)?shù)南到y(tǒng)調(diào)用
 4. 3. 2  參數(shù)傳遞
 4. 4  系統(tǒng)調(diào)用的實(shí)現(xiàn)
 4. 5  系統(tǒng)調(diào)用上下文
 4. 5. 1  綁定一個(gè)系統(tǒng)調(diào)用的最后步驟
 4. 5. 2  從用戶空間訪問系統(tǒng)調(diào)用
 4. 5. 3  為什么不通過系統(tǒng)調(diào)用的方式實(shí)現(xiàn)
 第5章  中斷和中斷處理程序
 5. 1  中斷
 5. 2  中斷處理程序
 5. 3  注冊(cè)中斷處理程序
 5. 4  編寫中斷處理程序
 5. 4. 1  共享的中斷處理程序
 5. 4. 2  中斷處理程序?qū)嵗?br /> 5. 4. 3  中斷上下文
 5. 5  中斷處理機(jī)制的實(shí)現(xiàn)
 5. 6  中斷控制
 5. 6. 1  禁止和激活中斷
 5. 6. 2  禁止指定中斷線
 5. 6. 3  中斷系統(tǒng)的狀態(tài)
 第6章  下半部和推后執(zhí)行的工作
 6. 1  下半部
 6. 1. 1  為什么要用下半部
 6. 1. 2  下半部的環(huán)境
 6. 2  軟中斷
 6. 2. 1  軟中斷的實(shí)現(xiàn)
 6. 2. 2  使用軟中斷
 6. 3  Tasklets
 6. 3. 1  Tasklets的實(shí)現(xiàn)
 6. 3. 2  使用Tasklets
 6. 3. 3  ksoftirqd
 6. 3. 4  老的BH機(jī)制
 6. 4  工作隊(duì)列
 6. 4. 1  工作隊(duì)列的實(shí)現(xiàn)
 6. 4. 2  使用工作隊(duì)列
 6. 4. 3  老的任務(wù)隊(duì)列機(jī)制
 6. 5  下半部機(jī)制的選擇
 6. 6  在下半部之間加鎖
 第7章  內(nèi)核同步介紹
 7. 1  臨界區(qū)和競(jìng)爭(zhēng)條件
 7. 2  加鎖
 7. 2. 1  到底是什么造成了并發(fā)執(zhí)行
 7. 2. 2  需要保護(hù)什么
 7. 3  死鎖
 7. 4  爭(zhēng)用和擴(kuò)展性
 7. 5  小結(jié)
 第8章  內(nèi)核同步方法
 8. 1  原子操作
 8. 1. 1  原子整數(shù)操作
 8. 1. 2  原子位操作
 8. 2  自旋鎖
 8. 2. 1  其他針對(duì)自旋鎖的操作
 8. 2. 2  自旋鎖和下半部
 8. 3  讀-寫自旋鎖
 8. 4  信號(hào)量
 8. 4. 1  創(chuàng)建和初始化信號(hào)量
 8. 4. 2  使用信號(hào)量
 8. 5  讀-寫信號(hào)量
 8. 6  完成變量
 8. 7  BKL
 8. 8  Seq鎖
 8. 9  禁止搶占
 8. 10  屏障
 第9章  定時(shí)器和時(shí)間管理
 9. 1  內(nèi)核中的時(shí)間概念
 9. 2  節(jié)拍率:Hz
 9. 3  jiffes
 9. 3. 1  jiffies的內(nèi)部表示
 9. 3. 2  jiffies的回繞
 9. 3. 3  用戶空間和Hz
 9. 4  硬時(shí)鐘和定時(shí)器
 9. 4. 1  實(shí)時(shí)時(shí)鐘
 9. 4. 2  系統(tǒng)定時(shí)器
 9. 5  時(shí)鐘中斷處理程序
 9. 6  實(shí)際時(shí)間
 9. 7  定時(shí)器
 9. 7. 1  使用定時(shí)器
 9. 7. 2  定時(shí)器競(jìng)爭(zhēng)條件
 9. 7. 3  實(shí)現(xiàn)定時(shí)器
 9. 8  延遲執(zhí)行
 9. 8. 1  忙等待
 9. 8. 2  短延遲
 第10章  內(nèi)存管理
 10. 1  頁
 10. 2  區(qū)
 10. 3  獲得頁
 10. 3. 1  獲得填充為0的頁
 10. 3. 2  釋放頁
 10. 4  slab層
 10. 5  slab分配器的接口
 10. 6  在棧上的靜態(tài)分配
 10. 7  高端內(nèi)存的映射
 10. 7. 1  永久映射
 10. 7. 2  臨時(shí)映射
 10. 8  分配函數(shù)的選擇
 第11章  虛擬文件系統(tǒng)
 11. 1  通用文件系統(tǒng)接口
 11. 2  文件系統(tǒng)抽象層
 11. 3  Unix文件系統(tǒng)
 11. 4  VFS對(duì)象及其數(shù)據(jù)結(jié)構(gòu)
 11. 5  超級(jí)塊對(duì)象
 11. 6  索引節(jié)點(diǎn)對(duì)象
 11. 7  目錄項(xiàng)對(duì)象
 11. 7. 1  目錄項(xiàng)狀態(tài)
 11. 7. 2  目錄項(xiàng)緩存
 11. 7. 3  目錄項(xiàng)操作
 11. 8  文件對(duì)象
 11. 9  和文件系統(tǒng)相關(guān)的數(shù)據(jù)結(jié)構(gòu)
 11. 10  和進(jìn)程相關(guān)的數(shù)據(jù)結(jié)構(gòu)
 11. 11  Linux中的文件系統(tǒng)
 第12章  塊I/O層
 12. 1  解剖一個(gè)塊設(shè)備
 12. 2  緩沖區(qū)和緩沖區(qū)頭
 12. 3  bio結(jié)構(gòu)體
 12. 4  請(qǐng)求隊(duì)列
 12. 5  I/O調(diào)度程序
 12. 5. 1  I/O調(diào)度程序的工作
 12. 5. 2  Linus電梯
 12. 5. 3  最終期限I/O調(diào)度程序
 12. 5. 4  預(yù)測(cè)I/O調(diào)度程序
 第13章  進(jìn)程地址空間
 13. 1  內(nèi)存描述符
 13. 1. 1  分配內(nèi)存描述符
 13. 1. 2  銷毀內(nèi)存描述符
 13. 1. 3  mm_struct與內(nèi)核線程
 13. 2  內(nèi)存區(qū)域
 13. 2. 1  VMA標(biāo)志
 13. 2. 2  VM操作
 13. 2. 3  內(nèi)存區(qū)域的樹型結(jié)構(gòu)和內(nèi)存區(qū)域的鏈表結(jié)構(gòu)
 13. 2. 4  實(shí)際使用中的內(nèi)存區(qū)域
 13. 3  操作內(nèi)存區(qū)域
 13. 3. 1  find_vma()
 13. 3. 2  find_vma_prev()
 13. 3. 3  find_vma_intersection()
 13. 4  mmap()和do_mmap():創(chuàng)建地址區(qū)間
 13. 5  mummap()和do_mummap():刪除地址區(qū)間
 13. 6  頁表
 第14章  頁高速緩存和頁回寫
 14. 1  頁高速緩存
 14. 2  基樹
 14. 3  緩沖區(qū)高速緩存
 14. 4  pdflush后臺(tái)例程
 14. 4. 1  bdflush和kupdated
 14. 4. 2  避免擁塞的方法:使用多線程
 第15章  調(diào)試
 15. 1  調(diào)度前需要準(zhǔn)備什么
 15. 2  內(nèi)核中的bug
 15. 2. 1  pintk()
 15. 2. 2  記錄等級(jí)
 15. 2. 3  記錄緩沖區(qū)
 15. 2. 4  syslogd和klogd
 15. 2. 5  printk()和內(nèi)核開發(fā)時(shí)需要留意的一點(diǎn)
 15. 3  oops
 15. 3. 1  ksymoops
 15. 3. 2  kallsyms
 15. 4  內(nèi)核調(diào)試配置選項(xiàng)
 15. 5  引發(fā)bug并打印信息
 15. 6  神奇的系統(tǒng)請(qǐng)求鍵
 15. 7  內(nèi)核調(diào)試器的傳奇
 15. 7. 1  gdb
 15. 7. 2  kgdb
 15. 7. 3  kdb
 15. 8  刺探系統(tǒng)
 15. 8. 1  用UID作為選擇條件
 15. 8. 2  使用條件變量
 15. 8. 3  使用統(tǒng)計(jì)量
 15. 8. 4  重復(fù)頻率限制
 15. 9  用二分查找法找出引發(fā)罪惡的變更
 15. 10  當(dāng)所有的努力都失敗時(shí):社區(qū)
 第16章  可移植性
 16. 1  Linux移植史
 16. 2  字長(zhǎng)和數(shù)據(jù)類型
 16. 2. 1  不透明類型
 16. 2. 2  指定數(shù)據(jù)類型
 16. 2. 3  長(zhǎng)度明確的類型
 16. 2. 4  char型的符號(hào)問題
 16. 3  數(shù)據(jù)對(duì)齊
 16. 3. 1  避免對(duì)齊引發(fā)的問題
 16. 3. 2  非標(biāo)準(zhǔn)類型的對(duì)齊
 16. 3. 3  結(jié)構(gòu)體填補(bǔ)
 16. 4  字節(jié)順序
 16. 4. 1  高位優(yōu)先和低位優(yōu)先的歷史
 16. 4. 2  內(nèi)核中的字節(jié)順序
 16. 5  時(shí)間
 16. 6  頁長(zhǎng)度
 16. 7  處理器排序
 16. 8  SMP. 內(nèi)核搶占. 高端內(nèi)存
 16. 9  小結(jié)
 第17章  補(bǔ)丁. 開發(fā)和社區(qū)
 17. 1  社區(qū)
 17. 2  Linux編碼風(fēng)格
 17. 2. 1  縮進(jìn)
 17. 2. 2  括號(hào)
 17. 2. 3  命名規(guī)范
 17. 2. 4  函數(shù)
 17. 2. 5  注釋
 17. 2. 6  Typedefs
 17. 2. 7  多用現(xiàn)成的東西
 17. 2. 8  在源碼中不要使用ifdef
 17. 2. 9  結(jié)構(gòu)初始化
 17. 2. 10  代碼的事后修正
 17. 3  管理系統(tǒng)
 17. 4  提交錯(cuò)誤報(bào)告
 17. 5  創(chuàng)建補(bǔ)丁
 17. 6  提交補(bǔ)丁
 附錄A  鏈表
 附錄B  單CPU接口
 附錄C  內(nèi)核隨機(jī)數(shù)產(chǎn)生器
 附錄D  算法復(fù)雜度
 參考資料

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)