1.目的
用户与磁盘进行文件交互时的流程
磁盘与高速缓冲区的关系
加深块设备驱动的理解
hash 循环链表 单链表的使用方法
2.高速缓冲区的工作流程
高速缓冲区中存储这对应的块设备驱动的数据
当从块设备中读取数据的时候,OS首先会从高速缓冲区中进行检索,如果没有则从块设备中读出数据,如果有且为最新的,就直接和该高速缓冲区进行数据交互。
buffer.c
高速缓冲区中有缓冲区低区和高区
低区和高区中的缓冲块一一对应
缓冲区的描述头-------高速缓冲区
高速缓冲区的头是?
高速缓冲区的头是一个结构体,里面存着高速缓冲区所有的状态 时间 信息
struct buffer_head {char * b_data;			/* pointer to data block (1024 bytes) */ 数据区 1kunsigned long b_blocknr;	/* block number */        数据逻辑块号 1kunsigned short b_dev;		/* device (0 = free) */    块设备号unsigned char b_uptodate;unsigned char b_dirt;		/* 0-clean,1-dirty */unsigned char b_count;		/* users using this block */unsigned char b_lock;		/* 0 - ok, 1 -locked */struct task_struct * b_wait;struct buffer_head * b_prev;struct buffer_head * b_next;struct buffer_head * b_prev_free;struct buffer_head * b_next_free;
};
 
 
