linux块设备分析
来源:互联网 发布:最火的js框架 编辑:程序博客网 时间:2024/04/29 06:13
块子系统的初始化:
Genhd.c (block) 20196 2014/3/6
static int __init genhd_device_init(void) :为linux内核中块设备驱动程序的整体框架进行了必要的初始化。linux块驱动程序用来处理来自内核块子系统中的读/写请求。
制作请求make_request 需要xxx_make_request,还需要请求处理函数。 blk_queue_make_request
请求request 调用blk_init_queue为当前块设备分配一个请求队列,同时安装驱动程序实现的请求处理函数。
request_queue->(request_fn_proc make_request_fn) request
-------------------------------
块设备号的注册与管理 由register_blkdev函数来完成;与字符设备的register_chrdev_region函数非常类似.
--------------
block_device结构体表示一个逻辑块设备对象。当块设备所对应的设备文件被打开时,内核会创建一个block_device对象。主要用来沟通文件系统组件与实际的块设备驱动程序。定义:include/linux/fs.h。与文件系统更为密切。hd_struct表示块设备上的某一分区信息。
------------
gendisk结构体表示一个实际磁盘设备的抽象。 块设备驱动程序直接分配与操纵该结构体对象。定义:include/linux/genhd.h。与驱动程序更为密切。结构体中的major表示对应的驱动程序。
块设备驱动程序需要负责产生gendisk对象,并初始化其中相关成员。add_disk函数用于将gendisk添加到系统中。
设备驱动程序用alloc_disk分配一个gendisk对象。
block_device_operations块设备的一整套操作集。块设备的读写函数由读写请求队列完成。
来自文件系统的对块设备的数据传输等操作以请求的方式发送给块设备,块设备需要一个容纳请求的队列。
需要在内核的帮助下申请一个请求队列,及提供一个能够处理队列中每个请求的设备特定的处理函数。
请求队列与请求
- Linux 块设备分析
- linux块设备分析
- Linux中块设备驱动程序分析
- 块设备驱动分析
- 块设备体系结构分析
- 块设备驱动分析
- 块设备驱动程序分析
- linux块设备分析与使用(转的)
- Linux块设备加密之dm-crypt分析
- Linux块设备加密之dm-crypt分析
- 学习笔记 --- LINUX块设备驱动框架分析
- Linux块设备加密之dm-crypt分析
- Linux块设备加密之dm-crypt分析
- Linux内核源码分析--打开块设备文件--open_bdev_excl函数
- Linux-Flash驱动(2)-块设备驱动实例分析
- .Linux-块设备驱动之框架详细分析(详解)
- linux 块设备,字符设备
- Linux块设备驱动
- 电脑展将推全新微软Win8.1设备
- 真正的Maven常用命令
- ASP.NET用Jmail实现邮件群发
- android中sharedPreferences的用法
- SEO(Search Engine Optimization)搜索引擎优化
- linux块设备分析
- VC下的UNICODE编程
- VisualAssist空间问题
- 501 5.5.4 Invalid domain name
- firefox add innerText support
- ASP.NET MVC - 模型
- android、Linux下的V4L2文档
- Linux下修改Apache根目录问题
- Apple Swift编程语言入门教程