在最低级别,大多数操作系统文件操作包括打开、关闭、读取、写入、删除以及查找和追加操作,但没有前置操作。
出现这个问题是因为我的一位同事正在处理他生成的大型(数 GB)数据日志,并且他意识到他没有将文件头写入日志文件。尽管他只需要在文件前面添加一百个字节,但如果不进入块/扇区文件分配表级别的内容,我们看不到任何方法。
是否有任何历史或技术原因导致前置操作不存在,或者会比类似的附加操作更昂贵?
在最低级别,大多数操作系统文件操作包括打开、关闭、读取、写入、删除以及查找和追加操作,但没有前置操作。
出现这个问题是因为我的一位同事正在处理他生成的大型(数 GB)数据日志,并且他意识到他没有将文件头写入日志文件。尽管他只需要在文件前面添加一百个字节,但如果不进入块/扇区文件分配表级别的内容,我们看不到任何方法。
是否有任何历史或技术原因导致前置操作不存在,或者会比类似的附加操作更昂贵?
我只知道 1992 年的一篇研究论文描述了这样的内容:“支持条带并行文件系统中的插入和删除”。摘要是
并行计算机处理速度的显着提高正在将许多计算密集型作业转变为 IO 密集型作业。已经提出并行文件系统来更好地匹配 IO 吞吐量和处理能力。许多并行文件系统在许多磁盘上对文件进行条带化;每个磁盘都有自己的控制器。可以将条带文件附加(或附加)并保持其结构。但是,不能在文件中间插入或删除块,因为这样做会破坏文件的常规条带结构。在本文中,我们提出了一种分布式文件结构,该结构在消息传递多处理器上维护索引条带区中的文件。这种方法允许高度并行的随机和顺序读取,还允许在文件中间插入和删除。
您可以在论文中找到更多信息。