gpt4 book ai didi

如果仅写入,O_WRONLY 和 O_RDWR 之间的 C linux 内部差异

转载 作者:可可西里 更新时间:2023-11-01 11:50:32 27 4
gpt4 key购买 nike

我知道 open 提供了这些互斥的标志:O_RDONLYO_WRONLYO_RDWR

我想知道:如果文件以 O_RDWR

打开,是否存在任何性能问题(即使只是几分之一毫秒)或处理文件的不同方式
  • 我只写文件。 (相对于以 O_WRONLY 开头)
  • 我只从文件中读取数据。 (相对于以 O_RDONLY 开头)

最佳答案

首先,在描述的两种情况下,您似乎打错了(倒置)了写/读标签。至于您的要求,VFS 在其各种结构中通过标志跟踪所需的访问权限。读/写标志通常是同一标志(多)字节中的不同位。当进程请求读取或写入访问权限时,内核会检查它是否具有请求的访问权限,并相应地进行。由于设置 2 位不会增加您的执行时间,您应该看不出有什么不同,因为以后的访问是相同的。使用正确的标签是很好的风格,也是文件保护的一部分。

关于如果仅写入,O_WRONLY 和 O_RDWR 之间的 C linux 内部差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113756/

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