![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
块设备驱动
xp_super
这个作者很懒,什么都没留下…
展开
-
块设备层分析2
三、块设备驱动层块设备的关系图如图2,一个分区或一个硬盘都可能是block_device,它一个硬盘只有一个gendisk结构,且有可能有多个分区hd_struct。 图2我们来看一个IDE硬盘设备的驱动,在此我们不关心IDE总线的驱动,只是将其执行路线列出来。static int ide_init_queue(ide_drive_t *drive)转载 2012-12-12 21:04:25 · 528 阅读 · 0 评论 -
块设备层分析3
以上均是IDE总线上设备的通用接口,直到do_request开始才执行特定设备的驱动,如CD,HD, floppy等IDE设备。我们来看一下ide-disk:1、 首先是设备的初始化操作。IDE设备接口static ide_driver_t idedisk_driver = { .gen_driver = { .owner转载 2012-12-12 21:05:13 · 378 阅读 · 0 评论 -
RamDisk块设备驱动实例开发讲解
一、开发环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2二、块设备基本概念扇区(Sectors):任何块设备硬件对数据处理的基本单位。通常,1个扇区的大小为512byte。块(Blocks):由Linux制定对内核或文件系统等数据处理的基本单位。通转载 2012-12-12 21:07:12 · 515 阅读 · 0 评论 -
块设备驱动编写总结
块设备与字符设备的区别1、 从字面上理解,块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节。所以Linux中块设备驱动往往为磁盘设备的驱动,但是由于磁盘设备的IO性能与CPU相比很差,因此,块设备的数据流往往会引入文件系统的Cache机制。2、 从实现角度来看,Linux为块设备和字符设备提供了两转载 2012-12-12 21:46:02 · 439 阅读 · 0 评论 -
块设备层分析1
一、综述图1是块设备操作的一个分层实现图。当一个进程调用read读取一个文件时,内核执行如下一个过程:首先,它通过VFS层去读取要到的文件块有没有已经被cache了,这个cache由一个buffer_head结构读取。如果要读取的文件块还没有被cache,则就要从文件系统中去读取了,这就是文件系统的映射层,它通过一个address_space结构来引用,然后调用文件系统读函数(readpage转载 2012-12-12 21:03:24 · 604 阅读 · 0 评论