Linux内核设计与实现

Linux内核设计与实现
8.7
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Love R.)
出版社: 机械工业出版社
2006-01
版次: 2
ISBN: 9787111178651
定价: 38.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 289页
原版书名: Linux Kernel Development
  •   《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。
      本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。   拉芙(RobertLove)是开源社区的名人,很早就开始使用Linux他活跃于Linux内核和GNOME两个社区。最近,他受聘于Novell公司,作为高级内核工程师在ximian桌面组工作。他的内核项目包括抢占式内核、进程调度程序、内核事件层、VM增强以及多任务处理性能优化。他创建和维护的另外两个开源项目是schedutils和GNOME卷管理器。此外,LinuxJournal杂志的特邀编辑。 第1章Linux内核简介
    1.1追寻Linus的足迹:Linux简介
    1.2操作系统和内核简介
    1.3Linux内核和传统Unix内核的比较
    1.4Linux内核版本
    1.5Linux内核开发者社区
    1.6小结
    第2章从内核出发
    2.1获取内核源码
    2.2内核源码树
    2.3编译内核
    2.4内核开发的特点
    2.5小结
    第3章进程管理
    3.1进程描述符及任务结构
    3.2进程创建
    3.3线程在Linux中的实现
    3.4进程终结
    3.5进程小结
    第4章进程调度
    4.1策略
    4.2Linux调度算法
    4.3抢占和上下文切换
    4.4实时
    4.5与调度相关的系统调用
    4.6调度程序小结
    第5章系统调用
    5.1API、POSIX和C库
    5.2系统调用
    5.3系统调用处理程序
    5.4系统调用的实现
    5.5系统调用上下文
    5.6系统调用小结
    第6章中断和中断处理程序
    6.1中断
    6.2中断处理程序
    6.3注册中断处理程序
    6.4编写中断处理程序
    6.5中断上下文
    6.6中断处理机制的实现
    6.7中断控制
    6.8别打断我,马上结束
    第7章下半部和推后执行的工作
    7.1下半部
    7.2软中断
    7.3tasklet
    7.4工作队列
    7.5下半部机制的选择
    7.6在下半部之间加锁
    7.7下半部处理小结
    第8章内核同步介绍
    8.1临界区和竞争条件
    8.2加锁
    8.3死锁
    8.4争用和扩展性
    8.5小结
    第9章内核同步方法
    9.1原子操作
    9.2自旋锁
    9.3读-写自旋锁
    9.4信号量
    9.5读-写信号量
    9.6自旋锁与信号量
    9.7完成变量
    9.8BKL
    9.9禁止抢占
    9.10顺序和屏障
    9.11小结
    第10章定时器和时间管理
    10.1内核中的时间概念
    10.2节拍率:HZ
    10.3jiffies
    10.4硬时钟和定时器
    10.5时钟中断处理程序
    10.6实际时间
    10.7定时器
    10.8延迟执行
    10.9小结
    第11章内存管理
    11.1页
    11.2区
    11.3获得页
    11.4kmalloc()
    11.5vmalloc()
    11.6slab层
    11.7slab分配器的接口
    11.8在栈上的静态分配
    11.9高端内存的映射
    11.10每个CPU的分配
    11.11新的每个CPU接口
    11.12使用每个CPU数据的原因
    11.13分配函数的选择
    第12章虚拟文件系统
    12.1通用文件系统接口
    12.2文件系统抽象层
    12.3Unix文件系统
    12.4VFS对象及其数据结构
    12.5超级块对象
    12.6索引节点对象
    12.7目录项对象
    12.8文件对象
    12.9和文件系统相关的数据结构
    12.10和进程相关的数据结构
    12.11Linux中的文件系统
    第13章块I/O层
    13.1解剖一个块设备
    13.2缓冲区和缓冲区头
    13.3bio结构体
    13.4请求队列
    13.5I/O调度程序
    13.6小结
    第14章进程地址空间
    14.1内存描述符
    14.2内存区域
    14.3操作内存区域
    14.4mmap()和do_mmap():创建地址区间
    14.5munmap()和do_munmap():删除地址区间
    14.6页表
    14.7小结
    第15章页高速缓存和页回写
    15.1页高速缓存
    15.2基树
    15.3缓冲区高速缓存
    15.4pdflush后台例程
    15.5小结
    第16章模块
    16.1构建模块
    16.2安装模块
    16.3产生模块依赖性
    16.4载入模块
    16.5管理配置选项
    16.6模块参数
    16.7导出符号表
    16.8小结
    第17章kobject与sysfs
    17.1kobject
    17.2ktype
    17.3kset
    17.4subsystem
    17.5别混淆了这些结构体
    17.6管理和操作kobject
    17.7引用计数
    17.8sysfs
    17.9内核事件层
    17.10小结
    第18章调试
    18.1调试前需要准备什么
    18.2内核中的bug
    18.3printk()
    18.4oops
    18.5内核调试配置选项
    18.6引发bug并打印信息
    18.7神奇的SysRq
    18.8内核调试器的传奇
    18.9刺探系统
    18.10用二分查找法找出引发灾难的变更
    18.11当所有的努力都失败时
    第19章可移植性
    19.1Linux的可移植性
    19.2字长和数据类型
    19.3数据对齐
    19.4字节顺序
    19.5时间
    19.6页长度
    19.7处理器排序
    19.8SMP、内核抢占、高端内存
    19.9小结
    第20章补丁、开发和社区
    20.1社区
    20.2Linux编码风格
    20.3管理系统
    20.4提交错误报告
    20.5创建补丁
    20.6提交补丁
    20.7小结
    附录A链表
    附录B内核随机数产生器
    附录C复杂度算法
    参考资料
  • 内容简介:
      《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。
      本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
  • 作者简介:
      拉芙(RobertLove)是开源社区的名人,很早就开始使用Linux他活跃于Linux内核和GNOME两个社区。最近,他受聘于Novell公司,作为高级内核工程师在ximian桌面组工作。他的内核项目包括抢占式内核、进程调度程序、内核事件层、VM增强以及多任务处理性能优化。他创建和维护的另外两个开源项目是schedutils和GNOME卷管理器。此外,LinuxJournal杂志的特邀编辑。
  • 目录:
    第1章Linux内核简介
    1.1追寻Linus的足迹:Linux简介
    1.2操作系统和内核简介
    1.3Linux内核和传统Unix内核的比较
    1.4Linux内核版本
    1.5Linux内核开发者社区
    1.6小结
    第2章从内核出发
    2.1获取内核源码
    2.2内核源码树
    2.3编译内核
    2.4内核开发的特点
    2.5小结
    第3章进程管理
    3.1进程描述符及任务结构
    3.2进程创建
    3.3线程在Linux中的实现
    3.4进程终结
    3.5进程小结
    第4章进程调度
    4.1策略
    4.2Linux调度算法
    4.3抢占和上下文切换
    4.4实时
    4.5与调度相关的系统调用
    4.6调度程序小结
    第5章系统调用
    5.1API、POSIX和C库
    5.2系统调用
    5.3系统调用处理程序
    5.4系统调用的实现
    5.5系统调用上下文
    5.6系统调用小结
    第6章中断和中断处理程序
    6.1中断
    6.2中断处理程序
    6.3注册中断处理程序
    6.4编写中断处理程序
    6.5中断上下文
    6.6中断处理机制的实现
    6.7中断控制
    6.8别打断我,马上结束
    第7章下半部和推后执行的工作
    7.1下半部
    7.2软中断
    7.3tasklet
    7.4工作队列
    7.5下半部机制的选择
    7.6在下半部之间加锁
    7.7下半部处理小结
    第8章内核同步介绍
    8.1临界区和竞争条件
    8.2加锁
    8.3死锁
    8.4争用和扩展性
    8.5小结
    第9章内核同步方法
    9.1原子操作
    9.2自旋锁
    9.3读-写自旋锁
    9.4信号量
    9.5读-写信号量
    9.6自旋锁与信号量
    9.7完成变量
    9.8BKL
    9.9禁止抢占
    9.10顺序和屏障
    9.11小结
    第10章定时器和时间管理
    10.1内核中的时间概念
    10.2节拍率:HZ
    10.3jiffies
    10.4硬时钟和定时器
    10.5时钟中断处理程序
    10.6实际时间
    10.7定时器
    10.8延迟执行
    10.9小结
    第11章内存管理
    11.1页
    11.2区
    11.3获得页
    11.4kmalloc()
    11.5vmalloc()
    11.6slab层
    11.7slab分配器的接口
    11.8在栈上的静态分配
    11.9高端内存的映射
    11.10每个CPU的分配
    11.11新的每个CPU接口
    11.12使用每个CPU数据的原因
    11.13分配函数的选择
    第12章虚拟文件系统
    12.1通用文件系统接口
    12.2文件系统抽象层
    12.3Unix文件系统
    12.4VFS对象及其数据结构
    12.5超级块对象
    12.6索引节点对象
    12.7目录项对象
    12.8文件对象
    12.9和文件系统相关的数据结构
    12.10和进程相关的数据结构
    12.11Linux中的文件系统
    第13章块I/O层
    13.1解剖一个块设备
    13.2缓冲区和缓冲区头
    13.3bio结构体
    13.4请求队列
    13.5I/O调度程序
    13.6小结
    第14章进程地址空间
    14.1内存描述符
    14.2内存区域
    14.3操作内存区域
    14.4mmap()和do_mmap():创建地址区间
    14.5munmap()和do_munmap():删除地址区间
    14.6页表
    14.7小结
    第15章页高速缓存和页回写
    15.1页高速缓存
    15.2基树
    15.3缓冲区高速缓存
    15.4pdflush后台例程
    15.5小结
    第16章模块
    16.1构建模块
    16.2安装模块
    16.3产生模块依赖性
    16.4载入模块
    16.5管理配置选项
    16.6模块参数
    16.7导出符号表
    16.8小结
    第17章kobject与sysfs
    17.1kobject
    17.2ktype
    17.3kset
    17.4subsystem
    17.5别混淆了这些结构体
    17.6管理和操作kobject
    17.7引用计数
    17.8sysfs
    17.9内核事件层
    17.10小结
    第18章调试
    18.1调试前需要准备什么
    18.2内核中的bug
    18.3printk()
    18.4oops
    18.5内核调试配置选项
    18.6引发bug并打印信息
    18.7神奇的SysRq
    18.8内核调试器的传奇
    18.9刺探系统
    18.10用二分查找法找出引发灾难的变更
    18.11当所有的努力都失败时
    第19章可移植性
    19.1Linux的可移植性
    19.2字长和数据类型
    19.3数据对齐
    19.4字节顺序
    19.5时间
    19.6页长度
    19.7处理器排序
    19.8SMP、内核抢占、高端内存
    19.9小结
    第20章补丁、开发和社区
    20.1社区
    20.2Linux编码风格
    20.3管理系统
    20.4提交错误报告
    20.5创建补丁
    20.6提交补丁
    20.7小结
    附录A链表
    附录B内核随机数产生器
    附录C复杂度算法
    参考资料
查看详情
好书推荐 / 更多
Linux内核设计与实现
20世纪思想史:从弗洛伊德到互联网
[英]彼得·沃森 著;杨阳 译;张凤
Linux内核设计与实现
想象一朵未来的玫瑰
[葡]费尔南多·佩索阿 著;杨铁军 译
Linux内核设计与实现
语言与死亡/当代激进思想家译丛
[意]吉奥乔·阿甘本 著
Linux内核设计与实现
爸爸妈妈,请做我的摄影师:十万父母拍娃智慧分享儿童摄影
枫糖盒子 著
Linux内核设计与实现
陈规再造:巫鸿美术史文集卷三
[美]巫鸿 著;郑岩 编
Linux内核设计与实现
另一个世界:中国记忆1961-1962
[瑞典]林西莉 著;李之义 译
Linux内核设计与实现
生活,在别处:海明威影像集
鲍里斯·维多夫斯基 著;吴天楚 译;[美国]玛瑞儿·海明威;高方;王天宇
Linux内核设计与实现
大西洋的故事
[英]西蒙·温彻斯特(Simon Winchester) 著
Linux内核设计与实现
图说勃鲁盖尔
[日]冈部纮三 著;曹逸冰 译
Linux内核设计与实现
巴别塔(我要世界都听见我的声音,我曾被压抑,但绝不沉默。)(读客外国小说文库)
[英]A.S.拜厄特 著;王一鸣 译
Linux内核设计与实现
四十二年,我的"恶邻"李敖大师
林恒范 著;[中国台湾]林丽蘋 口述
Linux内核设计与实现
灭绝与演化:化石中的生命全史
[美]尼尔斯·艾崔奇 著;周亚纯 译;董丽萍