Linux内核设计与实现

Linux内核设计与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Love R.) ,
2006-01
版次: 2
ISBN: 9787111178651
定价: 38.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 289页
原版书名: Linux Kernel Development
221人买过
  •   《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操作系统项目化教程
周秀丽;张徐超;周密
Linux内核设计与实现
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux内核设计与实现
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux内核设计与实现
Linux虚拟化——原理、方法和实战(KVM+Docker+OpenStack)
吴光科;李建尧;柯宇霖
Linux内核设计与实现
Linux源码趣读
闪客
Linux内核设计与实现
Linux自动化运维实战(Linux开发书系)
吴光科;彭威城;文·S
Linux内核设计与实现
Linux云计算——Kubernetes实战
吴光科;程浩;刑亚飞
Linux内核设计与实现
Linux运维从入门到精通
明日科技
Linux内核设计与实现
Linux操作系统项目化教程(第2版)
洪伟 主编;丁传炜 谢鹏 副主编
Linux内核设计与实现
Linux企业高性能架构实战
吴光科;曹森;赵瑞丰
您可能感兴趣 / 更多
Linux内核设计与实现
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
Linux内核设计与实现
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
Linux内核设计与实现
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
Linux内核设计与实现
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
Linux内核设计与实现
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
Linux内核设计与实现
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
Linux内核设计与实现
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
Linux内核设计与实现
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
Linux内核设计与实现
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
Linux内核设计与实现
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
Linux内核设计与实现
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
Linux内核设计与实现
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘