我们正在编写一个 C++/Objective C 应用程序,可在 OSX 上从 10.7 版到现在 (10.11) 运行。
在windows下,有影子文件的概念,它允许你读取一个文件,因为它存在于某个时间点,而不必担心其他进程在此期间写入该文件。
但是,我找不到任何讨论 OS X 中类似功能的文档或在线文章。我知道 OS X 在写入文件时不会锁定文件,所以有必要做一些特别的事情来确保我不会t 选择一个正在修改的文件?
或者日志文件系统是否不需要任何特殊处理?我担心如果我有一个正在创建或修改文件的进程(例如,在 fopen 调用的单一上下文中 - 如果写入过程正在打开和关闭文件,我显然无法保证“完整性”在应该是原子操作的过程中重复),读取过程最终会得到一个“半生不熟”的文件。
如果 JFS 确实保证读者只能看到“整个”文件,这是否会扩展到可以作为外部驱动器安装的 Fat32 卷?