《深入理解LINUX内核 第3版》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:DanielP.Bovet,MarcoCesati著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2007
  • ISBN:9787508353944
  • 页数:896 页
图书介绍:本书是一本非常优秀的描述Linux内核的书,主要描述了Linux如何与其他著名的Unix系统竞争、内存寻址、进程、中断和异常、内核同步、定时测量、进程调度、内存管理、进程地址空间、系统调用、信号、虚拟文件系统、I/O体系结构和设备驱动程序、块设备驱动程序、页高速缓存、访问文件、回收页框、Ext2和Ext3文件系统、进程通信、程序的执行等内容,通过对上述内容详细透彻地描述,为广大读者揭开了Linux内核的神秘面纱。本书写的系统、透彻,非常适合广大本专科院校学生学习,也是Linux内核开发人员不可缺少的工具书。

前言 1

第一章 绪论 7

Linux与其他类Unix内核的比较 8

硬件的依赖性 12

Linux版本 13

操作系统基本概念 14

Unix文件系统概述 18

Unix内核概述 25

第二章 内存寻址 40

内存地址 40

硬件中的分段 41

Linux中的分段 46

硬件中的分页 50

Linux中的分页 62

第三章 进程 84

进程、轻量级进程和线程 84

进程描述符 85

进程切换 107

创建进程 118

撤消进程 130

第四章 中断和异常 135

中断信号的作用 136

中断和异常 137

中断和异常处理程序的嵌套执行 146

初始化中断描述符表 148

异常处理 151

中断处理 154

软中断及tasklet 174

工作队列 182

从中断和异常返回 186

第五章 内核同步 192

内核如何为不同的请求提供服务 192

同步原语 197

对内核数据结构的同步访问 219

避免竞争条件的实例 224

第六章 定时测量 228

时钟和定时器电路 229

Linux计时体系结构 233

更新时间和日期 240

更新系统统计数 241

软定时器和延迟函数 244

与定时测量相关的系统调用 252

第七章 进程调度 258

调度策略 258

调度算法 261

调度程序所使用的数据结构 266

调度程序所使用的函数 270

多处理器系统中运行队列的平衡 284

与调度相关的系统调用 289

第八章 内存管理 294

页框管理 294

内存区管理 323

非连续内存区管理 343

第九章 进程地址空间 351

进程的地址空间 352

内存描述符 354

线性区 358

缺页异常处理程序 376

创建和删除进程的地址空间 391

堆的管理 394

第十章 系统调用 397

POSIX API和系统调用 397

系统调用处理程序及服务例程 398

进入和退出系统调用 400

参数传递 408

内核封装例程 416

第十一章 信号 418

信号的作用 418

产生信号 431

传递信号 437

与信号处理相关的系统调用 448

第十二章 虚拟文件系统 454

虚拟文件系统(VFS)的作用 454

VFS的数据结构 461

文件系统类型 480

文件系统处理 483

路径名查找 495

VFS系统调用的实现 505

文件加锁 509

第十三章 I/O体系结构和设备驱动程序 518

I/O体系结构 518

设备驱动程序模型 525

设备文件 535

设备驱动程序 539

字符设备驱动程序 550

第十四章 块设备驱动程序 557

块设备的处理 557

通用块层 562

I/O调度程序 568

块设备驱动程序 582

打开块设备文件 591

第十五章 页高速缓存 595

页高速缓存 596

把块存放在页高速缓存中 607

把脏页写入磁盘 618

sync()、fsync()和fdatasync()系统调用 625

第十六章 访问文件 627

读写文件 628

内存映射 652

直接I/O传送 662

异步I/O 665

第十七章 回收页框 670

页框回收算法 670

反向映射 674

PFRA实现 682

交换 704

第十八章 Ext2和Ext3文件系统 729

Ext2的一般特征 729

Ext2磁盘数据结构 732

Ext2的内存数据结构 741

创建Ext2文件系统 744

Ext2的方法 746

管理Ext2磁盘空间 749

Ext3文件系统 757

第十九章 进程通信 766

管道 767

FIFO 778

System V IPC 780

POSIX消息队列 796

第二十章 程序的执行 799

可执行文件 800

可执行格式 814

执行域 817

exec函数 818

附录一 系统启动 825

附录二 模块 832

参考文献 842

源代码索引 847