我有一个程序,它向文件服务器上的一个文件添加一个字节的数据。我想知道,当文件打开并在写入每个字节数据后关闭时,这需要多少次磁盘寻道?
答案1
这取决于已缓存了多少有关文件/其路径的数据,打开文件和附加字节之间的间隙,附加字节和关闭文件之间的间隙,以及同时使用磁盘/缓存的其他内容。
即使你能找出所有这些,你为什么想知道这样的事情?即使在没有任何其他 I/O 的情况下,你也不知道寻道操作需要多长时间——这取决于磁盘的速度、文件在磁盘上的位置以及磁盘收到请求时磁头的位置。
答案2
在 Windows 下,0 因为默认情况下 Windows 将等待直到没有 IO(从而刷新缓冲区)或缓冲区已满。这是根据写入缓存策略按设备控制的。