cat /proc/devicesls -l /proc/devicescat /proc/devicesBlock devices:259 blkext7 loop12 ramdisk31 mtdblock179 mmcblkext:是内核扩展块设备,用来处理分区设备,现代内核用来支持超过传统限制的次设备号,一般不用手动操作,内核底层基础设施.loop:loop块设备把普通文件虚拟成一块磁盘常见用法:mount -o loop xxx.img /mnt,把镜像文件挂载底层同样走request_queue/bio,和你虚拟内存盘原理几乎一样 .ramdisk 内存盘在内存里划出一块空间当磁盘,断电数据消失.早年嵌入式经常用它做initramfs临时根文件系统.mtdblockMTD(Flash)封装出来的块设备./dev/mtd0是字符设备,主设备90,裸Flash,没有块层request_queue.mmcMMC/SD块设备主设备号 179/dev/mmcblk0:整块SD卡,主设备号179,次设备号0/dev/mmcblk0p1:SD卡第一个分区,主设备号179,次设备号1所有的mmcblk的IO请求,都会送人MMC驱动的request_queue,走request-bio这套流程