Provavelmente, todas essas operações estão sendo armazenadas em cache na RAM, então você não está interagindo com o disco. As leituras são feitas a partir da RAM, as gravações são armazenadas em cache na RAM e os comandos são concluídos antes que a gravação no disco tenha realmente ocorrido.
Para corrigir isso, inicie cada teste com estes comandos:
sync
echo 3 > /proc/sys/vm/drop_caches
E termine com isso:
sync
sync
irá liberar todas as gravações no disco. O comando echo
descartará o cache para que as leituras posteriores sejam lidas no disco. Isso deve ser executado como root.
Para tornar sua vida mais fácil, em vez de criar arquivos e tentar colocá-los no lugar certo, por que não apenas ler diretamente do arquivo dev para o disco, por exemplo, /dev/sda
?