gpt4 book ai didi

c# - Linux中是否有系统API来提供对文件的原子写操作

转载 作者:行者123 更新时间:2023-11-30 21:19:06 25 4
gpt4 key购买 nike

动机是为重要文件提供atomcity,就像如果这些文件正在进行写操作(例如20 kb)并且在电源关闭之间,则不得将新数据写入原始文件。因此我的原始文件将是安全(未损坏)。

最佳答案

这就是 journalling filesystems做。然而,这是非常昂贵的,因为所有数据都必须写入两次。

因为它非常昂贵,所以大多数日志文件系统实际上不写入日志数据,只写入元数据。因此,在大多数日志文件系统上,文件系统结构可以防止损坏和不一致,但文件内容却不能。

Ext4 filesystem支持完整的数据日志记录,尽管默认情况下仅元数据日志记录。

Log-structured filesystems是日志文件系统的(概念上)扩展,其中只有日志。

写时复制文件系统提供与日志文件系统相同的保证。

Soft UpdatesWrite-Ahead Physical Block Logging提供与仅元数据日志文件系统相同的保证。

当然,带有备用电池和 Uninterruptible Power Supply 的磁盘 Controller 也许也是个好主意。

关于c# - Linux中是否有系统API来提供对文件的原子写操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57799506/

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