深入理解Linux内核
深入理解Linux内核
Daniel P. Bovet, Marco Cesati
陈莉君, 冯锐, 牛欣源 译
出版时间:2001年10月
页数:740
你是否曾经奇怪Linux为何如此高效?你是否想知道其性能对于你的特殊的应用软件是否起作用?你曾经试图浏览它的内核源代码吗?如果你对上述问题中的任一个回答“是”,那么这本书就是为你而写的。《深入理解Linux内核》以有价值的和有意义的观察,引导你遨游Linux内核世界。
虽然Linux经常被看作计算机高手偶然的实验工具,但它已逐渐成为许多组织机构中的关键部分,也成为展示高超编程技巧的平台。它综合了许多先进的操作系统的概念,并且在广泛的应用领域证明了其自身的极端健壮性和高效性。
读了这本书之后,你就会明白在什么情况下Linux具有最佳的性能,以及它如何面对挑战,在各种环境中提供进程调度、文件访问和内存管理时的优良的系统响应。作者通过解释其重要性来引入每一个题目,并将内核操作与Unix程序员和用户熟悉的系统调用或实用程序联系起来。
主要题目包括:
*内存管理,包括文件缓冲、进程交换和直接内存访问(DMA)
*虚拟文件系统和Ex2文件系统
*信号、中断和设备驱动程序的主要接口
*定时
*内核中的同步
*进程间通信(IPC)
*程序的执行
  1. 前言
  2. 第一章绪论
  3. Linux与其他类Unix内核的比较
  4. 硬件的依赖性
  5. Linux版本
  6. 操作系统的基本概念
  7. Unix 文件系统概述
  8. Unix内核概述
  9. 第二章内存寻址
  10. 内存地址
  11. 硬件的分段单元
  12. Linux中的段
  13. 硬件的分页单元
  14. Linux的分页
  15. 对Linux 2.4的展望
  16. 第三章进程
  17. 进程描述符
  18. 进程切换
  19. 创建进程
  20. 撤消进程
  21. 对Linux 2.4的展望
  22. 第四章中断和异常
  23. 中断信号的作用
  24. 中断和异常
  25. 中断和异常处理程序的嵌套执行
  26. 初始化中断描述符表
  27. 异常处理
  28. 中断处理
  29. 从中断和异常返回
  30. 对Linux 2.4的展望
  31. 第五章定时测量
  32. 硬时钟
  33. 定时中断处理程序
  34. PIT中断服务例程
  35. TIMER_BH下半部分函数
  36. 与定时测量相关的系统调用
  37. 对Linux 2.4的展望
  38. 第六章内存管理
  39. 页框管理
  40. 内存区管理
  41. 非连续内存区管理
  42. 对Linux 2.4的展望
  43. 第七章进程地址空间
  44. 进程的地址空间
  45. 内存描述符
  46. 线性区
  47. 缺页异常处理程序
  48. 创建和删除进程的地址空间
  49. 堆的管理
  50. 对Linux 2.4的展望
  51. POSIX API和系统调用
  52. 第八章系统调用
  53. 系统调用处理程序及服务例程
  54. 封装例程
  55. 对Linux 2.4的展望
  56. 第九章信号
  57. 信号的作用
  58. 发送信号
  59. 接收信号
  60. 实时信号
  61. 与信号处理相关的系统调用
  62. 对Linux 2.4的展望
  63. 调度策略
  64. 第十章进程调度
  65. 调度算法
  66. 与调度相关的系统调用
  67. 对Linux 2.4的展望
  68. 第十一章内核同步
  69. 内核控制路径
  70. 同步技术
  71. SMP体系结构
  72. Linux/SMP内核
  73. 对Linux 2.4的展望
  74. 虚拟文件系统的作用
  75. 第十二章虚拟文件系统
  76. VFS的数据结构
  77. 文件系统安装
  78. 路径名的查找
  79. VFS系统调用的实现
  80. 文件加锁
  81. 对Linux 2.4的展望
  82. 第十三章管理I/O设备
  83. I/O体系结构
  84. 与I/O设备相关的文件
  85. 设备驱动程序
  86. 字符设备的处理
  87. 块设备的处理
  88. 页I/O操作
  89. 对Linux 2.4的展望
  90. 第十四章磁盘高速缓存
  91. 缓冲区高速缓存
  92. 页高速缓存
  93. 对Linux 2.4的展望
  94. 第十五章访问正规文件
  95. 读写正规文件
  96. 内存映射
  97. 对Linux 2.4的展望
  98. 第十六章交换:释放内存的方法
  99. 什么是交换?
  100. 交换区
  101. 交换高速缓存
  102. 传送交换页
  103. 页换出
  104. 页换入
  105. 释放页框
  106. 对Linux 2.4的展望
  107. 第十七章Ext2文件系统
  108. 一般特性
  109. 磁盘数据结构
  110. 内存数据结构
  111. 创建文件系统
  112. Ext2的方法
  113. 磁盘空间管理
  114. 读写Ext2正规文件
  115. 对Linux 2.4的展望
  116. 第十八章进程通信
  117. 管道
  118. FIFO
  119. System V IPC
  120. 对Linux 2.4的展望
  121. 第十九章程序的执行
  122. 可执行文件
  123. 可执行格式
  124. 执行域
  125. exec类函数
  126. 对Linux 2.4的展望
  127. 附录一
  128. 附录二
  129. 附录三
  130. 参考书目
  131. 源代码索引
  132. 词汇表
书名:深入理解Linux内核
译者:陈莉君, 冯锐, 牛欣源 译
国内出版社:中国电力出版社
出版时间:2001年10月
页数:740
书号:7-5083-0719-4
原版书出版商:O'Reilly Media
Daniel P. Bovet
 
Daniel P. Bovet于1968年在加州大学洛杉矶分校获得计算机科学博士学位,现任意大利罗马大学Tor Vergata分校教授。由于以前缺乏现代的、设计良好的操作系统源代码,他等待了25年后才得以用适当的方法讲授操作系统课程。现在,借助于廉价PC机和Linux,Dan和Marco能够在课程中讲述操作系统的所有方面,从系统启动到系统调整,并且可以布置有一定的深度、又能满足学生们需要的作业。(这些真正被宠坏了的年轻人在家中的PC机上工作,从来没有用过那些穿孔卡片。)实际上,Dan对Linus Torvalds及其同事们的成就非常着迷,他花费了几年的时间试图揭示Linux的一些秘密。自然,在所有这些工作之后,他会就其研究成果写一本书。
 
 
Marco Cesati
 
Marco Cesati分别于1992年和1995年在罗马大学La Sapienza分校获得数学学位和计算机科学博士学位。现任罗马大学Tor Vergata分校工程学院计算机科学系的助理研究员。过去,他曾经是该大学(作为博士研究生)及其他几家研究机构(作为咨询顾问)的系统管理员和Unix程序员。最近三年,他一直致力于教授学生们如何以新奇和有趣的方式修改Linux内核。
 
 
此书封面上一个人手捧气泡的图案来自于19世纪Dover图片档案中的雕版画。每章开头处的图案来自于Dover图片档案的图书《Marvels of the New West: A Vivid Portrayal of the Stupendous Marvels in the Vast Wonderland West of the Missoui River》(Willian M. Thayer, The Henry Bill Publishing Company, Norwich, CT, 1888)和《The Pioneer History of America: A Popular Accout of the Heroes and Adventures》(Augustus Lynch Mason, A. M., The Jones Brothers Publishing Company, Cincinnati, OH, 1884)。