4

文件系统或磁盘驱动程序是否支持文件系统修改栅栏的概念,例如 CPU 或共享内存系统中的内存栅栏?

栅栏是分离内存操作的指令,这样在栅栏事件之后的全局可见内存访问直到所有在它之前的访问才可检测到。

这种功能是否可以有效地用于文件内容修改(和目录修改)?当然,一个简单的解决方案是等到所有写入都写入稳定存储;但是,这会阻塞应用程序,并且如果需要许多同步点,则可能效率低下。此外,当一个大写(包括许多由栅栏隔开的写)满足完全日志系统上的相同约束时,或者当磁盘驱动程序保证最大写是原子的时,它可能会导致许多小的单独写。

是否可以强制文件系统驱动程序使用文件系统访问栅栏对写入进行排序?有没有探索过这个概念?

精确

问题的上下文不是多个进程以一种随意的方式访问相同的文件,而是一个进程将数据保存在数据库中,这样进程的中断(甚至是计算机崩溃)应该只留下一个修改序列(在两个围栏之间)部分写入

4

0 回答 0