转自: http://bbs.chinaunix.net/thread-2050601-1-1.html 对于块设备,首先明确几个基本的概念: 扇区(Sectors): 通常是512 bytes. 是硬件设备传输数据的基本单位. 块(Blocks): 通常是1, 2, 4, 8, .... 个扇区,并且小于一个page. 是内核(VFS和文件系统)传送数据的基本单位. 段(Segments): 是若干相邻的块. 是一个内存页或者内存页的一部分. 一般由块设备驱动程序来处理. 每个缓冲区与一个块对应,相当于磁盘块在内存中的表示. 引用ULK3中的一张图来说明它们的关系: ![]() 对于整个块设备驱动的层次架构,ULK3中的一张图能够很好的说明这些: ![]() |