I CD audio (chiamati anche CD-DA, specificati nel Red Book proprietario) sono il formato più antico del CD. Il formato è ispirato alla registrazione audio, quindi hai una traccia a spirale con dati continui, e interfogliati con questi dati ci sono informazioni temporali. Non ci sono intestazioni di blocco appropriate. L'unità di informazione più piccola è un frame, o 1/75 di secondo, che contiene 2352 byte di dati (per 2 canali, 2 campioni/byte, 44,1 kHz).
Si noti che questa non è una potenza di due e non si divide nemmeno per 256 o 512. Quindi trattare i frame audio come blocchi di dati è un po' imbarazzante. Inoltre, le prime unità CD non possono sempre posizionarsi correttamente, quindi se gli dici "vai a leggere il frame a 12 minuti 4 secondi e 5 1/75 secondi", a volte inizierà alcuni byte in anticipo o in ritardo. Ecco perché ci sono così tanti programmi per leggere "correttamente" i CD audio (come cdparanoia
).
Ora confrontalo con un CD di dati (chiamato anche CD-ROM, specificato nel Libro Giallo):hanno preso i 2352 byte di un frame audio e ne hanno usati alcuni per le informazioni di intestazione per identificare un blocco. Hanno anche aggiunto un altro livello di correzione degli errori, quindi i 2352 byte di un frame audio diventano 2048 byte in un frame di dati.
Ora abbiamo una potenza di due come dimensione del blocco, abbiamo intestazioni adeguate e possiamo fare ricerche esatte, e possiamo davvero fingere che questo sia solo un dispositivo a blocchi.
Quindi questo è il motivo per cui, per impostazione predefinita, un CD audio non viene trattato come un dispositivo a blocchi, mentre un CD dati lo è.
Detto questo, non c'è motivo per non rendere disponibili le informazioni sul CD audio nel filesystem, diciamo, come file WAV per ogni traccia. E infatti, ci sono alcuni progetti open-source come CDfs, o altri che non ricordo adesso che usano FUSE, che rappresentano i dati del CD in questo modo. Tuttavia, sei ancora bloccato con il problema che non c'è correzione del jitter ecc., quindi è meglio usare qualcosa come cdparanoia
.
E anche quelli del kernel pensavano che fosse una cattiva idea.