我最近工作的一个问题让我希望我可以丢掉文件的正面.如果你愿意,有点像"前面的截断".在后端截断文件是一种常见的操作 - 我们做的事情甚至没有考虑太多.但是砍掉文件的正面?起初听起来很荒谬,但这只是因为我们受过训练才认为这是不可能的.但是在某些情况下,垂直操作可能很有用.
一个简单的例子(当然不是唯一或必然是最好的例子)是FIFO队列.您正在将新项目添加到文件末尾,并从前面将项目从文件中提取出来.文件随着时间的推移而增长,前面有一个巨大的空白空间.对于当前的文件系统,有几种解决此问题的方法:
但是如果有一个lop操作,从队列中删除一个项目就像更新文件开头标记一样简单.事实上,就像截断文件一样简单.那么,为什么没有这样的操作呢?
我对文件系统实现有一点了解,并且没有看到任何特殊原因这很难.它看起来像所有它需要的是另一个单词(dword,也许?)每个分配条目,以说明文件在块中的开始位置.对于1美元以下100美元以下的驱动器,这样的功能似乎是一个相当小的代价.
如果您可以像在最后截断那样有效地删除文件的前面,那么还可以使其他任务变得更容易?
你能想到这个功能无法添加到现代文件系统的任何技术原因吗?其他非技术原因?
filesystems ×1