Meh*_*dad 6 filesystems prepend
在任何操作系统中我都没办法让程序有效地将数据预先添加到文件中.然而,这似乎并不困难 - 如果需要,文件系统可以向文件描述符添加另一个范围.
所以问题是,为什么操作系统不实现这个(相当简单的)操作?
我认为这并不像你建议的那么容易.确实,文件系统可以分配一个新块,将前置数据存储在其中,将文件指针更改为指向该块,然后从该块链接文件的其余部分.就像在链表的前面添加节点一样,对吗?
但是,当(可能是这种情况)前置数据未填充指定的块时会发生什么.我不认为许多文件系统会有链接部分块的机制,但即使它们这样做也会导致效率低下.您最终会得到一个由大多数空块组成的文件,您必须读取和写入整个文件以对其进行碎片整理.当你首先进行前置时,也可以预先进行读写操作.