4.23文创礼盒,买2个减5元 读书月福利
欢迎光临中图网 请 | 注册

深入Linux内核架构

出版社:人民邮电出版社出版时间:2010-06-01
所属丛书: 图灵程序设计丛书
开本: 16开 页数: 1038
读者评分:5分1条评论
中 图 价:¥104.3(7.0折) 定价  ¥149.0 登录后可看到会员价
暂时缺货 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

深入Linux内核架构 版权信息

深入Linux内核架构 本书特色

《深入Linux内核架构》:众所周知,Linux操作系统的源代码复杂、文档少,对程序员的要求高,要想看懂这些代码并不是一件容易事。《深入Linux内核架构》结合内核版本2.6.24源代码中*关键的部分。深入讨论Lirnux内核的概念、结构和实现。具体包括进程管理和调度、虚拟内存、进程间通信、设备驱动程序、虚拟文件系统、网络、时间管理、数据同步等。《深入Linux内核架构》引导你阅读内核源代码,熟悉Lirnux妍有的内在工作机理,充分展现Linux系统的魅力。《深入Linux内核架构》适合Linux系统编程人员、系统管理者以及Linux爱好者学习使用。内容全面深入全球开源社区集体智慧结晶领略Linux内核的绝美风光

深入Linux内核架构 内容简介

本书讨论了linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及虚拟文件系统,ext文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,本书借助内核源代码中*关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现linux系统的魅力。
  本书适合linux内核爱好者阅读。

深入Linux内核架构 目录

第1章 简介和概述 
 1.1 内核的任务 
 1.2 实现策略 
 1.3 内核的组成部分 
  1.3.1 进程、进程切换、调度 
  1.3.2 unix进程 
  1.3.3 地址空间与特权级别 
  1.3.4 页表 
  1.3.5 物理内存的分配 
  1.3.6 计时 
  1.3.7 系统调用 
  1.3.8 设备驱动程序、块设备和字符设备 
  1.3.9 网络 
  1.3.10 文件系统 
  1.3.11 模块和热插拔 
  1.3.12 缓存 
  1.3.13 链表处理 
  1.3.14 对象管理和引用计数 
  1.3.15 数据类型 
  1.3.16 本书的局限性 
 1.4 为什么内核是特别的 
 1.5 行文注记 
 1.6 小结 
第2章 进程管理和调度 
 2.1 进程优先级 
 2.2 进程生命周期 
 2.3 进程表示 
  2.3.1 进程类型 
  2.3.2 命名空间 
  2.3.3 进程id号 
  2.3.4 进程关系 
 2.4 进程管理相关的系统调用 
  2.4.1 进程复制 
  2.4.2 内核线程 
  2.4.3 启动新程序 
  2.4.4 退出进程 
 2.5 调度器的实现 
  2.5.1 概观 
  2.5.2 数据结构 
  2.5.3 处理优先级 
  2.5.4 核心调度器 
 2.6 完全公平调度类 
  2.6.1 数据结构 
  2.6.2 cfs操作 
  2.6.3 队列操作 
  2.6.4 选择下一个进程 
  2.6.5 处理周期性调度器 
  2.6.6 唤醒抢占 
  2.6.7 处理新进程 
 2.7 实时调度类 
2.7.1 性质 
  2.7.2 数据结构 
  2.7.3 调度器操作 
 2.8 调度器增强 
  2.8.1 smp调度 
  2.8.2 调度域和控制组 
  2.8.3 内核抢占和低延迟相关工作 
 2.9 小结 
第3章 内存管理 
 3.1 概述 
3.2 (n)uma模型中的内存组织 
  3.2.1 概述 
  3.2.2 数据结构 
3.3 页表 
  3.3.1 数据结构 
  3.3.2 页表项的创建和操作 
 3.4 初始化内存管理 
  3.4.1 建立数据结构 
  3.4.2 特定于体系结构的设置 
  3.4.3 启动过程期间的内存管理 
 3.5 物理内存的管理 
  3.5.1 伙伴系统的结构 
  3.5.2 避免碎片 
  3.5.3 初始化内存域和结点数据结构 
  3.5.4 分配器api 
  3.5.5 分配页 
  3.5.6 释放页 
  3.5.7 内核中不连续页的分配 
  3.5.8 内核映射 
 3.6 slab分配器 
  3.6.1 备选分配器 
  3.6.2 内核中的内存管理 
  3.6.3 slab分配的原理 
  3.6.4 实现 
  3.6.5 通用缓存 
 3.7 处理器高速缓存和tlb控制 
 3.8 小结 
第4章 进程虚拟内存 
 4.1 简介 
 4.2 进程虚拟地址空间 
  4.2.1 进程地址空间的布局 
  4.2.2 建立布局 
 4.3 内存映射的原理 
  4.4 数据结构 
  4.4.1 树和链表 
  4.4.2 虚拟内存区域的表示 
  4.4.3 优先查找树 
 4.5 对区域的操作 
  4.5.1 将虚拟地址关联到区域 
  4.5.2 区域合并 
  4.5.3 插入区域 
  4.5.4 创建区域 
 4.6 地址空间 
 4.7 内存映射 
  4.7.1 创建映射 
  4.7.2 删除映射 
  4.7.3 非线性映射 
 4.8 反向映射 
  4.8.1 数据结构 
  4.8.2 建立逆向映射 
  4.8.3 使用逆向映射 
 4.9 堆的管理 
 4.10 缺页异常的处理 
 4.11 用户空间缺页异常的校正 
  4.11.1 按需分配/调页 
  4.11.2 匿名页 
  4.11.3 写时复制 
  4.11.4 获取非线性映射 
 4.12 内核缺页异常 
 4.13 在内核和用户空间之间复制数据 
 4.14 小结 
第5章 锁与进程间通信
第6章 设备驱动程序 
第7章 模块 
第8章 虚拟文件系统 
第9章 ext文件系统族 
第10章 无持久存储的文件系统 
第11章 扩展属性和访问控制表 
第12章 网络 
第13章 系统调用
第14章 内核活动 
第15章 时间管理 
第16章 页缓存和块缓存
第17章 数据同步
第18章 页面回收和页交换 
第19章 审计 
附录a 体系结构相关知识 
附录b 使用源代码 
附录c 有关c语言的注记 
附录d 系统启动 
附录e elf二进制格式 
附录f 内核开发过程 
参考文献
展开全部

深入Linux内核架构 节选

《深入Linux内核架构》讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及虚拟文件系统,Ext文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,《深入Linux内核架构》借助内核源代码中*关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现Linux系统的魅力。《深入Linux内核架构》适合Linux内核爱好者阅读。

深入Linux内核架构 相关资料

插图:内核很神奇,但归根结底它只是一个大的C程序,带有一些汇编代码(不时出现很少量的“黑巫术”)。是什么使得内核如此吸引人?原因有几个。首要一点在于,内核是由世界上最好的程序员编写的,源代码可以证实这一点。其结构良好,细节一丝不苟,巧妙的解决方案在代码中处处可见。一言以蔽之:内核应该是什么样子,它现在就是什么样子。但这并不意味着内核是应用教科书风格的程序设计方法学得出的产品。尽管内核采用了设计得非常干净的抽象,以保持代码的模块化和易管理性,但这一点与内核的其他方面混合起来,使得代码非常有趣和独特。在必要的情况下,内核会以上下文相关的方式重用比特位置,多次重载结构成员,从指针已经对齐的部分压榨出又一个存储位,自由地使用goto语句,还有很多其他东西,这些都会使任何强调结构的程序员因痛苦而尖叫。教科书答案中难以想象的那些技巧,对于实现能够在真正的现实世界中正常工作的内核不仅是有益的,甚至是必需的。正是因为找到了一条在内核完全对立的两面之间保持平衡的路径,内核才如此令人兴味盎然、富有挑战性并且妙趣横生!颂扬了内核源代码之后,还有许多不同于用户层程序的严肃问题需要说明。口调试内核通常要比调试用户层程序困难。对后者来说有大量的调试器可用,而对于后者来说调试器的实现难度要高得多。附录B讨论了在内核开发中使用调试器的各种技巧,但与用户层对应的方法相比都需要更多的工作。口内核提供了许多辅助函数,类似于用户空间的c语言库,但内核领域中的东西总是朴素得多。口用户层应用程序的错误可能会导致段错误(segmentation fault)或内存转储(core dump),但内核错误会导致整个系统故障。甚至更糟的是:内核会继续运行,在错误发生若干小时之后系统离奇地崩溃。如上所述,因为在内核空间调试比用户层应用程序更困难,所以在内核代码投入使用之前要进行更多的考虑。口必须考虑到内核运行的许多体系结构上根本不支持非对齐的内存访问。由于编译器插入的填充(padding)字段,也会影响到数据结构在不同体系结构之间的可移植性。附录C会进一步讨论这个问题。口所有的内核代码都必须是并发安全的。由于对多处理器计算机的支持,Linux内核代码必须是可重入和线程安全的。也就是说,程序必须允许同时执行,而数据必须针对并行访问进行保护。口内核代码必须在小端序和大端序计算机上都能够工作。口大多数的体系结构根本不允许在内核中执行浮点计算,因此计算需要想办法用整型来替代。后面读者会看到如何处理这些问题。

深入Linux内核架构 作者简介

作者:(德国)莫尔勒(Wolfgang Mauerer) 译者:郭旭莫尔勒(Woflgang Mauerer),资深Linux专家,有数十年Linux开发经验。从1997年最初发表关于内核的系列文章开始,他就醉心于解释Linux核心的内部机制、编写相关的文档,此外,他还著有LaTex排版方面的图书,其撰写的大量文章已经被释译成7种语言。

商品评论(1条)
  • 主题:

    书籍写的很细,内容很多很厚很深奥,进阶者适合看,系统的魅力!

    2019/4/24 22:03:18
    读者:ztw***(购买过本书)
书友推荐
返回顶部
中图网
在线客服