Por que o máximo de E / S no buffer é duas vezes mais rápido que E / S sem buffer?

2

Esta foi uma pergunta em um exame de sistemas operacionais que eu tive recentemente. Eu não consegui encontrar uma resposta realmente clara através do Google, então pensei em perguntar aos gênios aqui:)

Duas coisas a serem levadas em consideração: há apenas um processo executando E / S, um disco rígido e um buffer.

    
por David M 25.08.2010 / 15:36

2 respostas

3

O buffer é mais rápido que o HDD e o HDD é mais rápido ao gravar uma sequência longa do que muitas sequências curtas.

Então, é "rápido" preencher o buffer (até 3Gbit / s para SATA), então "rápido" para escrever isso como uma seqüência de dados (~ 70Mb / s de gravação em disco).

Comparativamente, é "lento" escrever um monte de minúsculos bits, tendo que esperar que o HDD se alinhe a cada vez (tempo de busca típico é ~ 8-12 ms).

    
por 25.08.2010 / 15:51
0

Com E / S armazenada em buffer, o remetente envia os dados o mais rápido possível. Sem um buffer, o remetente precisa ser informado pelo receptor de que está pronto para mais dados.

    
por 25.08.2010 / 15:48