设备队列 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

Table of Contents

综述

  • 结构
    • 每个块设备 都有一个 struct devtab描述这个设备的缓存队列状况
    • struct devtab 结构定义了队列头b-forw,b-back
    • 每个队列元素 为struct buf结构
    • struct buf结构 定义了队列指针b-forw,b-back
    • 以上结构形成双链表队列,例如 举例图
  • 插入/取出元素
    • 取出元素从队首取出
    • 插入元素从队首插入,以取得最新入队的元素(最新入队的缓存最有可能被重复使用)

设备队列

举例

NODEV设备队列

  • NODEV是一个特殊的设备,表示无设备
  • 队列头 为 bfreelist,bfreelist同时作为自由队列的队列头
  • 队列举例如图

参考

设备缓存管理

⚠️ **GitHub.com Fallback** ⚠️