Одиночная машина с двумя дисками

Одиночная машина с двумя дисками

У меня на локальном компьютере два диска. Когда вы одновременно записываете данные на эти диски, изменения записываются на них последовательно или параллельно?

решение1

Я объясню на примере. Эти цифры не претендуют на реальность, это просто демонстрация.

Предположим, что запись одного блока данных занимает 10 секунд (без учета размера этого блока), но для того, чтобы дать диску команду записать блок, требуется всего 1 секунда.

Также предположим, что в этом упрощенном примере ЦП может отправлять команды только одному диску за раз.

В первую секунду ЦП дает команду диску 1 записать блок. Во вторую секунду диск 1 начинает запись, в то время как ЦП дает команду диску 2 записать блок. В третью секунду диск 2 начинает запись.

В 11 секунд диск 1 завершит работу, а в 12 секунд диск 2. Таким образом, в этом примере команды были отправлены последовательно, но операции записи были выполненыпо большей части(примерно 9 секунд) параллельно.

Добавьте около тысячи уровней сложности, и это станет близко к тому, что на самом деле происходит на вашем компьютере.

Короче говоря, да, система будет делать все возможное, чтобы писать параллельно.

решение2

Зеркальны ли диски? Если да, то они пишут почти одновременно, насколько это возможно. Если нет, находятся ли они на одном контроллере? Если да, то они, вероятно, пишут последовательно (или, возможно, выполняют чередующиеся записи). Если они находятся на разных контроллерах, то они могут писать либо одновременно, либо последовательно, в зависимости от профиля операций записи и множества других факторов, таких как настройка кэширования в системе.

решение3

Да, запись асинхроннаяесли только вы не укажете syncопцию для блочного устройства в /etc/fstab.

Даже блочные устройства, использующие одну и ту же системную шину, могут работать асинхронно, поскольку ваш контроллер SCSI/IDE поддерживает управление несколькими устройствами одновременно.

Связанный контент