Linux内核学习笔记 -49 工程实践-编写块设备驱动的基础

块设备可以随机存储。字符设备,比如键盘,只能按照输入顺序存取,不可随机,打乱输入的字节流。

文件系统层,包括常见的文件系统,以及虚拟文件系统层VFS,字符设备可以直接用应用程序打开。块设备不会在应用程序直接打开,而是要通过文件系统访问块设备。 

通用块层:为了通用的块设备,建立了一个统一的模型,这一层的主要工作是接收文件系统层发出的磁盘请求,并最终向磁盘设备发出io请求,所以它隐藏了很多底层硬件块设备的细节,为块设备提供了一个抽象的模型。

IO调度层:接收通用块层发出的IO请求,缓存这些请求,然后根据IO调度算法来合并相邻的请求,然后调用驱动层提供的处理函数,发送这些io请求到硬件设备。这里io调度层有多种调度算法,比如电梯调度算法,CFQ调度算法

猜你喜欢

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