问题如下:-
我在磁盘上有一个很大的文件(比如 TB),现在我想从磁盘上的这个文件中读取 N 页(离散且不连续),磁盘读取次数最少(或者说我想通过最小化磁盘中的旋转和寻道延迟来最小化从磁盘读取这些 N 页所花费的时间)。理想的情况是,我从一个页面开始读取,并且在磁盘旋转结束之前完成所有读取。页面的位置差异很大,所以我不能简单地发出从第一页到最后一页的读取命令,覆盖所有 N 页。这将占用大量内存来存储。(额外 - 我正在浏览一些材料并遇到“列表预取”“ 数据库中的机制。我通读了它,发现这样的实现可以解决我的问题。)
有人可以帮我用 C 语言解决这个问题吗?提前致谢!