2011-08-16 49 views
3

在最底层,大多数操作系统文件操作包括打开,关闭,读取,写入,删除以及查找和追加操作,但没有预先操作。是否有一个低级prepend操作的文件系统?

问题出现了,因为我的一位同事正在处理一个他生成的大型(多吉字节)数据日志,并且他意识到他没有将文件头写入日志文件。即使他只需要在文件的前面添加一百个字节,我们也看不出有什么办法可以做到这一点,而不必进入块/扇区文件分配表级别的东西。

是否有任何历史或技术原因,prepend操作不存在,或者会比类似的append操作更昂贵?

+0

希尔伯特描述了这样一个文件系统。 – bmargulies

+0

在这里查看类似的问题:http://stackoverflow.com/questions/4573604/inserting-text-into-file-at-specific-offset-using-win32-api –

回答

0

我只知道一个研究论文描述是这样的:1992年,从 “Supporting Insertions and Deletions in Striped Parallel Filesystems”的抽象是

在并行计算机的处理速度的显着改善转向许多计算绑定工作进入IO约束的工作。已经提出并行文件系统以更好地将IO吞吐量与处理能力相匹配。许多并行文件系统在多个磁盘上分割文件;每个磁盘都有自己的控制器。条带文件可以被附加(或预先)并保持其结构。但是,块不能插入或从文件中间删除,因为这样做会破坏文件的常规条带结构。在本文中,我们提出了一个分布式文件结构,用于在传递多处理器的消息上维护索引条带化区域中的文件。这种方法允许高度并行的随机和顺序读取,并允许在文件中间插入和删除。

您可以在论文中找到更多信息。

相关问题