Linux内核编程指南
2004-11
清华大学出版社
拜克等著、张瑜等译
372
596000
拜克
无
本书面向希望深入学习这种操作系统的读者,全面介绍了Linux操作系统的技术原理。全书共分10章,内容分别涉及Linux内核简介、内存管理、进程间通信、Linux文件系统、设备驱动程序、网络实现方式、模块和调试,以及多重处理等Linux内核原理和开发技术。
第1章 Linux操作系统简介 1.1 主要特点 1.2 Linux产品第2章 编译内核 2.1 所有的东西在哪里 2.2 编译过程 2.3 额外的配置工具第3章 内核入门 3.1 重要的数据结构 3.1.1 任务结构 3.1.2 进度表 3.1.3 文件和节点 3.1.4 动态内存管理 3.1.5 队列和信号标志 3.1.6 系统时间和定时期 3.2 主要算法 3.2.1 信号 3.2.2 硬件中断 3.2.3 软件中断 3.2.4 启动系统 3.2.5 定时期中断 3.2.6 调度程序 3.3 系统调用的实现 3.3.1 系统调用的实际工作原理 3.3.2 简单系统调用的例子 3.3.3 更复杂的系统条用的例子第4章 内存管理 4.1 内存管理 4.1.1 独立系统结构的内存模型 4.1.2 虚拟地址空间 4.1.3 转换线性地址 4.1.4 页面目录 4.1.5 页面表 4.2 进程的虚拟地址空间 4.2.1 用户段 4.2.2 虚拟内存区域 4.2.3 系统调用brk 4.2.4 映射函数 4.2.5 内核段 4.2.6 引导过程中内核段中的内存分配 4.2.7 内核段中的动态内存管理 4.3 块设备告诉缓存 4.3.1 快缓存 4.3.2 bdflush和kupdate 4.3.3 用语缓冲存储器的列表结构 4.3.4 使用缓冲存储器 4.4 Linux系统下的分页技术 4.4.1 内存管理和高速缓冲存储器 4.4.2 预定一个内存页面 4.4.3 通过内核线程优化内存页面管理 4.4.4 页面错误和重新载入页面第5章 进程间的通信 5.1 内核中的同步 5.2 通过文件通信 5.2.1 锁定整个文件 5.2.2 锁定文件区域 5.3 管道 5.4 使用ptrace调试 5.5 System V中的进程间通信(IPC) 5.5.1 访问权限、号码和关键字 5.5.2 信号标志 5.5.3 消息队列 5.6 使用套接字的IPC 5.6.1 一个简单的例子 5.6.2 UNIX城套接字的实现第6章 Linux文件系统 6.1 基本原理 6.2 内核中文件系统的表示 6.2.1 装载 6.2.2 超代码块 6.2.3 超代码块操作 6.2.4 目录缓冲器 6.2.5 Denty操作 6.2.6 i节点 6.2.7 i节点操作 6.2.8 文件结构 6.2.9 文件操作 6.2.10 打开文件 6.3 Ext2文件系统 6.3.1 Ext2文件系统的结构 6.3.2 Ext2文件系统中的的目录 6.3.3 Ext2文件系统中代码块的分配 6.3.4 Ext2文件系统的扩充 6.4 Proc文件系统的结构 6.4.1 Proc文件系统的结构 6.4.2 Proc文件系统的实现第7章 Linux下的设备驱动程序 7.1 字符设备和代码块设备 7.2 硬件 7.2.1 端口I/O 7.2.2 ISA即插即用 7.2.3 恐龙--ISA总线 7.2.4 ISA即插即用 7.3 查询、中断和等待队列 7.3.1 查询 7.3.2 中断模式 7.3.3 中断共享 7.3.4 软件中断 7.3.5 下半部--较低的中断一半 7.3.6 任务队列 7.3.7 计时器 7.4 实现驱动程序 7.4.1 PC扬声器驱动程序 7.4.2 一个简单的驱动程序 7.4.3 setup函数 7.4.4 init 7.4.5 打开和释放 7.4.6 读取和写入 7.4.7 IOCTL 7.4.8 poll 7.4.9 Llsee 7.4.10 Mmsp 7.4.11 Fasync 7.4.12 Readdir及Fsync 7.5 动态驱动程序和静态驱动程序第8章 网络实现方式 8.1 导言和概述 8.1.1 网络实现方式的层模型 8.1.2 将A中的数据转移到B 8.2 一些重要的结构 8.2.1 套接字结构 8.2.2 sk_buff结构--网络中的缓冲区管理 8.2.3 INET套接字--套接字的一个特殊部分 8.2.4 proto结构中的协议操作 8.2.5 套接字地址的一般结构 8.3 Linuc下的网络设备 8.3.1 以太网 8.3.2 SLIP和PLIP 8.3.3 回送设备 8.3.4 哑设备 8.3.5 示例设备第9章 模块和调试 9.1 什么是模块 9.2 内核中的实现 9.3 模块和内核的对象片断的含义 9.4 参量的传输和示例 9.5 模块能实现什么 9.6 内核守护程序 9.7 模块之间的简单交换 9.8 示例模块 9.9 调试 9.9.1 更改是末尾的开始 9.9.2 最好的调试器--prentk() 9.9.3 使用gdb进行测试 第10章 多重处理 10.1 英特尔多重处理规范 10.2 多重处理器系统存在的问题 10.3 内核的改动 10.3.1 内核初始化 10.3.2 调度 10.3.3 中断处理 10.4 原子操作 10.4.1 原子数据类型 10.4.2 访问原子数据类型 10.4.3 改变和检测原子变量 10.5 旋转锁定 10.5.1 访问函数 10.5.2 读写旋转锁定附录A 系统调用附录B 内核的相关命令附录C PROC文件系统附录D 引导进程附录E 有用的内核函数
本书特色: 多位Linux专家参与编写; 全面覆盖Linux2.4的完整内容; 完整介绍内核结构和Linux操作系统的核心知识; 提供丰富的Linux项目程序和文档; 在www.tupwq.net提供源代码。
无
还算好拉
对于应用程序层编程的人,这本书参考意义不大。如果希望了解Linux内核,不妨看linux内核1.0版本的一本书。从简单入手开始了解。对于整天和内核打交道的人,或许是个比较不错的参考指南~~~
翻译的不是很到为,作为一本指南的书来看可以
这书估计放了好久了,表面全是灰。。。
这本书翻译得很不专业,看起来很晦涩。