841 页的《深入理解 Linux内核》堪称经典,时隔多年打开,泛黄的纸张上面仍然跳跃出一个个让人心潮澎湃的知识点,突然让我想起一位微信朋友的昵称:知识的舔狗!
拆,开始~
前言
第一章 绪论
Linux与其他类Unix内核的比较
硬件的依赖性
Linux版本
操作系统基本概念
Unix文件系统概述
Unix内核概述
第二章 内存寻址
内存地址
硬件中的分段
Linux中的分段
硬件中的分页
Linux中的分页
第三章 进程
进程、轻量级进程和线程
进程描述符
进程切换
创建进程
撤消进程
第四章 中断和异常
中断信号的作用
中断和异常
中断和异常处理程序的嵌套执行
初始化中断描述符表
异常处理
中断处理
软中断及tasklet
工作队列
从中断和异常返回
第五章 内核同步
内核如何为不同的请求提供服务
同步原语
对内核数据结构的同步访问
避免竞争条件的实例
第六章 定时测量
时钟和定时器电路
Linux计时体系结构
更新时间和日期
更新系统统计数
软定时器和延迟函数
与定时测量相关的系统调用
第七章 进程调度
调度策略
调度算法
调度程序所使用的数据结构
调度程序所使用的函数
多处理器系统中运行队列的平衡
与调度相关的系统调用
第八章 内存管理
页框管理
内存区管理
非连续内存区管理
第九章 进程地址空间
进程的地址空间
内存描述符
线性区
缺页异常处理程序
创建和删除进程的地址空间
堆的管理
第十章 系统调用
POSIX API和系统调用
系统调用处理程序及服务例程
进入和退出系统调用
参数传递
内核封装例程
第十一章 信号
信号的作用
产生信号
传递信号
与信号处理相关的系统调用
第十二章 虚拟文件系统
虚拟文件系统(VFS)的作用
VFS的数据结构
文件系统类型
文件系统处理
路径名查找
VFS系统调用的实现
文件加锁
第十三章 I/O体系结构和设备驱动程序
I/O体系结构
设备驱动程序模型
设备文件
设备驱动程序
字符设备驱动程序
第十四章 块设备驱动程序
块设备的处理
通用块层
I/O调度程序
块设备驱动程序
打开块设备文件
第十五章 页高速缓存
页高速缓存
把块存放在页高速缓存中
把脏页写入磁盘
sync()、fsync()和fdatasync()系统调用
第十六章 访问文件
读写文件
内存映射
直接I/O传送
异步I/O
第十七章 回收页框
页框回收算法
反向映射
PFRA实现
交换
第十八章 Ext2和Ext3文件系统
Ext2的一般特征
Ext2磁盘数据结构
Ext2的内存数据结构
创建Ext2文件系统
Ext2的方法
管理Ext2磁盘空间
Ext3文件系统
第十九章 进程通信
管道
FIFO
System V IPC
POSIX消息队列
第二十章 程序的执行
可执行文件
可执行格式
执行域
exec函数
附录一 系统启动
附录二 模块
附录
《深入理解Linux内核》第三版是2007年中国电力出版社出版的图书。将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。