图书介绍

Linux内核编程指南 第3版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

Linux内核编程指南 第3版
  • Michael Beck等著;张瑜,杨继萍等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:730209294X
  • 出版时间:2004
  • 标注页数:372页
  • 文件大小:34MB
  • 文件页数:386页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux内核编程指南 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Linux操作系统简介1

目录1

1.1 主要特点2

3.1.1 任务结构 13

1.2 Linux产品4

第2章 编译内核5

2.1 所有的东西在哪里5

2.2 编译过程7

2.3 额外的配置工具8

第3章 内核入门10

3.1 重要的数据结构13

3.1.2 进程表20

3.1.3 文件和节点21

3.1.4 动态内存管理23

3.1.5 队列和信号标志23

3.1.6 系统时间和定时器25

3.2 主要的算法26

3.2.1 信号26

3.2.2 硬件中断27

3.2.4 启动系统28

3.2.3 软件中断28

3.2.5 定时器中断30

3.2.6 调度程序32

3.3 系统调用的实现35

3.3.1 系统调用的实际工作原理35

3.3.2 简单系统调用的例子36

3.3.3 更复杂的系统调用的例子38

第4章 内存管理46

4.1 独立于体系结构的内存模型47

4.1.1 内存页面47

4.1.2 虚拟地址空间48

4.1.3 转换线性地址50

4.1.4 页面目录51

4.1.5 页面表52

4.2 进程的虚拟地址空间55

4.2.1 用户段55

4.2.2 虚拟内存区域56

4.2.3 系统调用brk59

4.2.4 映射函数59

4.2.5 内核段60

4.2.6 引导过程中内核段中的内存分配60

4.2.7 内核段中的动态内存管理61

4.3 块设备高速缓存63

4.3.1 块缓冲63

4.3.2 bdflush和kupdate65

4.3.3 用于缓冲存储器的列表结构66

4.3.4 使用缓冲存储器66

4.4 Linux系统下的分页技术67

4.4.1 内存管理和高速缓冲存储器69

4.4.2 预定一个内存页面71

4.4.3 通过内核线程优化内存页面管理73

4.4.4 页面错误和重新载入页面73

第5章 进程间的通信76

5.1 内核中的同步78

5.2 通过文件通信81

5.2.1 锁定整个文件82

5.2.2 锁定文件区域83

7.4.9 Llseek 185

5.3 管道86

5.4 使用ptrace调试88

5.5 System V中的进程间通信(IPC)91

5.5.1 访问权限、号码和关键字91

5.5.2 信号标志92

5.5.3 消息队列95

5.5.4 共享内存98

5.5.5 ipcs和ipcrm命令100

5.6 使用套接字的IPC101

5.6.1 一个简单的例子102

5.6.2 UNIX域套接字的实现105

第6章 Linux文件系统108

6.1 基本原理108

6.2 内核中文件系统的表示110

6.2.1 装载112

6.2.2 超代码块113

6.2.3 超代码块操作114

6.2.4 目录缓存器116

6.2.5 DEntry操作118

6.2.6 i节点118

6.2.7 i节点操作120

6.2.8 文件结构122

6.2.9 文件操作123

6.2.10 打开文件126

6.3 Ext2文件系统129

6.3.1 Ext2文件系统的结构130

6.3.2 Ext2文件系统中的目录132

6.3.3 Ext2文件系统中代码块的分配133

6.3.4 Ext2文件系统的扩充133

6.4 Proc文件系统135

6.4.1 Proc文件系统的结构135

6.4.2 Proc文件系统的实现136

第7章 Linux下的设备驱动程序141

7.1 字符设备和代码块设备142

7.2 硬件143

7.2.1 端口I/O143

7.2.2 PCI总线144

7.2.3 恐龙——ISA总线153

7.2.4 ISA即插即用159

7.3 查询、中断和等待队列164

7.3.1 查询164

7.3.2 中断模式165

7.3.3 中断共享167

7.3.4 软件中断167

7.3.5 下半部——较低的中断一半168

7.3.6 任务队列169

7.3.7 计时器170

7.4.1 PC扬声器驱动程序171

7.4 实现驱动程序171

7.4.2 一个简单的驱动程序174

7.4.3 setup函数175

7.4.4 init177

7.4.5 打开和释放178

7.4.6 读取和写入179

7.4.7 IOCTL181

7.4.8 Poll183

7.4.10 Mmsp185

7.4.11 Fasync186

7.4.12 Readdir及Fsync189

7.5 动态驱动程序和静态驱动程序189

第8章 网络实现方式191

8.1 导言和概述191

8.1.1 网络实现方式的层模型192

8.1.2 将A中的数据转移到B193

8.2 一些重要的结构196

8.2.1 套接字结构196

8.2.2 sk_buff结构——网络中的缓冲区管理197

8.2.3 INET套接字——套接字的一个特殊部分200

8.2.4 proto结构中的协议操作204

8.2.5 套接字地址的一般结构205

8.3 Linux下的网络设备206

8.3.1 以太网211

8.3.2 SLIP和PLIP212

8.3.3 回送设备213

8.3.4 哑设备213

8.3.5 示例设备213

9.2 内核中的实现216

9.1 什么是模块216

第9章 模块和调试216

9.3 模块和内核的对象片断的含义219

9.4 参量的传输和示例221

9.5 模块能实现什么222

9.6 内核守护程序222

9.7 模块之间的简单交换223

9.8 示例模块223

9.9 调试224

9.9.1 更改是末尾的开始225

9.9.3 使用gdb进行调试226

9.9.2 最好的调试器——printk()226

10.1 英特尔多重处理规范228

第10章 多重处理228

10.2 多重处理器系统存在的问题229

10.3 内核的改动230

10.3.1 内核初始化230

10.3.2 调度230

10.4.1 原子数据类型231

10.4.2 访问原子数据类型231

10.4 原子操作231

10.3.3 中断处理231

10.4.3 改变和检测原子变量232

10.5 旋转锁定232

10.5.1 访问函数232

10.5.2 读写旋转锁定233

附录A 系统调用234

附录B 内核的相关命令310

附录C PROC文件系统338

附录D 引导进程352

附录E 有用的内核函数361

热门推荐