CDs de áudio (também chamados de CD-DA, especificados no Livro Vermelho) são o formato mais antigo do CD. O formato é inspirado no registro de áudio, então você tem uma trilha em espiral com dados contínuos, e intercalados com esses dados está a informação de tempo. Não há cabeçalhos de bloco adequados. A menor unidade de informação é um quadro, ou 1/75 segundo, que contém 2352 bytes de dados (para 2 canais, 2 amostras / bytes, 44,1 kHz).
Note que este não é um poder de dois, e nem sequer divide por 256 ou 512. Então, tratar quadros de áudio como blocos de dados é um pouco estranho. Além disso, as primeiras unidades de CD nem sempre podem ser posicionadas corretamente, portanto, se você disser "vá ler o quadro em 12 minutos e 4 segundos e 5 1/75 segundos", às vezes começará alguns bytes antes ou depois. É por isso que existem tantos programas para ler CDs de áudio "corretamente" (como cdparanoia
).
Agora compare isso com um CD de Dados (também chamado de CD-ROM, especificado no Livro Amarelo): Eles pegaram os 2352 bytes de um quadro de áudio e usaram alguns deles para informações de cabeçalho para identificar um bloco. Eles também adicionaram outro nível de correção de erros, então os 2352 bytes de um quadro de áudio se tornam 2048 bytes em um quadro de dados.
Agora temos um poder de dois como tamanho de bloco, temos cabeçalhos adequados e podemos fazer buscas exatas, e podemos realmente fingir que isso é apenas um dispositivo de bloco.
Portanto, esta é a razão pela qual, por padrão, um CD de áudio não é tratado como um dispositivo de bloco, enquanto um CD de dados é.
Dito isto, não há razão para não disponibilizar as informações do CD de Áudio no sistema de arquivos, digamos, como um arquivo WAV para cada faixa. E, de fato, existem alguns projetos de código aberto, como CDfs , ou outros que não consigo lembrar direito agora que usam o FUSE, que representam os dados do CD dessa maneira. No entanto, você ainda está preso ao problema de que não há correção de jitter etc., então é melhor usar algo como cdparanoia
.
E o pessoal do kernel também achou que era uma idéia ruim .