Linux内核设计与实现

Linux内核设计与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Love R.) ,
2006-01
版次: 2
ISBN: 9787111178651
定价: 38.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 289页
原版书名: Linux Kernel Development
228人买过
  •   《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内核设计与实现
LiteOS轻量级物联网操作系统实战 微课视频版
魏杰
Linux内核设计与实现
Linux综合实训案例教程
陈智斌;梁鹏;肖政宏
Linux内核设计与实现
Linux系统自动化运维(Python版)(微课版)
张莉,丁传炜
Linux内核设计与实现
Linux操作系统项目化教程
周秀丽;张徐超;周密
Linux内核设计与实现
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux内核设计与实现
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux内核设计与实现
Linux源码趣读
闪客
Linux内核设计与实现
Linux 内核完全注释(20周年版) 赵炯
赵炯
Linux内核设计与实现
Linux网络操作系统项目式教程(CentOS 7.6)(微课版)(第2版)
刘正,张运嵩,尤澜涛主编
Linux内核设计与实现
Linux高效学习教程:Linux就该这么学+Linux常用命令自学手册
刘遄 刘遄
Linux内核设计与实现
Linux后端开发工程实践
万木春
Linux内核设计与实现
Linux运维从入门到精通
明日科技
您可能感兴趣 / 更多
Linux内核设计与实现
有效地招聘:掌握面试策略、背景调查和入职培训 职场领导力提升系列丛书
[美],保罗·法尔科内(Paul,Falcone)
Linux内核设计与实现
永生的海拉:划时代的癌细胞和时代洪流下的细胞主人一家 外国现当代文学 [美]丽贝卡·思科鲁特 新华正版
[美]丽贝卡·思科鲁特
Linux内核设计与实现
火焰冰封的迷宫(经典福尔摩斯风格侦探小说!“千面人”侦探,邀你一起参与谜之真相的寻找!)
[美]托马斯·W.汉肖
Linux内核设计与实现
憾动力
[美]丹尼尔·平克
Linux内核设计与实现
进阶书系-思考,好与坏:如何用哲学拯救你的逻辑与理性
[美]史蒂文·纳德勒 [美]劳伦斯·夏皮罗
Linux内核设计与实现
漫长的告别(雷蒙德·钱德勒无可争议的代表作,全新修订译本)
[美]雷蒙德·钱德勒
Linux内核设计与实现
喜欢写作的女孩:简·奥斯丁如何找到自己的声音
[美]贾丝明·A.斯特林
Linux内核设计与实现
丧钟为谁而鸣(是海明威广为流传的长篇代表之一,文学与历史的宿命相遇)
[美]欧内斯特·海明威
Linux内核设计与实现
甲骨文丛书·常识:一部政治史
[美]索菲娅·罗森菲尔德
Linux内核设计与实现
露莉的中国茶(一杯中国茶,建立起沟通的桥梁,为孩子打开看世界的眼光)
[美]陈郁如 著,[美]廉惠媛 绘,常立 黎亮 译 青豆书坊 出品
Linux内核设计与实现
寂静的剧场:霍珀画谈(“眼与心”,美国普利策诗歌奖得主与桂冠诗人马克?斯特兰德谈论大画家霍珀)
[美] 马克?斯特兰德(Mark Strand) 著
Linux内核设计与实现
狼王四部曲之二:21号狼的统治(《8号狼的崛起》重磅续集!黄石国家公园伟大的狼王21号的传奇故事!)
[美]瑞克·麦金提尔