注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统LinuxLinux内核设计与实现(第二版)

Linux内核设计与实现(第二版)

Linux内核设计与实现(第二版)

定 价:¥38.00

作 者: (美)拉芙(Love,R.) 著,陈莉君 等译;陈莉君译
出版社: 机械工业出版社
丛编项:
标 签: Linux

ISBN: 9787111178651 出版时间: 2006-01-01 包装: 胶版纸
开本: 小16开 页数: 289 字数:  

内容简介

  本书基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、系统调用?中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。.本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。..本书填补了Linux内核理论和实践细节之间的鸿沟。本书针对Linux2.6内核,包括0(1)调度程序、抢占式内核。块I/O层以及I/O调度程序等。本书还包含了Linux内核开发者在开发时需要用到的很多信息,包括调试技术、编程风格、注意事项等等。如果你是一名Linux内核爱好者,本书的内容可以帮助你大显身手。如果你是一名普通程序员,本书的内容将会拓宽你的编程思路。如果你初次接触Linux内核,本书则可以帮助你对内核各个核心子系统有一个整体把握。...

作者简介

  RobertLove,是开源社区的名人,很早就开始使用Linux。他活跃于Linux内核和GNOME两个社区。最近,他受聘于Novell公司,作为高级内核工程师在Ximian桌面组工作。他的内核项目包括抢占式内核、进程调度程序、内核事件层、VM增强以及多任务处理性能优化。他创建和维护的另外两个开源项目是schedutils和GNOME卷管理器。此外,他还是LinuxJournal杂志的特邀编辑。陈莉君,西安邮电学院副教授,自1998年以来一直致力于推动Linux在中国的发展,多年从事Linux内核研究并积极跟踪Linux内核发展动向,对Linux内核版本的不断演化有着深刻的理解。著译作品有《Linux操作系统内核分析》(2.0版本)、《深入分析Linux内核源代码》(2.2、2.4版本)和《深入理解Linux内核》(2.4版本)等。

图书目录

第1章  Linux内核简介        
  1.1  追寻Linus的足迹:Linux简介        
  1.2  操作系统和内核简介        
  1.3  Linux内核和传统Unix内核的比较        
  1.4  Linux内核版本        
  1.5  Linux内核开发者社区        
  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.2  Linux调度算法     
  4.3  抢占和上下文切换   
  4.4  实时        
  4.5  与调度相关的系统调用  
  4.6  调度程序小结        
第5章  系统调用        
  5.1  API、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.3  tasklet      
  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.8  BKL        
  9.9  禁止抢占        
  9.10  顺序和屏障        
  9.11  小结        
第10章  定时器和时间管理        
  10.1  内核中的时间概念        
  10.2  节拍率:HZ        
  10.3  jiffies       
  10.4  硬时钟和定时器  
  10.5  时钟中断处理程序        
  10.6  实际时间        
  10.7  定时器        
  10.8  延迟执行       
  10.9  小结        
第11章  内存管理        
  11.1  页        
  11.2  区        
  11.3  获得页       
  11.4  kmalloc()       
  11.5  vmalloc()        
  11.6  slab层        
  11.7  slab分配器的接口        
  11.8  在栈上的静态分配        
  11.9  高端内存的映射   
  11.10  每个CPU的分配        
  11.11  新的每个CPU接口       
  11.12  使用每个CPU数据的原因        
  11.13  分配函数的选择        
第12章  虚拟文件系统        
  12.1  通用文件系统接口        
  12.2  文件系统抽象层        
  12.3  Unix 文件系统        
  12.4  VFS 对象及其数据结构        
  12.5  超级块对象        
  12.6  索引节点对象        
  12.7  目录项对象      
  12.8  文件对象        
  12.9  和文件系统相关的数据结构        
  12.10  和进程相关的数据结构        
  12.11  Linux中的文件系统        
第13章  块I/O层        
  13.1  解剖一个块设备        
  13.2  缓冲区和缓冲区头        
  13.3  bio结构体        
  13.4  请求队列        
  13.5  I/O调度程序     
  13.6  小结        
第14章  进程地址空间        
  14.1  内存描述符       
  14.2  内存区域       
  14.3  操作内存区域            
  14.4  mmap()和do_mmap():创建地址区间        
  14.5  munmap()和do_munmap():删除地址区间        
  14.6  页表        
  14.7  小结        
第15章  页高速缓存和页回写       
  15.1  页高速缓存        
  15.2  基树        
  15.3  缓冲区高速缓存      
  15.4  pdflush后台例程   
  15.5  小结        
第16章  模块        
  16.1  构建模块       
  16.2  安装模块        
  16.3  产生模块依赖性        
  16.4  载入模块        
  16.5  管理配置选项        
  16.6  模块参数        
  16.7  导出符号表        
  16.8  小结        
第17章  kobject与sysfs        
  17.1  kobject        
  17.2  ktype        
  17.3  kset        
  17.4  subsystem        
  17.5  别混淆了这些结构体        
  17.6  管理和操作kobject        
  17.7  引用计数        
  17.8  sysfs        
  17.9  内核事件层        
  17.10  小结        
第18章  调试        
  18.1  调试前需要准备什么        
  18.2  内核中的bug        
  18.3  printk()               
  18.4  oops        
  18.5  内核调试配置选项        
  18.6  引发bug并打印信息        
  18.7  神奇的SysRq        
  18.8  内核调试器的传奇   
  18.9  刺探系统        
  18.10  用二分查找法找出引发灾难的变更        
  18.11  当所有的努力都失败时        
第19章  可移植性        
  19.1  Linux的可移植性        
  19.2  字长和数据类型      
  19.3  数据对齐        
  19.4  字节顺序       
  19.5  时间        
  19.6  页长度        
  19.7  处理器排序        
  19.8  SMP、内核抢占、高端内存        
  19.9  小结        
第20章  补丁、开发和社区        
  20.1  社区        
  20.2  Linux编码风格       
  20.3  管理系统        
  20.4  提交错误报告        
  20.5  创建补丁        
  20.6  提交补丁        
  20.7  小结        
附录A  链表        
附录B  内核随机数产生器        
附录C  复杂度算法        
参考资料

本目录推荐