注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Linux操作系統(tǒng)原理·技術與編程

操作系統(tǒng)原理·技術與編程

操作系統(tǒng)原理·技術與編程

定 價:¥42.00

作 者: 蔣靜,徐志偉著
出版社: 機械工業(yè)出版社
叢編項: 重點大學計算機教材
標 簽: 操作系統(tǒng)理論

ISBN: 9787111131601 出版時間: 2004-01-01 包裝: 膠版紙
開本: 24cm 頁數(shù): 502 字數(shù):  

內(nèi)容簡介

  本書從原理、技術、實現(xiàn)三個方面講述操作系統(tǒng)原理和編程思想以及編程方法。這種集原理、技術、實現(xiàn)于一身的講述操作系統(tǒng)原理的方法是本書的獨到之處。本書分別給出了四個大的核心層次和若干應用程序層次上的編程實例。因此,全書并沒有只停留在介紹操作系統(tǒng)普遍使用的基本概念和基本原理,而是進一步探究Un叮核心數(shù)據(jù)結構和程序設計思路以及編程方法,并在一定范圍內(nèi)探討了Linux內(nèi)核的實現(xiàn)方案所具有的優(yōu)缺點,從而啟迪和鍛煉讀者的創(chuàng)新意識。本書適合作為高年級本科生和研究生操作系統(tǒng)課程教材,也可以作為操作系統(tǒng)開發(fā)人員以及系統(tǒng)管理員參考用書。本書是針對計算機操作系統(tǒng)原理課程的教材,從原理、技術、實現(xiàn)三個方面講述了操作系統(tǒng)原理和編程思想以及編程方法。書中探究了Linux核心數(shù)據(jù)結構和程序設計思路,并在一定范圍內(nèi)探討了Linux內(nèi)核的實現(xiàn)方案所具有的優(yōu)缺點,從而啟迪和鍛煉讀者的創(chuàng)新意識。本書不僅適用作高年級本科生和研究生教材,也可以供開發(fā)人員和系統(tǒng)管理員參考。

作者簡介

  蔣靜,女,1982年畢業(yè)于華東工程學院無線電工程系,畢業(yè)后曾在軍隊中從事工程技術與科研工作,現(xiàn)任青島大學信息工程學院副教授、碩士生導師。曾獲軍隊科技進步獎和山東省教委科技進步獎。擁有多項國家實用新型專利。1999年-2002年在中科院計算所做高級訪問學者?,F(xiàn)主要從事計算機體系結構和操作系統(tǒng)領域的研究與教學工作。

圖書目錄

第一部分  操作系統(tǒng)初始化                  
 第1章  操作系統(tǒng)概述                  
 1. 1  操作系統(tǒng)的定義                  
 1. 1. 1  計算機系統(tǒng)層次結構圖                  
 1. 1. 2  操作系統(tǒng)的定義                  
 1. 2  操作系統(tǒng)發(fā)展過程中的設計需求分析                  
 1. 2. 1  沒有操作系統(tǒng)的第一代計算機                  
 1. 2. 2  具有簡單批處理操作系統(tǒng)的第二代計算機                  
 1. 2. 3  簡單批處理操作系統(tǒng)功能分析                  
 1. 2. 4  多道程序設計的批處理操作系統(tǒng)                  
 1. 2. 5  多道程序設計的分時操作系統(tǒng)                  
 1. 2. 6  其他操作系統(tǒng)                  
 1. 3  內(nèi)核體系結構模型                  
 1. 3. 1  大型系統(tǒng)軟件分析方法                  
 1. 3. 2  操作系統(tǒng)結構模型                  
 1. 3. 3  UNIX內(nèi)核系統(tǒng)結構模型                  
 1. 4  Linux操作系統(tǒng)的出現(xiàn)                  
 1. 5  操作系統(tǒng)如何運行一個用戶程序                  
 1. 5. 1  操作系統(tǒng)運行的全過程                  
 1. 5. 2  客戶/服務器工作流程                  
 1. 5. 3  客戶/服務器實例                  
 1. 6  重要思想和理論                  
 1. 6. 1  重要思想                  
 1. 6. 2  重要理論                  
 1. 7  小結                  
 1. 8  練習題                  
 1. 9  參考文獻                  
 第2章  i386硬件與軟件接口技術                  
 2. 1  微型計算機硬件組成                  
 2. 1. 1  微型計算機基本組成                  
 2. 1. 2  微處理器分類                  
 2. 1. 3  微處理器結構的發(fā)展                  
 2. 1. 4  微型計算機總線結構                  
 2. 2  實模式軟件結構                  
 2. 2. 1  實模式下軟件組織                  
 2. 2. 2  實模式主存儲器地址的產(chǎn)生                  
 2. 2. 3  實模式輸入/輸出地址空間                  
 2. 3  保護模式下存儲器管理單元MMU                  
 2. 3. 1  描述符寄存器                  
 2. 3. 2  描述符                  
 2. 3. 3  虛擬地址和虛擬地址空間                  
 2. 3. 4  虛實地址轉換                  
 2. 3. 5  保護模式指令集                  
 2. 4  保護模式和保護                  
 2. 4. 1  多任務與分時系統(tǒng)                  
 2. 4. 2  保護環(huán)                  
 2. 4. 3  保護機制                  
 2. 4. 4  保護性檢查                  
 2. 4. 5  越級訪問存儲器的代碼段和數(shù)據(jù)段                  
 2. 5  任務切換機制                  
 2. 6  小結                  
 2. 7  練習題                  
 2. 8  參考文獻                  
 第3章  Linux系統(tǒng)引導過程                  
 3. 1  BIOS啟動過程                  
 3. 1. 1  i386芯片的啟動狀態(tài)                  
 3. 1. 2  BIOS加載操作系統(tǒng)引導程序                  
 3. 2  引導過程                  
 3. 2. 1  軟盤引導過程                  
 3. 2. 2  硬盤引導過程                  
 3. 2. 3  LILD運行過程分析                  
 3. 3  實模式下的系統(tǒng)初始化setup()函數(shù)                  
 3. 3. 1  setup. S代碼簽名檢查                  
 3. 3. 2  設置參數(shù)                  
 3. 3. 3  準備進入保護模式                  
 3. 3. 4  setup. S程序流程圖                  
 3. 3. 5  執(zhí)行setup. S程序后內(nèi)存分配圖                  
 3. 3. 6  setup. S中全局描述符表分析                  
 3. 4  內(nèi)核解壓縮過程startup_32()                  
 3. 5  保護模式下的系統(tǒng)初始化startup_32()                  
 3. 5. 1  在startup_32中完成臨時頁表的初始化                  
 3. 5. 2  設置全局描述符表                  
 3. 6  小結                  
 3. 7  練習題                  
 3. 8  參考文獻                  
 第4章  啟動Linux內(nèi)核                  
 4. 1  初始化系統(tǒng)內(nèi)核                  
 4. 1. 1  初始化與體系結構相關的硬件數(shù)據(jù)結構                  
 4. 1. 2  解析內(nèi)核選項                  
 4. 2  init()函數(shù)與init進程                  
 4. 3  init()函數(shù)執(zhí)行流程                  
 4. 3. 1  繼續(xù)初始化系統(tǒng)內(nèi)核                  
 4. 3. 2  系統(tǒng)進程的生成                  
 4. 3. 3  init進程                  
 4. 4  Shell命令文本的執(zhí)行                  
 4. 4. 1  執(zhí)行腳本文件/etc/rc. d/re. sysinit                  
 4. 4. 2  執(zhí)行腳本文件/etc/rc. d/roN. d目錄中的各個命令                  
 4. 4. 3  各終端進程的生成                  
 4. 5  小結                  
 4. 6  練習題                  
 4. 7  參考文獻                  
 第二部分  并發(fā)控制原理及其實現(xiàn)                  
 第5章  程序和進程                  
 5. 1  并發(fā)控制                  
 5. 1. 1  多道程序設計與分時共享                  
 5. 1. 2  并發(fā)控制的硬件支持                  
 5. 2  進程的定義和特征                  
 5. 2. 1  程序與進程                  
 5. 2. 2  從并發(fā)機制理解進程                  
 5. 2. 3  進程的特征                  
 5. 3  線程                  
 5. 3. 1  多線程                  
 5. 3. 2  內(nèi)核線程和用戶線程                  
 5. 4  操作系統(tǒng)控制進程的基本方法                  
 5. 5  內(nèi)核中進程的實現(xiàn)                  
 5. 5. 1  進程控制塊PCB                  
 5. 5. 2  進程狀態(tài)                  
 5. 5. 3  Linux進程控制塊                  
 5. 5. 4  Linux系統(tǒng)0號進程的控制塊                  
 5. 5. 5  Linux進程狀態(tài)                  
 5. 6  進程的組織                  
 5. 6. 1  進程鏈表和運行隊列鏈表                  
 5. 6. 2  pidhash鏈表                  
 5. 6. 3  如何尋址當前進程的PCB                  
 5. 7  內(nèi)核創(chuàng)建新進程                  
 5. 8  Linux fork的編程實現(xiàn)                  
 5. 8. 1  內(nèi)核函數(shù)do_fork                  
 5. 8. 2  調用fork()的編程實例                  
 5. 8. 3  內(nèi)核怎樣運行一個新程序                  
 5. 9  Linux exec的編程實現(xiàn)                  
 5. 9. 1  運行新程序的do_execve()                  
 5. 9. 2  二進制處理程序load_binary()完成的工作                  
 5. 9. 3  使用fork__exec組合的編程實例                  
 5. 10  從程序到進程                  
 5. 10. 1  文件系統(tǒng)中可執(zhí)行文件的一般格式                  
 5. 10. 2  shell進程執(zhí)行用戶程序的過程                  
 5. 11  進程的終止                  
 5. 12  編程實例--Linux守護進程的編程方法                  
 5. 12. 1  進程組. 會話和控制終端                  
 5. 12. 2  Linux守護進程編程細則                  
 5. 12. 3  Linux守護進程實例                  
 5. 13  小結                  
 5. 14  練習題                  
 5. 15  參考文獻                  
 第6章  互斥與同步                  
 6. 1  并發(fā)進程控制的基本原理                  
 6. 1. 1  競爭條件                  
 6. 1. 2  同步與互斥                  
 6. 1. 3  對互斥操作的要求                  
 6. 2  競爭條件產(chǎn)生的原因                  
 6. 2. 1  原子操作                  
 6. 2. 2  原子操作的實例                  
 6. 3  基于共享變量的同步操作                  
 6. 3. 1  忙等待                  
 6. 3. 2  鎖變量                  
 6. 3. 3  TestAndSet與Swap指令                  
 6. 4  信號量                  
 6. 5  內(nèi)核使用的P. V操作實例                  
 6. 5. 1  DOWN操作                  
 6. 5. 2  UP操作                  
 6. 5. 3  同步slab高速緩存的信號量                  
 6. 5. 4  同步內(nèi)存描述符的信號量                  
 6. 5. 5  同步索引節(jié)點的信號量                  
 6. 6  內(nèi)核采用的其他同步技術                  
 6. 6. 1  內(nèi)核是不可強占的                  
 6. 6. 2  關中斷                  
 6. 7  等待對列及其操作                  
 6. 8  小結                  
 6. 9  練習題                  
 6. 10  參考文獻                  
 第7章  死鎖與饑餓                  
 7. 1  死鎖分析                  
 7. 1. 1  可剝奪資源與不可剝奪資源                  
 7. 1. 2  死鎖定義                  
 7. 1. 3  死鎖的條件                  
 7. 1. 4  資源分配模型圖                  
 7. 2  死鎖預防                  
 7. 3  死鎖避免                  
 7. 3. 1  系統(tǒng)資源分配的表示方法                  
 7. 3. 2  系統(tǒng)拒絕啟動進程                  
 7. 3. 3  系統(tǒng)拒絕分配資源                  
 7. 4  死鎖檢測和恢復                  
 7. 4. 1  死鎖檢測算法                  
 7. 4. 2  死鎖檢測的時機                  
 7. 4. 3  從死鎖中恢復                  
 7. 5  最簡單的死鎖策略                  
 7. 6  饑餓                  
 7. 7  小結                  
 7. 8  練習題                  
 7. 9  參考文獻                  
 第8章  進程調度                  
 8. 1  進程調度的基本原理                  
 8. 1. 1  調度程序的設計目標                  
 8. 1. 2  選擇合適的調度策略                  
 8. 1. 3  時間測度指標                  
 8. 2  非強占方式調度算法                  
 8. 2. 1  先來先服務                  
 8. 2. 2  最短作業(yè)優(yōu)先                  
 8. 2. 3  優(yōu)先級調度                  
 8. 3  強占式調度算法                  
 8. 3. 1  輪轉法                  
 8. 3. 2  多級隊列                  
 8. 3. 3  反饋調度算法                  
 8. 4  Linux進程調度的實現(xiàn)                  
 8. 4. 1  在PCB中與調度有關的數(shù)據(jù)成員                  
 8. 4. 2  Linux調度策略                  
 8. 4. 3  Linux調度函數(shù)schedule()                  
 8. 4. 4  Linux調度機制                  
 8. 5  調度程序的編程實例                  
 8. 6  小結                  
 8. 7  練習題                  
 8. 8  參考文獻                  
 第9章  中斷技術                  
 9. 1  基于IBM PC機的中斷接口電路                  
 9. 1. 1  Intel 80386芯片的中斷接口                  
 9. 1. 2  使用82C59芯片連結外圍設備的中斷接口電路                  
 9. 2  中斷和異常                  
 9. 2. 1  異常                  
 9. 2. 2  中斷和異常的優(yōu)先級                  
 9. 3  中斷向量表和中斷描述符表                  
 9. 3. 1  中斷和異常向量                  
 9. 3. 2  中斷門和陷阱門的區(qū)別                  
 9. 4  Linux中斷系統(tǒng)的初始化過程                  
 9. 4. 1  第一次初始化中斷描述符表                  
 9. 4. 2  第二次初始化中斷描述符表                  
 9. 5  異常處理                  
 9. 5. 1  異常處理過程                  
 9. 5. 2  異常處理程序                  
 9. 5. 3  內(nèi)核管理硬件資源的兩種異常                  
 9. 6  中斷處理                  
 9. 6. 1  硬件設備使用的中斷向量                  
 9. 6. 2  中斷處理使用的數(shù)據(jù)結構                  
 9. 6. 3  中斷系統(tǒng)初始化函數(shù)init_IRQ                  
 9. 6. 4  中斷處理程序的執(zhí)行過程                  
 9. 6. 5  保存斷點現(xiàn)場                  
 9. 6. 6  執(zhí)行所有的中斷服務例程                  
 9. 6. 7  內(nèi)核模式的設備驅動程序                  
 9. 7  下半部分                  
 9. 7. 1  Linux對下半部分的組織                  
 9. 7. 2  執(zhí)行do_bottom_half()函數(shù)                  
 9. 7. 3  調度do_bottom_half()函數(shù)運行的時機                  
 9. 8  動態(tài)安裝和釋放中斷處理程序                  
 9. 9  從中斷和異常返回                  
 9. 10  一個中斷處理實例                  
 9. 10. 1  定時器中斷的上半部                  
 9. 10. 2  定時器中斷的下半部                  
 9. 10. 3  預定義的任務隊列                  
 9. 11  小結                  
 9. 12  練習題                  
 9. 13  參考文獻                  
 第10章  系統(tǒng)調用接口                  
 10. 1  標準C函數(shù)庫和系統(tǒng)調用                  
 10. 2  模式轉換的硬件處理                  
 10. 2. 1  陷阱門處理的模式轉換                  
 10. 2. 2  調用門處理的模式轉換                  
 10. 3  系統(tǒng)調用接口                  
 10. 3. 1  內(nèi)核對系統(tǒng)調用的初始化                  
 10. 3. 2  系統(tǒng)調用的執(zhí)行流程                  
 10. 3. 3  封裝例程                  
 10. 3. 4  系統(tǒng)調用號與系統(tǒng)調用表                  
 10. 3. 5  system_call的執(zhí)行過程                  
 10. 4  lcall7的執(zhí)行過程                  
 10. 5  內(nèi)核中添加新系統(tǒng)調用的實例                  
 10. 6  小結                  
 10. 7  練習題                  
 10. 8  參考文獻                  
 第三部分  OS資源管理及其實現(xiàn)                  
 第11章  存儲器管理及Linux實現(xiàn)                  
 11. 1  存儲器功能需求分析                  
 11. 1. 1  重定位                  
 11. 1. 2  保護                  
 11. 1. 3  共享                  
 11. 2  存儲器的組織方式                  
 11. 2. 1  邏輯組織                  
 11. 2. 2  物理組織                  
 11. 3  內(nèi)存管理                  
 11. 3. 1  固定分區(qū)                  
 11. 3. 2  動態(tài)分區(qū)                  
 11. 4  位圖                  
 11. 5  伙伴系統(tǒng)                  
 11. 6  重定位技術                  
 11. 6. 1  存儲器管理使用的地址類型                  
 11. 6. 2  固定分區(qū)使用的重定位技術                  
 11. 6. 3  分頁使用的重定位技術                  
 11. 6. 4  分段使用的重定位技術                  
 11. 7  虛擬存儲器管理技術                  
 11. 7. 1  局部性原理                  
 11. 7. 2  虛擬存儲器管理軟件                  
 11. 7. 3  交換區(qū)                  
 11. 8  通用存儲器管理模型                  
 11. 9  Linux在i386中的分段和分頁                  
 11. 9. 1  Linux使用的分段                  
 11. 9. 2  Linux使用的分頁                  
 11. 9. 3  Linux在i386平臺上定義的頁表項格式                  
 11. 10  Linux內(nèi)存管理                  
 11. 10. 1  描述內(nèi)存頁框的page數(shù)據(jù)結構                  
 11. 10. 2  基于buddy算法的內(nèi)存頁框管理                  
 11. 11  基于slab算法的內(nèi)存區(qū)管理                  
 11. 11. 1  slab分配器的組成                  
 11. 11. 2  slab分配器與頁框級分配器的接口和實現(xiàn)                  
 11. 11. 3  連續(xù)內(nèi)存區(qū)的分配和釋放函數(shù)                  
 11. 12  非連續(xù)內(nèi)存區(qū)的分配和釋放                  
 11. 12. 1  描述非連續(xù)內(nèi)存區(qū)的數(shù)據(jù)結構                  
 11. 12. 2  分配和釋放非連續(xù)內(nèi)存區(qū)的函數(shù)                  
 11. 13  進程的地址空間                  
 11. 13. 1  struct mm_struct和struct vm_area_struct結構                  
 11. 13. 2  進程地址空間的存取權限                  
 11. 13. 3  對線性區(qū)進行處理的底層函數(shù)                  
 11. 13. 4  進程線性地址空間的映射do_mmap()                  
 11. 13. 5  釋放進程線性地址空間do_munmap()                  
 11. 14  頁面失效處理                  
 11. 14. 1  缺頁異常處理程序do_page_fault()                  
 11. 14. 2  請求調頁                  
 11. 14. 3  寫時拷貝                  
 11. 14. 4  調用sys_brk動態(tài)增長內(nèi)存                  
 11. 15  交換                  
 11. 15. 1  描述交換空間的數(shù)據(jù)結構                  
 11. 15. 2  頁面替換策略                  
 11. 16  頁換出操作                  
 11. 16. 1  頁交換守護進程kswapd                  
 11. 16. 2  kswapd()的執(zhí)行流程                  
 11. 16. 3  頁換人do_swap_page()                  
 11. 16. 4  頁換出                  
 11. 17  對交換區(qū)數(shù)據(jù)結構進行操作的函數(shù)                  
 11. 18  小結                  
 11. 19  練習題                  
 11. 20  參考文獻                  
 第12章  文件管理及Linux實現(xiàn)                  
 12. 1  磁盤的物理組織與調度                  
 12. 1. 1  磁盤結構                  
 12. 1. 2  磁盤的邏輯組織                  
 12. 1. 3  磁盤性能參數(shù)                  
 12. 1. 4  磁盤調度算法                  
 12. 1. 5  磁盤糾錯                  
 12. 2  文件管理需求分析                  
 12. 2. 1  文件管理的設計目標                  
 12. 2. 2  文件管理系統(tǒng)結構模型                  
 12. 3  文件                  
 12. 3. 1  文件結構                  
 12. 3. 2  文件類型和存取方式                  
 12. 3. 3  文件屬性                  
 12. 4  目錄                  
 12. 4. 1  目錄結構                  
 12. 4. 2  路徑名                  
 12. 4. 3  目錄操作                  
 12. 5  文件系統(tǒng)的組織                  
 12. 5. 1  文件組織                  
 12. 5. 2  目錄表表項的格式                  
 12. 5. 3  共享文件                  
 12. 5. 4  磁盤空間管理                  
 12. 5. 5  文件系統(tǒng)的一致性                  
 12. 6  文件系統(tǒng)的保護機制                  
 12. 7  虛擬文件系統(tǒng)VFS                  
 12. 7. 1  虛擬文件系統(tǒng)的設計思路                  
 12. 7. 2  虛擬文件系統(tǒng)VFS框架                  
 12. 8  Linux虛擬文件系統(tǒng)的數(shù)據(jù)結構                  
 12. 8. 1  VFS超級塊數(shù)據(jù)結構                  
 12. 8. 2  VFS的目錄項數(shù)據(jù)結構                  
 12. 8. 3  VFS的inode節(jié)點數(shù)據(jù)結構                  
 12. 8. 4  VFS中數(shù)據(jù)結構之間的關系                  
 12. 9  對虛擬文件系統(tǒng)的管理                  
 12. 9. 1  文件系統(tǒng)注冊鏈表                  
 12. 9. 2  文件系統(tǒng)安裝注冊鏈表                  
 12. 9. 3  根文件系統(tǒng)的安裝                  
 12. 10  對文件系統(tǒng)模塊的安裝和卸載                  
 12. 10. 1  安裝一個文件系統(tǒng)sys_mount()                  
 12. 10. 2  卸載一個文件系統(tǒng)sys_umount()                  
 12. 11  進程與文件系統(tǒng)的聯(lián)系                  
 12. 11. 1  文件對象                  
 12. 11. 2  用戶打開文件表                  
 12. 11. 3  根目錄和當前工作目錄                  
 12. 12  文件加鎖                  
 12. 13  磁盤數(shù)據(jù)的內(nèi)存高速緩沖區(qū)                  
 12. 13. 1  緩沖區(qū)高速緩存的數(shù)據(jù)結構                  
 12. 13. 2  buffer cache的組織                  
 12. 13. 3  對buffer cache的基本操作                  
 12. 13. 4  把臟緩沖區(qū)寫入磁盤                  
 12. 14  EXT2文件系統(tǒng)                  
 12. 14. 1  EXT2對物理磁盤的組織                  
 12. 14. 2  EXT2減少碎片的方案                  
 12. 14. 3  EXT2對磁盤塊的分配原則                  
 12. 15  EXT2磁盤重要數(shù)據(jù)結構                  
 12. 15. 1  EXT2的目錄項數(shù)據(jù)結構                  
 12. 15. 2  EXT2的磁盤i節(jié)點結構                  
 12. 15. 3  EXT2磁盤上的超級塊                  
 12. 15. 4  EXT2的組描述符                  
 12. 15. 5  EXT2的塊位圖和索引節(jié)點位圖                  
 12. 15. 6  EXT2存放文件的數(shù)據(jù)塊                  
 12. 16  EXT2的內(nèi)核組織'                  
 12. 16. 1  EXT2的內(nèi)存超級塊                  
 12. 16. 2  EXT2的內(nèi)存i節(jié)點                  
 12. 16. 3  磁盤i節(jié)點讀入高速緩存的過程                  
 12. 17  如何通過路徑名找到索引節(jié)點                  
 12. 18  EXT3文件系統(tǒng)                  
 12. 18. 1  關于日志式文件系統(tǒng)                  
 12. 18. 2  EXT2文件系統(tǒng)的不足                  
 12. 18. 3  日志文件系統(tǒng)的工作原理                  
 12. 18. 4  EXT3日志文件系統(tǒng)的具體實現(xiàn)                  
 12. 18. 5  EXT3文件系統(tǒng)的額外開銷                  
 12. 19  小結                  
 12. 20  練習題                  
 12. 21  參考文獻                  
 第13章  I/O設備管理與設備驅動程序                  
 13. 1  I/O系統(tǒng)的基本組成                  
 13. 1. 1  I/O設備的分類                  
 13. 1. 2  內(nèi)核對設備的分類                  
 13. 1. 3  I/O接口功能                  
 13. 1. 4  CPU與I/O設備交互的控制方式                  
 13. 2  I/O系統(tǒng)管理軟件的設計原理                  
 13. 3  用戶程序                  
 13. 4  邏輯I/O管理                  
 13. 4. 1  設備命名方法                  
 13. 4. 2  訪問設備的權限和設備保護                  
 13. 4. 3  為設備分配和釋放緩沖區(qū)                  
 13. 5  設備驅動程序和中斷控制層                  
 13. 6  設備驅動程序的組織實例                  
 13. 6. 1  設備驅動程序的工作原理                  
 13. 6. 2  邏輯I/O與設備驅動程序接口                  
 13. 6. 3  系統(tǒng)調用與驅動程序接口                  
 13. 6. 4  安裝中斷處理程序                  
 13. 7  設備驅動程序模塊                  
 13. 7. 1  靜態(tài)鏈接的設備驅動程序模塊                  
 13. 7. 2  可動態(tài)加載和卸載的設備驅動程序模塊                  
 13. 7. 3  用戶空間的設備驅動程序                  
 13. 8  了解系統(tǒng)基本配置                  
 13. 8. 1  I/O端口                  
 13. 8. 2  內(nèi)核中驅動程序清單                  
 13. 8. 3  內(nèi)核的中斷報告顯示                  
 13. 9  設備驅動程序中使用的內(nèi)核函數(shù)                  
 13. 9. 1  操作I/O端口的函數(shù)                  
 13. 9. 2  分配和釋放內(nèi)存的函數(shù)                  
 13. 9. 3  訪問設備卡上內(nèi)存的函數(shù)                  
 13. 9. 4  同步和計時要使用的內(nèi)核函數(shù)                  
 13. 9. 5  中斷管理內(nèi)核函數(shù)                  
 13. 9. 6  注冊和注銷設備的內(nèi)核函數(shù)                  
 13. 9. 7  其他內(nèi)核函數(shù)                  
 13. 10  編制設備驅動程序的基本方法                  
 13. 10. 1  設備驅動程序與內(nèi)核                  
 13. 10. 2  驅動程序與硬件                  
 13. 10. 3  驅動程序與引導                  
 13. u  內(nèi)核級設備驅動程序編程實例                  
 13. 11. 1  編程用到的硬件                  
 13. 11. 2  上半部與下半部各自的功能                  
 13. 11. 3  內(nèi)核驅動程序的上半部編程                  
 13. 11. 4  內(nèi)核驅動程序的下半部編程                  
 13. 11. 5  模塊的安裝與卸載                  
 13. 11. 6  訪問設備驅動程序的用戶程序                  
 13. 11. 7  編譯設備驅動程序                  
 13. 11. 8  使用內(nèi)核設備驅動程序模塊                  
 13. 12  小結                  
 13. 13  練習題                  
 13. 14  參考文獻                  
 第四部分  IPC和網(wǎng)絡編程接口                  
 第14章  最早的IPC方法:信號與管道                  
 14. 1  進程間通信的設計目標                  
 14. 2  信號機制                  
 14. 2. 1  什么是信號                  
 14. 2. 2  信號的產(chǎn)生與處理                  
 14. 3  發(fā)送信號                  
 14. 3. 1  信號操作用到的數(shù)據(jù)結構                  
 14. 3. 2  數(shù)據(jù)結構sigset_t上的一組簡單操作函數(shù)                  
 14. 3. 3  傳送信號                  
 14. 4  接收信號                  
 14. 4. 1  分析do_signal()函數(shù)                  
 14. 4. 2  忽略信號                  
 14. 4. 3  執(zhí)行一個默認操作                  
 14. 4. 4  捕獲一個信號                  
 14. 4. 5  執(zhí)行信號處理程序                  
 14. 4. 6  終止信號處理程序                  
 14. 4. 7  被中斷的系統(tǒng)調用獲得重新執(zhí)行                  
 14. 5  捕獲一個信號的編程實例                  
 14. 6  管道                  
 14. 6. 1  struct pipe_inode_info數(shù)據(jù)結構                  
 14. 6. 2  do-pipe()--創(chuàng)建一個管道                  
 14. 6. 3  讀管道                  
 14. 6. 4  寫管道                  
 14. 6. 5  撤銷管道                  
 14. 7  無名管道的編程實例                  
 14. 8  有名管道FIFO                  
 14. 8. 1  創(chuàng)建一個FIFO                  
 14. 8. 2  打開FIFO                  
 14. 8. 3  讀寫FIFO                  
 14. 9  編寫有名管道的實用程序                  
 14. 10  小結                  
 14. 11  練習題                  
 14. 12  參考文獻                  
 第15章  System V進程間通信                  
 15. 1  與IPC相關的系統(tǒng)調用                  
 15. 1. 1  創(chuàng)建IPC資源的系統(tǒng)調用                  
 15. 1. 2  控制IPC資源的系統(tǒng)調用                  
 15. 1. 3  操作IPC資源的系統(tǒng)調用                  
 15. 1. 4  IPC系統(tǒng)調用在i386體系結構中的實現(xiàn)                  
 15. 2  IPC資源中的公共元素及屬性                  
 15. 3  IPC信號量                  
 15. 3. 1  與信號量操作相關的數(shù)據(jù)結構                  
 15. 3. 2  sys_semop()函數(shù)的功能                  
 15. 3. 3  sys_Semctl()函數(shù)的功能                  
 15. 4  IPC信號量的編程示例                  
 15. 5  信號量小結                  
 15. 6  IPC消息隊列                  
 15. 6. 1  與消息隊列操作相關的數(shù)據(jù)結構                  
 15. 6. 2  發(fā)送一個消息                  
 15. 6. 3  接收消息和釋放消息隊列                  
 15. 7  IPC消息隊列的編程示例                  
 15. 8  消息隊列小結                  
 15. 9  共享內(nèi)存                  
 15. 9. 1  IPC共享內(nèi)存的數(shù)據(jù)結構                  
 15. 9. 2  連接IPC共享內(nèi)存                  
 15. 9. 3  IPC共享內(nèi)存請求調頁的過程                  
 15. 9. 4  剝離和釋放IPC共享內(nèi)存段                  
 15. 10  IPC共享內(nèi)存編程示例                  
 15. 11  小結                  
 15. 12  練習題                  
 15. 13  參考文獻                  
 第16章  Linux網(wǎng)絡接口及內(nèi)核實現(xiàn)                  
 16. 1  Linux網(wǎng)絡系統(tǒng)分層結構                  
 16. 1. 1  OSI模型和網(wǎng)際協(xié)議族                  
 16. 1. 2  Linux網(wǎng)絡協(xié)議族分層結構                  
 16. 2  TCP和UDP                  
 16. 2. 1  傳輸控制協(xié)議--TCP                  
 16. 2. 2  用戶數(shù)據(jù)報協(xié)議--UDP                  
 16. 3  內(nèi)核中與發(fā)送/接收相關的數(shù)據(jù)結構                  
 16. 3. 1  套接口地址結構                  
 16. 3. 2  數(shù)據(jù)包結構                  
 16. 3. 3  建立網(wǎng)絡連接的數(shù)據(jù)結構                  
 16. 3. 4  協(xié)議操作函數(shù)使用的數(shù)據(jù)結構                  
 16. 4  網(wǎng)絡連接的建立和關閉                  
 16. 4. 1  網(wǎng)絡連接的建立                  
 16. 4. 2  關閉網(wǎng)絡連接                  
 16. 5  發(fā)送數(shù)據(jù)                  
 16. 5. 1  發(fā)送數(shù)據(jù)的系統(tǒng)調用接口                  
 16. 5. 2  從INET協(xié)議層到IP層                  
 16. 5. 3  IP層到硬件層的數(shù)據(jù)發(fā)送過程                  
 16. 5. 4  硬件層的數(shù)據(jù)發(fā)送過程                  
 16. 6  接收數(shù)據(jù)                  
 16. 6. 1  接收數(shù)據(jù)的系統(tǒng)調用接口                  
 16. 6. 2  硬件層接收數(shù)據(jù)分析                  
 16. 6. 3  從IP層接收數(shù)據(jù)                  
 16. 6. 4  從INET層接收數(shù)據(jù)                  
 16. 7  小結                  
 16. 8  練習題                  
 16. 9  參考文獻                  
 第17章  TCP套接口編程的基本方法                  
 17. 1  套接口函數(shù)                  
 17. 1. 1  socket()函數(shù)                  
 17. 1. 2  其他套接口函數(shù)                  
 17. 2    連接的建立和終止過程                  
 17. 2. 1  建立TCP連接的過程                  
 17. 2. 2  終止TCP連接的過程                  
 17. 3  編制TCP客戶程序                  
 17. 3. 1  TCP客戶程序設計方法                  
 17. 3. 2  TCP客戶程序的實現(xiàn)                  
 17. 4  編制TCP服務器程序                  
 17. 4. 1  一個簡單TCP服務器的編程方法                  
 17. 4. 2  一個簡單TCP服務器的實現(xiàn)                  
 17. 4. 3  TCP并發(fā)服務器的實現(xiàn)                  
 17. 5  小結                  
 17. 6  練習題                  
 17. 7  參考文獻                  
 第18章  UDP套接口編程的基本方法                  
 18. i  UDP程序使用的套接口函數(shù)                  
 18. 2  發(fā)送UDP數(shù)據(jù)報的編程實例                  
 18. 3  接收UDP數(shù)據(jù)報的編程實例                  
 18. 4  小結                  
 18. 5  練習題                  
 18. 6  參考文獻                  
 附錄  Linux源代碼目錄結構與內(nèi)容                  

本目錄推薦

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