bio替代buffer_head
时间: 2023-06-23 08:43:39 浏览: 135
Linux 通用块设备层基础之buffer_head .
4星 · 用户满意度95%
bio 和 buffer_head 都是 Linux 内核中用于管理块设备的数据结构。它们的主要区别在于:
- buffer_head 用于管理块设备中的一个固定大小的数据块(称作"块"或"页"),而 bio 可以管理一个或多个块。
- buffer_head 只能进行同步读写(即阻塞式读写),而 bio 可以进行异步读写(即非阻塞式读写),从而提高 IO 性能。
- buffer_head 只能保证单个块的原子性操作,而 bio 可以保证多个块的原子性操作,从而避免了块之间的数据不一致问题。
因此,bio 在性能和可靠性方面都比 buffer_head 更优秀。在一些新的 Linux 内核版本中,已经逐渐将 buffer_head 替换成了 bio。
阅读全文