在文件中提前插入1个字节时的文件分页

时间:2011-09-08 13:58:48

标签: linux-kernel

当我打开100 MB文件并在开头附近的某处插入1个字节时会发生什么,然后保存它? Linux内核是否真的将所有内容都移回1个字节(从而改变每一页),&然后在插入后重新保存每个字节?这似乎非常低效!

或者我认为内核可以插入一个1字节的页面来保存这个插入,但我从来没有听说过这种情况。我认为所有页面都必须是标准尺寸(例如,4 KB或4 MB但不是1字节)

我检查了很多linux / OS bks(bovet / cesati,kerrisk,tanenbaum),&已经玩了一些内核代码,似乎无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

答案是操作系统通常允许您在文件中的任意位置插入任意数量的字节。您的分析显示了原因 - 它不是对文件的典型实现的有效操作。

通常,您只能在文件末尾添加或删除字节。