Linux内核编程指南(第3版)

Linux内核编程指南(第3版)
作 者: Michael Beck 张瑜 杨继萍 张瑜
出版社: 清华大学出版社
丛编项: 国外计算机科学经典教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Linux
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Linux内核编程指南(第3版)》作者简介

内容简介

本书特色:·多位Linux专家参与编写·全面覆盖Linux2.4的完整内容·完整介绍内核结构和Linux操作系统的核心知识·提供丰富的Linux项目程序和文档·在www.tupwq.net提供原代码本书面向希望深入学习这种操作系统的读者,全面介绍了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. 5. 4 共享内存

5. 5. 5 ipcs和ipcrm命令

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 DEntry操作

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 PCI总线

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 Llseek

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 Linux下的网络设备

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 最好的调试器--printk()

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 有用的内核函数