设备队列 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 结构
- 每个块设备 都有一个 struct devtab描述这个设备的缓存队列状况
- struct devtab 结构定义了队列头b-forw,b-back
- 每个队列元素 为struct buf结构
- struct buf结构 定义了队列指针b-forw,b-back
- 以上结构形成双链表队列,例如 举例图
- 插入/取出元素
- 取出元素从队首取出
- 插入元素从队首插入,以取得最新入队的元素(最新入队的缓存最有可能被重复使用)
举例
- NODEV是一个特殊的设备,表示无设备
- 队列头 为 bfreelist,bfreelist同时作为自由队列的队列头
- 队列举例如图