我的本地计算机上有两个磁盘,所以当您同时写入这些磁盘时,更改是串行写入还是并行写入?
发布于 2012-07-18 16:05:18
我会用一个例子来解释。这些数字并不是真实的,只是一个示范而已。
假设编写一个数据块需要10秒(忽略该块的大小),但指示磁盘写入一个块只需1秒。
还假设在这个简单的示例中,CPU一次只能向一个磁盘发送命令。
在第一秒钟,CPU指示磁盘1写一个块。在第二秒钟中,磁盘1开始写入,而CPU指示磁盘2写入块。在第三秒钟,磁盘2开始写入。
在第二盘,第一盘将完成,在第二盘,第二盘将完成。因此,在这个例子中,命令是串行发送的,但是写操作主要是并行执行的(大约9秒)。
堆积如山的大约一千层的复杂性,它变得接近实际发生在你的电脑。
所以简单地说,是的,系统将尽最大努力并行编写。
发布于 2012-07-18 10:31:54
磁盘镜像了吗?如果是这样的话,那么他们的写作几乎是同时进行的,几乎没有任何可能。如果没有,他们在同一个控制器上吗?如果是这样的话,他们可能是按顺序写的(或者他们可能是在写交错写)。如果它们位于不同的控制器上,它们可以同时或顺序地写入,这取决于写操作的概要文件,以及许多其他因素,比如如何在系统上配置缓存。
发布于 2012-07-18 12:23:28
是的,写是异步的。,除非您在/etc/fstab中为块设备指定sync选项。
即使是共享相同系统总线的块设备也能够异步工作,因为SCSI/IDE控制器支持一次驱动多个。
https://unix.stackexchange.com/questions/43363
复制相似问题