Linux内核学习笔记 -47 块设备驱动简介

块设备驱动程序提供了面向块的设备访问,这种设备以随机访问的方式传输数据,并且数据总是具有固定大小的块,块设备和字符设备的区别是什么?块设备上可以通过mount文件系统,而字符设备是不可用的。数据经过块设备相比操作字符设备,需要经历一个数据缓冲层(buffer cache)机制,如图所示。

块(驱动)设备模型:上图为示意图。应用程序有两种方式访问一个块设备,一种是通过/dev目录,一种是文件系统挂载点,前者和字符设备一样,通常用于配置,后者就是我们mount之后通过文件系统直接访问一个块设备。

比如read系统调用最终它会调用一个适当的VFS函数read,接着是sys_read,然后到vfs_read,将文件描述符fd和文件内的偏移量offset传递给它;

VFS会

猜你喜欢

转载自blog.csdn.net/f2157120/article/details/108088870
今日推荐