《深入理解Linux内核》笔记九

每个块描述符都对应一个bdev特殊文件;块设备描述符的bdinode字段指向相应的bdev索引节点,而该索引节点则将块设备的主次设备号和相应描述符的地址进行编码

 

磁盘构造,也就是磁盘使用的柱面数磁道数、扇面数和磁头数

 

策略例程是块设备驱动程序的一个函数或一组函数,它与硬件块设备之间相互作用以满足调度队列中所汇集的请求

 

在把新的请求插入到空的请求队列后,策略例程通常才被启动

 

第十五章、页高速缓存

页高速缓存:一种对完整的页进行操作的磁盘高速缓存

 

脏页在保留一段时间后,内核就显式地开始进行I/O数据的传输,把脏页的内容写到磁盘

 

第十六章、访问文件

将磁盘文件系统的普通文件、块设备文件统称为“文件”

 

访问文件的模式:

规范模式、同步模式、内存映射模式、直接I/O模式、异步模式

 

异步模式下,文件访问可以通过一组POSIX API或linux特有的系统调用来实现

 

当访问给定文件时,预读文件算法给定两个页面集,各自对于文件的一个连续区域,分别叫做当前窗current window和预读窗ahead window

 

内存映射memory mapping:内核把对线性区中页内某个字节的访问转换成对文件中相应字节的操作

 

对每个不同的文件系统,内核提供了几个钩子hook函数来定制其内存映射机制

 

直接I/O传递可以绕过页面高速缓存

任何数据内容传输都是异步的

“异步”实际上就是:当用户态进程调用库函数读写文件时,一旦读写操作进入队列函数就结束,甚至有可能真正的I/O数据传输还没有开始。这样调用进程可以在数据正在传输时继续自己的运行

 

异步I/O可以由系统库实现,而完全不需要内核支持

 

基本上,一个异步I/O环境(简称AIO环境)就是一组数据结构,这个数据结构用于跟踪进程请求的异步I/O操作的运行情况

AIO环是用于在进程中地址空间的内存缓冲区,它也可以由内核态的所有进程访问。AIO实际上是一个环形缓冲区,内核用它来写正运行的异步I/O操作完成的报告

 

第十七章、回收页框

当系统负载较低时,RAM的大部分由磁盘高速缓存占用,很少正在运行的进程可以从中获益

        增加                                 进程页                 高速缓存缩小,从而给后来的进程让出空间

 

 

请求调页机制:只要用户态进程继续执行,他们就能获得页框

 

页框回收算法的目标之一就是保存最少的空闲页框,以便内核可以安全地从“内存紧缺”的情形中恢复过来

页框回收算法(PFPA)的目标就是获得页框并使之空闲

 

反向映射reverse mapping:linux2.6内核能够快速定位指向同一页框的所有页表项

 

CPU 使用地址总线选择I/O端口,使用数据总线在CPU寄存器和端口之间传送数据

 

I/O端口还可被映射到物理地址空间

 

现代的硬件设备更倾向于映射的I/O。因为这样处理速度更快。并可以结合DMA

 

I/O接口  I/O interface 是处于一组I/O端口和对应的设备控制器之间的一种硬件电路。它起翻译器的作用,即把I/O端口中的值转换成设备所需要的命令和数据

 

串口包括一个通用异步收发器UART芯片,它可以把要发送的字节信息拆分成位序列,也可以把接收到的位流重新组装成字节信息

 

网卡是不直接与设备文件相对应的硬件设备

 

设备驱动程序是内核例程的集合,它使得硬件设备响应控制设备的偏移接口,而该接口是一组规范的UFS函数集open,read,lseek,ioctl等

 

监控I/O操作结束的两种可用技术分别称为轮询模式polling mode和中断模式interrupt mode

 

直接内存访问DMA,可用来控制在RAM和I/O设备之间数据的传送

使用DMA最多的是磁盘驱动器和其他需要一次性传送大量字节的设备

 

同步CMA,数据的传送是由进程触发的,异步的CMA,数据的传送是由硬件设备触发的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深入理解Linux内核带书签的PDF是一本非常有价值的学习资源。Linux内核操作系统的核心,负责管理硬件资源和提供用户与计算机硬件交互的接口。深入理解Linux内核可以帮助我们更好地理解操作系统的工作原理,并能够进行系统调优和故障排除。 这本书通过详细的介绍和分析,深入探讨了Linux内核的各个方面,包括进程管理、内存管理、文件系统、设备驱动、网络协议栈等等。通过学习这本书,我们可以了解内核的内部运行机制、数据结构和算法,并且了解它是如何处理各种操作系统任务的。 另外,这本书提供了书签功能,这对于学习者来说非常方便。可以使用书签功能来标记我们感兴趣或重要的内容,以便以后翻阅和复习。这样有助于我们更好地掌握书中的知识,加深理解,并能够更快地找到我们需要的信息。 带有书签的PDF版本的好处是可以轻松地在电子设备上阅读,比如电脑、平板电脑或手机。它具有可搜索的特性,这使得我们可以快速地查找特定的主题或关键词。此外,它还具有可扩展性,可以添加自己的笔记和注释,以便更好地组织知识。 总之,深入理解Linux内核带书签的PDF是一本非常有益的学习资源。它可以帮助我们深入学习和理解Linux内核,提升我们的技术水平,并且可以方便地进行知识的复习和查找。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值