如何使一个文件占用连续的物理扇区?

一般来说文件可分为多个块,这些块在现实世界中的物理磁盘上往往占用的扇区是不连续的,如果我想要一个文件占用一片连续的扇区,应该如何做?

首先说问题
往往是不连续的?这个结论不对吧。资源分配一般都是倾向是连续的,文件系统更是如此(可以加快顺序读写)。不连续的情况是不得已,如文件长度变化。

然后讨论
文件操作会经过许多层才最终落到物理磁盘上,以linux为例 VFS -> FS -> Generic Block -> Scheduler -> Device。
物理扇区的位置一般由VFS下具体的文件系统(ext4、fat等)决定,他们都有自己的策略,我猜应该会优先连续分配。

如果你想使用自己的扇区分配策略,只需要基于已有的文件系统修改它的分配策略即可,推荐基于fat文件系统修改,因为它的实现非常简单。