I CD-ROM

I lettori di CD-ROM usano dischi a lettura ottica ricoperti di plastica. Le informazioni vengono registrate sulla superficie del disco in piccoli `fori' allineati lungo una spirale che va dal centro verso l'esterno. Il lettore dirige un raggio laser lungo la spirale per leggere il disco. Quando il laser colpisce un buco, il raggio viene riflesso in un modo, quando colpisce la superficie liscia viene riflesso in un altro, rendendo facile codificare i bit e quindi le informazioni. Il resto è facile, semplice meccanica.

I lettori di CD-ROM sono lenti se paragonati agli hard disk. Mentre un tipico hard disk ha un tempo di ricerca medio minore di 15 millisecondi, un CD-ROM veloce si attesta sui decimi di secondo; una velocità di trasferimento dati reale di centinaia di kilobyte al secondo è piuttosto alta. La lentezza sta a significare che i lettori di CD-ROM non sono comodi da usare al posto degli hard disk (alcune distribuzioni di Linux forniscono filesystem `live' su CD-ROM, rendendo inutile copiare i file sull'hard disk e quindi facilitando l'installazione e salvando molto spazio su disco), anche se è sempre possibile. Per installare nuovo software, i CD-ROM sono molto validi, perché non è essenziale una velocità altissima durante l'installazione.

Ci sono diversi modi di sistemare i dati su un CD-ROM; il modo più comune è specificato dallo standard internazionale ISO 9660. Questo standard specifica un filesystem minimale, anche più povero di quello usato dall'MS-DOS; d'altra parte, è talmente minimale che qualsiasi sistema operativo dovrebbe essere in grado di mapparlo sul suo sistema nativo.

Per l'uso normale sotto UNIX non si può usare il filesystem ISO 9660, quindi è stata sviluppata un estensione allo standard: le estensioni Rock Ridge. Le Rock Ridge permettono di usare nomi più lunghi, link simbolici e molte altre caratteristiche, rendendo un CD-ROM molto simile ad un qualsiasi filesystem UNIX moderno. Ancora meglio, un filesystem Rock Ridge è ancora un filesystem ISO 9660 valido e quindi può essere usato anche su sistemi non UNIX. Linux supporta sia l'ISO 9660 che le estensioni Rock Ridge e queste vengono riconosciute ed utilizzate automaticamente.

Il filesystem è però solo metà del lavoro: la maggior parte dei CD-ROM contengono dati che richiedono programmi speciali per potervi accedere e la maggior parte di questi programmi non girano sotto Linux (eccetto forse sotto dosemu, l'emulatore di MS-DOS per Linux).

Si accede ai lettori di CD-ROM attraverso il corrispondente file di device. Ci sono diversi modi di connetterne uno al computer: attraverso un controller SCSI, una scheda audio o un controller EIDE