OS是否首先读取块以便写入块设备?

时间:2014-04-02 03:06:01

标签: linux windows operating-system

让我们先把写缓冲放在一边。

由于基本单元OS在块设备上运行是块,对于非块对齐的写入,OS是否需要首先从磁盘读取这样的块以进行写入?

我知道这种方案叫做read-modify-write。这种方案通常用于未对齐的写入吗?这对我来说似乎有点违反直觉,因为我们在这种情况下将IO加倍。

即使使用写入缓冲,如果我们有许多不相互连续的未对齐写入,操作系统是否需要首先读取这些未对齐写入的每个块,然后将它们写入磁盘?

谢谢。

1 个答案:

答案 0 :(得分:3)

至少对于SATA,是:要处理部分扇区写操作,操作系统必须读取扇区,更改扇区并写回整个扇区。 SATA command set没有命令来处理扇区内的单个字节范围 - 只有完整扇区。