Compreendendo o tamanho do bloco IO

3

hdparm -I /dev/sda output:

Logical  Sector size:                   512 bytes
Physical Sector size:                   512 bytes

stat somefile output:

Size: 509           Blocks: 8          IO Block: 4096   regular file

Por que Bloco IO é 4096? Não é o mesmo tamanho do setor físico que é de 512 bytes?

    
por EdiD 18.02.2017 / 17:37

1 resposta

3

Não. O tamanho do bloco de disco diz, em quão grandes pedaços de bytes são os dados manipulados no disco. Se você escrever algo em um arquivo, seu processador / placa-mãe tem que dizer ao controlador de unidade quais bytes devem ser gravados em qual setor do disco. Isso pode acontecer apenas em blocos de 512 bytes.

A distinção entre o tamanho do setor lógico e físico é a seguinte: o tamanho do setor físico é aquele em que os dados são organizados no disco fisicamente. O tamanho do setor lógico significa que os pedaços com o seu processador / placa mãe podem falar com a placa controladora do driver (que muitas vezes também faz parte da placa-mãe, mas o sistema operacional ainda precisa saber quais tamanhos de bloco devem ser produzidos durante a leitura do disco) / operação de gravação).

Desde algumas décadas, também o tamanho do setor físico é falsificado, e os detalhes exatos dele são um segredo comercial do fabricante do disco rígido. Mas os sistemas operacionais ainda precisam conhecer esses dados falsificados, porque fazem parte dos padrões do disco (SCSI, PATA, SATA, etc). Assim, o tamanho do setor físico não tem significado prático na maioria dos casos.

Em alguns discos mais novos existe um novo desenvolvimento, que usa setores lógicos 4096 em vez de 512. É necessário porque os números de setores em alguns protocolos ATA antigos têm um tamanho de 32 bits, portanto discos maiores que 4 bilhões de setores (= 2Terabytes ) não poderia ser abordado neles.

O comando stat diz o tamanho do bloco do seu sistema de arquivos. Também a maioria dos sistemas de arquivos organiza os dados em blocos no seu sistema. Se você criar um único arquivo de byte, ele terá que alocar 4096 bytes no seu disco. Raramente há sistemas de arquivos não orientados a block, por exemplo Reiserfs, embora ele ainda seja organizado em blocos, seu menor tamanho de disco alocável é de apenas 32 bytes. Assim, um arquivo de 1 byte alocará apenas 32 bytes em um sistema de arquivos reiserfs.

    
por 18.02.2017 / 18:10