![延迟写入场景](https://linux22.com/image/25436/%E5%BB%B6%E8%BF%9F%E5%86%99%E5%85%A5%E5%9C%BA%E6%99%AF.png)
我正在阅读莫里斯·J·巴赫 (Maurice J. Bach) 的《UNIX 操作系统的设计》,并感到困惑。
假设一个进程请求 18 号磁盘块的缓冲区。内核从空闲列表中搜索空闲缓冲区。将空闲列表中的第一个缓冲区(例如块号 5 的缓冲区)标记为延迟写入。 (哈希队列的哈希函数=disk-block-number % 4)
从现在开始内核将做什么?
根据我的理解,内核将开始将块号为5的缓冲区写入磁盘,将空闲列表中的下一个缓冲区分配给当前进程,并将其重新分配给正确的哈希队列。空闲列表头将被调整为指向空闲列表中最近分配的缓冲区之后的下一个缓冲区。 (假设空闲列表遵循最近最少使用的算法)
它是否正确?