[国嵌攻略][145][块设备系统架构]
块设备概念
块设备是指只能以块为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬盘,SD卡,光盘等。
体验块设备使用
把内存划出512字节,虚拟成块设备来访问。
1.insmod simple-blk.ko
2.ls -l /dev/simp_blk0
3.格式化块文件设备,mkfs.ext3 /dev/simp_blk0
4.建立本地目录,mkdir –p /mnt/blk
5.挂载块设备到本地目录,mount /dev/simp_blk0 /mnt/blk/
6.查看挂载设备,mount
7.cp /ect/init.d/* /mnt/blk
8.ls /mnt/blk
9.umount /mnt/blk
10.ls /mnt/blk
块设备驱动程序架构
1.系统架构VFS
VFS是对各种具体文件系统的一种封装,为用户程序访问文件提供统一的接口。
2.磁盘缓存
用于快速访问磁盘内容。
3.映射层(文件系统层)
计算访问文件有多少个块,查找文件块的位置。
4.通用块层
封装成扇区通用结构bio结构。
5.I/O调度层
I/O调度层负责采用某种算法,如电梯调度算法将I/O操作进行排序。
6.块设备驱动
取出数据传给上层使用。