
Eu tenho dois discos em meu computador local, então quando você grava nesses discos simultaneamente, as alterações são gravadas neles em série ou em paralelo?
Responder1
Vou explicar usando um exemplo. Esses números não pretendem ser reais, apenas uma demonstração.
Suponha que leva 10 segundos para gravar um bloco de dados (ignorando o tamanho desse bloco), mas leva apenas 1 segundo para instruir o disco a escrever um bloco.
Suponha também que neste exemplo simplista a CPU só pode enviar comandos para um disco por vez.
No primeiro segundo a CPU instrui o disco 1 a escrever um bloco. No segundo segundo disco 1 começa a escrever enquanto a CPU instrui o disco 2 a escrever um bloco. No terceiro segundo disco 2 começa a escrever.
No segundo 11 o disco 1 terminará e no segundo 12 o disco 2 terminará. Portanto, neste exemplo, os comandos foram enviados serialmente, mas as operações de gravação foram realizadasmajoritariamente(cerca de 9 segundos) em paralelo.
Acumule cerca de mil camadas de complexidade e você se aproximará do que realmente acontece no seu computador.
Resumindo, sim, o sistema fará o possível para escrever em paralelo.
Responder2
Os discos são espelhados? Se assim for, então eles estão escrevendo tão próximo quanto simultaneamente, sem probabilidades. Se não, eles estão no mesmo controlador? Nesse caso, eles provavelmente estão escrevendo sequencialmente (ou possivelmente fazendo gravações intercaladas). Se estiverem em controladores diferentes, eles poderão gravar simultaneamente ou sequencialmente, dependendo do perfil das operações de gravação e de vários outros fatores, como o modo como o cache é configurado no sistema.
Responder3
Sim, as gravações são assíncronasa menos que você especifique a sync
opção para um dispositivo de bloco no formato /etc/fstab
.
Até mesmo dispositivos de bloco que compartilham o mesmo BUS de sistema são capazes de trabalhar de forma assíncrona, já que seu controlador SCSI/IDE suporta a condução de mais de um por vez.