《Linux 原理与结构》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郭玉东,尹青,董卫宇编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2012
  • ISBN:9787560627465
  • 页数:342 页
图书介绍:本书以最新的Linux代码为基础,全面、深入地讨论了Linux各主要组成部分的结构、原理及演变历程,是对作者多年从事操作系统教学与科研工作的总结。全书包括Linux概述、平台与工具、引导与初始化、中断处理、时钟管理、物理内存管理、进程管理、虚拟内存管理、互斥与同步、进程间通信、虚拟文件系统、物理文件系统、设备管理、电源管理等十四章,其主要内容已在实际教学工作中使用。

第一章 Linux概述 1

1.1操作系统内核 1

1.2 Linus与Linux 3

1.3 Linux内核结构 6

1.4 Linux发布 10

1.5 Unix与Linux哲学 12

思考题 21

第二章 平台与工具 22

2.1硬件平台 22

2.2 Intel处理器体系结构 23

2.2.1处理器操作模式 23

2.2.2段页式内存管理 24

2.2.3内存管理的变化与扩展 28

2.2.4内存保护 29

2.2.5进程管理 30

2.2.6中断处理 31

2.2.7 APIC 33

2.2.8处理器初始化 34

2.2.9寄存器与特权指令 35

2.3 GNU C语言 36

2.4 GNU汇编语言 38

2.4.1 GNU汇编格式 38

2.4.2 AT&T指令语法 40

2.4.3 GNU内嵌汇编 41

2.5 GNU链接脚本 43

2.6常用数据结构 45

2.6.1通用链表 45

2.6.2红黑树 46

思考题 48

第三章 引导与初始化 49

3.1内核引导 49

3.2实模式初始化 51

3.3内核解压缩 52

3.4内核预初始化 53

3.5第0级初始化 56

3.6第1级初始化 74

3.7 AP初始化 81

思考题 82

第四章 中断处理 83

4.1中断处理流程 83

4.2异常处理 85

4.2.1异常处理流程 86

4.2.2内核异常捕捉 86

4.3外部中断处理 88

4.3.1硬处理管理结构 88

4.3.2设备中断硬处理管理接口 92

4.3.3外部中断硬处理 94

4.3.4外部中断软处理 97

4.4系统调用 101

4.4.1系统调用表 102

4.4.2标准函数库 103

4.4.3系统调用处理 104

4.4.4快速系统调用 105

思考题 107

第五章 时钟管理 108

5.1时钟管理系统组成结构 108

5.2时钟设备管理 109

5.2.1时钟设备管理结构 109

5.2.2 PIT设备 110

5.2.3 HPET设备 111

5.2.4 Local APIC设备 112

5.2.5当前时钟设备 113

5.3计时器管理 114

5.4周期性时钟中断 115

5.4.1周期性时钟中断处理 115

5.4.2时间管理 116

5.4.3定时管理 118

5.5单发式时钟中断 127

5.5.1高精度单发中断模式 127

5.5.2高精度单发式时钟中断处理 128

5.5.3高精度周期性时钟中断仿真 129

5.5.4低精度单发中断模式 130

5.6变频式周期性时钟中断 131

5.6.1变频管理结构 131

5.6.2高精度周期性时钟中断暂停 132

5.6.3低精度周期性时钟中断暂停 133

思考题 134

第六章 物理内存管理 135

6.1内存管理系统组成结构 135

6.2伙伴内存管理 136

6.2.1伙伴内存管理结构 137

6.2.2伙伴内存初始化 141

6.2.3物理页块分配 144

6.2.4内核线性地址分配 146

6.2.5物理页块释放 148

6.3逻辑内存管理 149

6.4对象内存管理 151

6.4.1 Slab管理器 151

6.4.2 Slub管理器 157

6.4.3 Slob管理器 160

思考题 162

第七章 进程管理 164

7.1进程管理结构 164

7.2进程创建 172

7.3进程调度 175

7.3.1 Linux调度器的演变 175

7.3.2普通进程调度类 179

7.3.3实时进程调度类 181

7.3.4空闲进程调度类 183

7.3.5通用调度器 184

7.3.6 Linux调度器的增强 188

7.4进程终止 190

7.4.1子进程退出操作exit 190

7.4.2父进程回收操作wait 191

思考题 192

第八章 虚拟内存管理 193

8.1虚拟内存管理结构 193

8.2虚拟内存区域管理 198

8.2.1虚拟地址空间布局 199

8.2.2虚拟内存区域操作 200

8.3虚拟地址空间建立 202

8.3.1可执行文件 202

8.3.2加载函数 204

8.3.3 ELF文件加载 205

8.3.4动态链接器初始化 208

8.3.5 ELF格式动态链接 208

8.4页故障处理 210

8.4.1页故障异常处理流程 210

8.4.2非法访问页故障处理 211

8.4.3有效用户页故障处理 212

8.4.4有效内核页故障处理 215

8.5页面回收 216

8.5.1页面换出位置 216

8.5.2页面淘汰算法 219

8.5.3页面回收流程 221

8.5.4优化措施 223

思考题 224

第九章 互斥与同步 225

9.1基础操作 225

9.1.1格栅操作 225

9.1.2原子操作 226

9.1.3抢占屏蔽操作 227

9.1.4睡眠与等待操作 228

9.2自旋锁 229

9.2.1自旋锁的概念 229

9.2.2经典自旋锁 230

9.2.3带中断屏蔽的自旋锁 231

9.2.4读写自旋锁 232

9.3序号锁 234

9.4 RCU机制 235

9.4.1 RCU实现思路 235

9.4.2 RCU管理结构 237

9.4.3宽限期启动 241

9.4.4宽限期终止 242

9.5 信号量 243

9.5.1经典信号量 244

9.5.2互斥信号量 245

9.5.3读写信号量 246

9.6信号量集合 248

9.6.1管理结构 249

9.6.2信号量操作 252

思考题 253

第十章 进程间通信 254

10.1信号 254

10.1.1信号定义 254

10.1.2信号管理结构 256

10.1.3信号处理程序注册 257

10.1.4信号发送 258

10.1.5信号处理 260

10.1.6信号接收 263

10.2管道 263

10.2.1管道的意义 264

10.2.2匿名管道 264

10.2.3命名管道 266

10.3消息队列 267

10.3.1 System V消息队列 267

10.3.2 POSIX消息队列 270

10.4共享内存 274

10.4.1共享文件映射 274

10.4.2 POSIX共享内存 276

10.4.3 System V共享内存 279

思考题 280

第十一章 虚拟文件系统 282

11.1虚拟文件系统管理结构 282

11.1.1虚拟文件系统框架 283

11.1.2超级块结构 284

11.1.3索引节点结构 284

11.1.4目录项结构 287

11.2文件系统管理 288

11.2.1文件系统注册 288

11.2.2文件系统安装 289

11.2.3文件系统卸载 293

11.3文件管理 293

11.3.1路径名解析 294

11.3.2文件管理操作 297

11.4文件I/O操作 299

11.4.1文件描述符表 299

11.4.2文件打开与关闭 302

11.4.3文件内容读写 304

11.5文件缓存管理 305

11.5.1缓存管理基数树 305

11.5.2文件地址空间 307

11.5.3缓存管理机制 308

11.5.4文件读写操作 310

思考题 311

第十二章 物理文件系统 312

12.1块设备管理 312

12.1.1块设备的用户表示 313

12.1.2块设备的物理表示 313

12.1.3块设备的逻辑表示 315

12.1.4请求队列 317

12.1.5请求递交 320

12.1.6请求处理 321

12.2 EXT文件系统 321

12.2.1 EXT文件系统布局 322

12.2.2 EXT管理结构 323

12.2.3 EXT逻辑块管理 330

12.2.4 EXT inode管理 333

12.2.5 EXT文件系统类型 335

12.2.6 EXT超级块操作集 335

12.2.7 EXT inode操作集 336

12.2.8 EXT文件操作集 338

12.2.9 EXT地址空间操作集 338

思考题 340

参考文献 341