Linux-块设备-数据结构
来源:互联网 发布:恢复手机数据的软件 编辑:程序博客网 时间:2024/06/04 17:58
对于各种块设备,内核使用了一张块设备表blk_dev[]来进行管理。每种块设备都在块设备表中占据一项。
块设备表中每个块设备项的数据结构为:
// 块设备处理结构。
struct blk_dev_struct {
void (*request_fn)(void); //请求处理函数指针。
struct request * current_request; //当前处理的请求结构。
}// 下面是请求队列中项的结构。其中如果字段dev = -1,则表示队列中该项没有被使用。
// 字段cmd可取常量 READ(0)或 WRITE(1)(定义在include/linux/fs.h中)。
// 其中,内核并没有用到waiting指针,起而代之地内核使用了缓冲块的等待队列。因为
// 等待一个缓冲块与等待请求项完成是对等的。
struct request {
intdev; /* -1 if no request */ //发请求的设备号。
intcmd; /* READ or WRITE */ // READ或WRITE命令。
int errors; //操作时产生的错误次数。
unsigned long sector; //起始扇区。(1块=2扇区)
unsigned long nr_sectors; // 读/写扇区数。
char * buffer; // 数据缓冲区。
struct task_struct * waiting; //任务等待请求完成操作的地方(队列)。
struct buffer_head * bh; //缓冲区头指针(include/linux/fs.h,68)。
struct request * next; //指向下一请求项。
};
- Linux-块设备-数据结构
- linux 块设备驱动(二)——块设备数据结构
- linux 块设备,字符设备
- Linux块设备驱动
- Linux块设备驱动
- linux块设备
- linux块设备2
- linux块设备3
- linux块设备4
- linux块设备5
- linux块设备6
- linux块设备7
- linux块设备8
- Linux 块设备分析
- Linux块设备驱动
- linux块设备驱动
- Linux块设备驱动
- linux 块设备驱动
- SSL P1597 石子合并问题 题目
- 关于冒泡法的一些问题
- 基于Unity3D的JSON文件的存储的实现
- 基于MVC模式封装一个自己的Structs案例
- 变量的伟大
- Linux-块设备-数据结构
- 你对IT风投了解多少?
- 172. Factorial Trailing Zeroes
- 基于ES6的缩放元素的插件
- 全景拼接代码
- java 结构性模式(七种)
- 基于SSM框架实现基本文件操作
- 不得先来了解一下C的操作符??
- 参数传递问题: