Setor é uma região física na unidade de disco, e o tamanho do setor é definido pelo hardware. As leituras e gravações no disco são executadas em setores. Os dados de e para o disco rígido estão em transferências do tamanho de setores.
(O primeiro controlador de disco (para 14 "disk drives) que eu já programou não usava setores, mas registros (discos). Cada faixa tinha que ser formatada com o layout do disco. Se você quisesse enlouquecer, cada registro na faixa poderia ter um tamanho único.Mas normalmente todos os registros em cada faixa de todo o volume de disco foram formatados com o mesmo comprimento de registro.Gravações de disco modernas não têm mais esses recursos de formatação, mas em vez disso usam setores Desde então, eu não me lembro de ouvir a frase "disco de gravação". Nota: 8 "disquetes tinham um esquema de formatação similar mas simplificado que ficou conhecido como" soft sectoring ", já que os registros eram sempre consistentes, mas não fixos , comprimento.)
(No nível do dispositivo, o termo registro costumava ser usado também para o bloco físico, por exemplo, um registro de fita magnética ou disco. Um documento técnico de transporte de fita ou unidade de disco pode se referir a um registro como o menor bloco físico de E / S. Mas, a menos que você esteja realmente usando fita ou trabalhando no nível do controlador de disco, registro pode ser considerado como um usuário / arquivo / entidade do sistema de arquivos.)
Registro é (mais comumente usado como) um conceito de sistema de arquivos (ou lógico) e é (então) irrelevante no nível de E / S inferior (disco) (isto é, leitura ou gravação de um registro ocorre somente na interface do usuário para o sistema). O conteúdo e o tamanho do registro podem ser definidos pelo usuário ou ditados pelo arquivo. O registro pode ser comprimento fixo e corresponde a uma estrutura de dados, ou o registro pode ter comprimento variável (por exemplo, uma linha de texto com um < em> nova linha delimitador).
Independentemente da duração do registro, o sistema de arquivos utilizará buffers intermediários para permitir que o usuário / aplicativo realize leituras / gravações de registros e realize a E / S real do dispositivo em setores. A leitura de setores ou blocos físicos do dispositivo para o "buffer do sistema" e a extração dos registros "lógicos" geralmente são chamados de "desbloqueio".
O tamanho de um registro pode ser arbitrário. Idealmente, o tamanho do registro é escolhido de modo que um múltiplo dele seja igual ao tamanho do setor (ou bloco físico) e, em seguida, bloquear I / O (diretamente para / do buffer do usuário) em vez de < strong> buffered I / O . Block I / O é mais rápido, pois envolve uma cópia a menos e usa um buffer a menos, embora o programa do usuário possa ter que fazer seu próprio bloqueio e desbloqueio de registros.