gpt4 book ai didi

linux - Linux 内核中磁盘文件的 I/O 缓冲区缓存

转载 作者:IT王子 更新时间:2023-10-29 01:06:10 25 4
gpt4 key购买 nike

我对磁盘文件的内核 I/O 缓存有疑问。据我所知,当 write() 或 read() 被调用时,内核空间中有一个缓冲区缓存用于磁盘文件 I/O 操作。我的问题是,这个 I/O 缓冲只适用于磁盘文件,还是它也适用于终端、FIFO、管道和套接字?

谢谢

最佳答案

它被称为“页面缓存”。它由文件支持的页面和交换支持的“匿名页面”组成。这些都是 Linux 虚拟内存 (VM) 子系统的一部分。

它不用于 TTY、FIFO、管道或套接字。它们中的每一个都在本质上提供了自己的缓冲。例如,您写入管道的数据在被再次读出之前必须驻留在某个地方。但该缓冲与 VM 子系统无关。

[更新]

请注意,此缓冲完全独立于(例如)fwrite() 提供的用户空间缓冲。 (我看到你之前问过类似的问题,不清楚你是否理解其中的区别。)

关于linux - Linux 内核中磁盘文件的 I/O 缓冲区缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com