大小:44.75M
更新时间:23-08-31
系统:Pc
linux内核探秘:深入解析文件系统和设备驱动的架构与设计是一本linux内核学习指导书,由高剑林编著。本书从工业需求角度出发,注重效率和实用性,是帮助内核研发及调试、驱动开发等领域工程师正确认识并高效利用Linux内核的难得佳作。全书将整个内核分为基础层和应用层,内核中的内存管理、任务调度和中断异常处理归为基础部分,而文件系统,设备管理和驱动归为应用部分,这种划分大大减少了阅读内核的难度,非常适合所有的linux系统爱好者和从业人员下载阅读。
《linux内核探秘:深入解析文件系统和设备驱动的架构与设计》出发点和写作方式可谓独辟蹊径,将Linux内核分为两个维度,一是基础部分和应用部分,二是内核架构和内核实现,将两个维有机统一,深入分析了Linux内核的文件系统、设备驱动的架构设计与实现原理。全书在逻辑上分为三部分:第一部分(第1~2章)首先将内核层划分为基础层和应用层,讲解了基础层包含的服务和数据结构,以及应用层包含的各种功能,然后对文件系统的架构进行了提纲挈领的介绍,为读者学习后面的知识打下基础;第二部分(第3~9章)从设备到总线到驱动,逐步深入,剖析了设备的总体架构、为设备服务的特殊文件系统sysfs、字符设备和input设备、platform总线、serio总线、PCI总线、块设备的实现原理和工作机制;第三部分(第10~13章)对文件系统的读写机制进行了深入分析,最后通过一个真实文件系统ext2,复习本书所有知识点。
前言 第1章 内核的基础层和应用层 1.1 内核基础层提供的服务 1.1.1 内核中使用内存 1.1.2 内核中的任务调度 1.1.3 软中断和tasklet 1.1.4 工作队列 1.1.5 自旋锁 1.1.6 内核信号量 1.1.7 原子变量 1.2 内核基础层的数据结构 1.2.1 双向链表 1.2.2 hash链表 1.2.3 单向链表 1.2.4 红黑树 1.2.5 radix树 1.3 内核应用层 1.4 从Linux内核源码结构纵览内核 1.5 内核学习和应用的四个阶段 1.6 本章小结 第2章 文件系统 2.1 文件系统的基本概念 2.1.1 什么是VFS 2.1.2 超级块super_block 2.1.3 目录项dentry 2.1.4 索引节点inode 2.1.5 文件 2.2 文件系统的架构 2.2.1 超级块作用分析 2.2.2 dentry作用分析 2.2.3 inode作用分析 2.2.4 文件作用分析 2.3 从代码层次深入分析文件系统 2.3.1 一个最简单的文件系统aufs 2.3.2 文件系统如何管理目录和文件 2.3.3 文件系统的挂载过程 2.3.4 文件打开的代码分析 2.4 本章小结 第3章 设备的概念和总体架构 3.1 设备的配置表 3.2 访问设备寄存器和设备内存 3.3 设备中断和DMA 3.4 总线对设备的扫描 3.5 设备驱动管理 3.6 本章小结 第4章 为设备服务的特殊文件系统sysfs 4.1 文件和目录的创建 4.1.1 sysfs文件系统的初始化 4.1.2 sysfs文件系统目录的创建 4.1.3 普通文件的创建 4.2 sysfs文件的打开操作 4.2.1 real_lookup函数详解 4.2.2 为文件创建inode结构 4.2.3 为dentry结构绑定属性 4.2.4 调用文件系统中的open函数 4.3 sysfs文件的读写 4.3.1 读文件的过程分析 4.3.2 写文件的过程分析 4.4 kobject结构 4.4.1 kobject和kset的关系 4.4.2 kobject实例:总线的注册 4.5 本章小结 第5章 字符设备和input设备 5.1 文件如何变成设备 5.1.1 init_special_inode函数 5.1.2 def_chr_fops结构 5.2 input设备的注册 5.2.1 主从设备号 5.2.2 把input设备注册到系统 5.2.3 设备区间的登记 5.2.4 注册字符设备 5.2.5 打开input设备 5.3 input设备架构 5.3.1 注册input设备的驱动 5.3.2 匹配input管理的设备和驱动 5.3.3 注册input设备 5.4 本章小结 第6章 platform总线 6.1 从驱动发现设备的过程 6.1.1 驱动的初始化 6.1.2 注册驱动 6.1.3 为总线增加一个驱动 6.1.4 驱动加载 6.1.5 遍历总线上已经挂载的设备 6.2 从设备找到驱动的过程 6.2.1 注册设备和总线类型 6.2.2 注册设备的资源 6.2.3 增加一个设备对象 6.3 本章小结 第7章 serio总线 7.1 什么是总线适配器 7.2 向serio总线注册设备 7.2.1 注册端口登记事件 7.2.2 遍历总线的驱动 7.2.3 注册input设备 7.3 虚拟键盘驱动 7.3.1 键盘驱动的初始化 7.3.2 与设备建立连接 7.3.3 启动键盘设备 7.3.4 输入设备和主机系统之间的事件 7.4 键盘中断 7.4.1 q40kbd设备的中断处理 7.4.2 serio总线的中断处理 7.4.3 驱动提供的中断处理 7.5 本章小结 第8章 PCI总线 8.1 深入理解PCI总线 8.1.1 PCI设备工作原理 8.1.2 PCI总线域 8.1.3 PCI资源管理 8.1.4 PCI配置空间读取和设置 8.2 PCI设备扫描过程 8.2.1 扫描0号总线 8.2.2 扫描总线上的PCI设备 8.2.3 扫描多功能设备 8.2.4 扫描单个设备 8.2.5 扫描设备信息 8.3 本章小结 第9章 块设备 9.1 块设备的架构 9.1.1 块设备、磁盘对象和队列 9.1.2 块设备和通用磁盘对象的绑定 9.1.3 块设备的队列和队列处理函数 9.2 块设备创建的过程分析 9.2.1 nbd驱动的初始化 9.2.2 为通用磁盘对象创建队列成员 9.2.3 将通用磁盘对象加入系统 9.3 块设备文件系统 9.3.1 块设备文件系统的初始化 9.3.2 块设备文件系统的设计思路 9.4 块设备的打开流程 9.4.1 获取块设备对象 9.4.2 执行块设备的打开流程 9.5 本章小结 第10章 文件系统读写 10.1 page cache机制 10.1.1 buffer I/O和direct I/O 10.1.2 buffer head和块缓存 10.1.3 page cache的管理 10.1.4 page cache的状态 10.2 文件预读 10.3 文件锁 10.4 文件读过程代码分析 10.5 读过程返回 10.6 文件写过程代码分析 10.7 本章小结 第11章 通用块层和scsi层 11.1 块设备队列 11.1.1 scsi块设备队列处理函数 11.1.2 电梯算法和对象 11.2 硬盘HBA抽象层 11.3 I/O的顺序控制 11.4 I/O调度算法 11.4.1 noop调度算法 11.4.2 deadline调度算法 11.5 I/O的处理过程 11.5.1 I/O插入队列的过程分析 11.5.2 I/O出队列的过程分析 11.5.3 I/O返回路径 11.6 本章小结 第12章 内核回写机制 12.1 内核的触发条件 12.2 内核回写控制参数 12.3 定时器触发回写 12.3.1 启动定时器 12.3.2 执行回写操作 12.3.3 检查需要回写的页面 12.3.4 回写超级块内的inode 12.4 平衡写 12.4.1 检查直接回写的条件 12.4.2 回写系统脏页面的条件 12.4.3 检查计算机模式 12.5 本章小结 第13章 一个真实文件系统ext2 13.1 ext2的硬盘布局 13.2 ext2文件系统目录树 13.3 ext2文件内容管理 13.4 ext2文件系统读写 13.5 本章小结
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
类似软件
linux kernel127M730人在用Linux Kernel是最新版本的Linux内核,支持Intel、Alpha、PPC、Sparc、IA-64 、ARM、MIPS、Amiga、Atari和IBM s/390等,还支持32位大文件系统。而在Intel平台上,物理内存最
查看
深入理解linux内核第三版253.33M1055人在用深入理解Linux内核第三版是一本高清扫描的PDF中文版电子书,作者是博韦,西斯特。这本书详细地介绍了Linux系统中最重要的数据结构、算法和程序设计,通过逐行剖析相关的代码片段,读者不仅可以了解代码的功能,还能更具体地了解Linux的工作方式,从而更好
查看热门标签
网友评论0人参与,0条评论
最新排行
获得早起的持续力量pdf4.84M 对于现代社会的大多数人来说,早起已经变成了一项极具挑战性的任务,更别提持之以恒地去实践。那么,如何能够更好地坚持早起呢?在这里,我强烈推荐各位读者阅读一本名为《获得早起的持续力量》的PDF图书。这本书详细地阐述了如何才能更好地坚持早起的方法和策略。
查看
佳能60d使用说明书12.02Mpdf高清版 佳能60d是50D的升级版本,其该版本最大的改动就是取消的AF微调功能,全面支持引闪、翻转屏、塑料机身等功能。同时还搭配了一块3英寸104万像素的TFT高清旋转液晶屏视野率约100%,以及最新型的DIGIC 4数字影像处理器,给用户带来最便捷的摄影
查看
深入浅出wpf pdf完整版43.27M WPF(Windows Presentation Foundation)是微软未来发展的一个重要趋势,自从WIN7操作系统发布以来,甚至在前不久发布的WIN8操作系统中,WPF一直作为其核心技术。在深入浅出wpf pdf完整版的教程中,作者主要对自
查看
15j401钢梯图集85.81Mpdf高清版15j401钢梯图集是一本钢梯使用规范图集,该图集描述了作业平台钢梯、钢梯及平台钢护栏、固定式钢斜梯、上屋面钢直梯、上吊车钢斜梯、中柱式钢螺旋梯、板式钢螺旋梯的专业图纸及做法,同时按照新的标准规范,对原图集02J401《钢梯》进行修编,提高了钢梯的安全性
查看
android开发进阶 从小工到专家104.73M何红辉 pdf扫描版android开发进阶 从小工到专家是一本Android开发进阶书籍,由Android工程师何红辉编著。本书结合作者多年开发经验的总结,把作者以前开发走过的坑和陷阱讲解出来,看了以后可以少走很多弯路,提升自己的开发能力很快,抓住开发的痛点和需求讲解内容,
查看
android智能穿戴设备开发从入门到精通87.01M android智能穿戴设备开发从入门到精通是一本安卓智能化穿戴设备设计手册,由张明星和孙娇两人共同编著。本书详细讲解了Android开发技术基础,Android技术核心框架分析,HTTP数据通信,使用Socket实现数据通信,下载远程数据,上传数据
查看
第一本docker书33.72M特恩布尔pdf高清版 Docker是一个开源的应用容器引擎,让开发者可以将他们的应用和依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。但如何才能更好的入门呢?这里小编带来了第一本docker书,这是全球第一本Docker技术图书,
查看
javascript设计模式52.64M张容铭pdf扫描版 javascript设计模式是一本专业讲解全面Web前端设计模式书,由百度前端专家张容铭编写。本书以一种讲故事方式讲解每一种设计模式,书中案例都是实际工作中的真实案例,让读者身临其境。全书涵盖专门针对JavaScript的36个设计模式,深入剖析面
查看
modern php 中文版28.02Mpdf高清扫描版 modern php 中文版是一本php语言学习指导书籍,也是目前初级PHP的进阶宝典,由美国前端程序员乔希·洛克哈特编著。全书通过实践让读者了解php的新特性,让读者学到更多关于应用架构、规划、数据库、安全、测试、调试和部署方面的新知识,使读者明
查看
gx works2操作手册中文版40Mpdf高清版 gx works2由三菱推出的一款专业的plc编程软件,支持梯形图、指令表、SFC、ST及结构化梯形图等编程语言,可实现程序编辑,参数设定,网络设定,程序监控、调试及在线更改,智能功能模块设置等功能。在此小编为广大网友带来了gx works2手册,
查看
lua程序设计(programming in lua)5.8Mpdf高清版 lua程序设计(programming in lua)是一本综合性强,介绍全面的lua中文教程,全书详细介绍了lua语言所具有的功能,并使用大量示例来演示如何将它们运用到实际的任务中。深入地介绍了lua中唯一的数据结构table,还讨论了数据结构、
查看