大小:44.75M
更新时间:23-08-31
系统:Pc
版本:v
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、双击进行阅读
同类热门
类似软件
veket linux系统373.31M827人在用linux的发行版有很多种,今天向大家介绍的是veket linux,也是中文版的linux系统,它可以安装在u盘或硬盘上,所以我们平时也把它叫做随身系统veket。相对于其它版本的linux系统来说,veket linux面向更多的是针对桌面应用,并且
查看linux kernel127M589人在用Linux Kernel是最新版本的Linux内核,支持Intel、Alpha、PPC、Sparc、IA-64 、ARM、MIPS、Amiga、Atari和IBM s/390等,还支持32位大文件系统。而在Intel平台上,物理内存最
查看深入理解linux内核第三版253.33M721人在用深入理解Linux内核第三版是一本高清扫描的PDF中文版电子书,作者是博韦,西斯特。这本书详细地介绍了Linux系统中最重要的数据结构、算法和程序设计,通过逐行剖析相关的代码片段,读者不仅可以了解代码的功能,还能更具体地了解Linux的工作方式,从而更好
查看谷歌浏览器linux版105.63M5043人在用 谷歌浏览器linux版是专为linux系统而开发的浏览器版本,包括64位和32位两个版本,能够支持debian/ubuntu/fedora/opensuse等linux系统,具备浏览速度更快,即搜即得,自动填充,定制专属等功能,可以给用户最佳的浏览
查看unetbootin中文版4.63M2420人在用unetbootin是一款能够将Linux操作系统装进U盘或移动硬盘的U盘启动盘制作工具,制作好的U盘启动盘能够用于电脑的维护和系统还原等操作,使用起来非常地不错。该软件不会基于操作系统使用特定的规则,在使用该选项时,大部分Linux ISO文件均可正确
查看热门标签
网友评论0人参与,0条评论
最新排行
轻松学SQL Server数据库39.94M张钦pdf扫描版轻松学SQL Server数据库是一本SQL Server数据库学习手册,由张钦、崔程、李立新等编著。本书详细地讲解了SQL Server 2008中的各种知识点,并使用大量的实践案例来应用这些知识点,使读者能够更加深入、快速地掌握和了解各章节中的知识。
查看鸟哥的linux私房菜服务器架设篇(第2版)67.26Mpdf扫描版鸟哥的linux私房菜服务器架设篇(第2版)是一本linux服务器架设教材书籍,由linux专家鸟哥编著。本书是前作的升级版本,根据服务器与网络环境做了大幅度的修订与改写,主要介绍了架站之前所需的技能分析、网络基本概念、linux常用的网络命令、主机的简
查看Photoshop/CorelDRAW服装产品辅助设计精彩实例课堂31.53Mpdf扫描版Photoshop/CorelDRAW服装产品辅助设计精彩实例课堂是一本专为服装设计类工作者提供的Photoshop/CorelDRAW使用指南,由崔建成和李艳艳联合编著。全书全面、系统地讲解了Photoshop、CorelDRAW 两大平面设计软件在服
查看12g901-3图集23.03Mpdf全套版小编今天给大家分享的是12g901图集全套下载,包括12g901-1图集、12g901-2图集和12g901-3图集,pdf高清格式,由中华人民共和国住房和城乡建设部发行,适用于筏形基础、独立基础、条形基础、桩基承合的施工钢筋排布及构造,可供建筑施工、设
查看硬件架构的艺术数字电路的设计方法与技术37.73Mpdf扫描版硬件架构的艺术数字电路的设计方法与技术是由印度半导体公司高级系统工程师Mohit Arora编著的一本硬件架构设计图书,简称为硬件架构的艺术,是李海东,来萍,师谦等翻译,机械工业出版社出版。全书主要内容涉及时钟和复位,多时钟域设计,时钟分频器,低功耗设计
查看ruby入门权威经典13.76M于天恩pdf扫描版 ruby入门权威经典是一本Ruby新手入门必读书籍之一,由于天恩编著。全书内容丰富翔实,包含了必要的理论,但以实践为主,书中含有大量的案例,讲解由浅入深,先介绍概念然后再讲应用,具体内容包括ruby的环境配置、基础知识、高级知识,让读者可以更好的掌
查看从零开始学swift(第二版)18.72Mpdf中文扫描版从零开始学swift是由关东升编写,作者是一个在IT领域爬滚打20年的程序员、培训师。本书是初学者学习swift必备入门书籍。该书基于Swift3.x,通过大量案例全面介绍苹果平台的应用开发。Swift3.x的语法有了重大变化,更加的独立有Objecti
查看google android开发入门与实战高清版35.85MPDF版说到google android,它实际上是Google开发的基于Linux平台的开源手机操作系统,包括了操作系统、用户界面、用户程序、移动电话工作所需要的全部软件,并不存在任何以往阻碍移动产业创新的专有权障碍。如果用户想要学会这一技术,光凭间的那的视频
查看英语国际音标速读宝典PPT22.58M含音标例词读音英语国际音标速读宝典PPT是专为想要学习,或教学英语音标而提供的一个PPT课件,毕竟音标是学习英语的基础,只有拥有扎实的音标功底才是学好英语的关键。因此在这里不仅详细的为用户提供了每一个音标的解说,还有直观明了的口形图解,并为了可以更好的让加了解到美式英
查看高并发Oracle数据库系统的架构与设计pdf47.89M侯松pdf扫描版高并发Oracle数据库系统的架构与设计是一本Oracle数据库系统架构数据书籍,由侯松编著。本书作者从内部扩展、横向扩展和纵向扩展3个维度对架构与设计高并发Oracle数据库系统的思想、方法、核心技术进行深入讲解和剖析,全书将给读者一个全新的视角,秉承
查看