扇区: 1、硬盘控制器将磁盘看成一大组扇区2、扇区就是一组相邻字节3、扇区按照惯例大小设置位512字节4、存放在块设备中的数据是通过它们在磁盘上的位置来标识,即首个扇区的下标和扇区的数目。5、扇区是硬件设备传送数据到基本单位。 块:1、块是VFS和文件系统传送数据到基本单位。它对应磁盘上一个或者多个相邻扇区。2、内核访问一个文件内容时,它先从磁盘上读文件的磁盘索引节点所在的块3、Linux中,块必须是2的幂,且不能超过一个页框(一般4kB),还必须是扇区大小的整数倍。4、对块设备文件的读写操作时一种原始的访问,它绕过了磁盘文件系统5、每个块都有自己的缓冲区 段:1、一个内存页或者内存页的一部分,它们包含一些相邻磁盘扇区中的数据。2、不同的段在RAM中相应的页框正好是连续的并且在磁盘上相应的数据块也是相邻的,那么通用块层可以合并它们,这种方式产生的更大的内存区就是物理段。 通用块层:1、通用块层是一个内核组件,处理来自系统中的所有块设备发出的请求 I\O调度程序:1、块设备驱动程序一次可以传送一个扇区,但是块I\O层不会这么做,因为确定磁盘表面上扇区的物理位置很费时间。所以只要有可能,内核就试图将几个扇区合并作为一个整体处理。2、内核组件读写磁盘数据的时候,实际上是创建了一个块设备请求。本质是描述所请求的扇区以及对他执行的操作类型。3、发出请求,I\O操作仅仅被调度,执行会向后推迟,目的是提高块设备性能。 I\O调度算法:1、预期算法2、最后期限算法3、CFQ(Complete Fairness Queueing)完全公平算法:4、Noop(No Operation)算法:5、电梯算法: 块设备驱动程序:1、Linux块子系统最底层的组件2、块设备驱动程序是设备驱动程序的组成部分。3、可能处理几个块设备 块设备:1、
时间: 2024-10-12 16:39:02