Caratteristiche comuni nei sistemi *BSD

A causa della sfortuna di 386BSD, che ha dovuto essere eliminato dalla distribuzione pubblica (per i motivi legali a cui si accenna nella sezione ##capitolo-storia-breve-bsd##), lo Unix BSD «libero» si è suddiviso in tre varianti diverse: NetBSD, FreeBSD e OpenBSD.

Lo scopo di questo capitolo è quello di annotare gli elementi comuni, o comunque le caratteristiche tipiche di questi sistemi *BSD, senza entrare troppo nel dettaglio.

Partizioni nei sistemi *BSD

Anche se i sistemi *BSD riconoscono le partizioni Dos, gestiscono un sistema di partizioni autonomo, denominato disklabel. Quando si utilizzano architetture x86, queste partizioni speciali BSD si ottengono all'interno di una partizione Dos normale.

Per la precisione, una disklabel è una partizione speciale BSD, identificata da un'etichetta di riconoscimento (e questo spiega il senso del nome che gli è stato attribuito: «etichetta del disco») nella forma x:. La cosa ricorda un po' le unità a disco del Dos, con la differenza che le etichette BSD sono composte con delle lettere minuscole.

L'uso di queste etichette segue una tradizione, più o meno obbligatoria. In generale, si utilizzano solo le etichette da a: a h:; inoltre, le prime quattro hanno un significato ben preciso, come si vede nella tabella u203.1, che di solito è meglio non tentare di alterare.

Tabella u203.1. Utilizzo standard delle partizioni nei sistemi *BSD.

Etichetta Utilizzo
a: Partizione primaria.
b: Partizione di scambio per la memoria virtuale.
c: Spazio complessivo usato dal sistema *BSD.
d: Spazio complessivo del disco.
e:, f:, g:, h: Partizioni disponibili.

Osservando la tabella, si può notare la particolarità della partizione identificata dall'etichetta c:, il cui scopo è quello di riassumere lo spazio complessivo utilizzato. A seconda della variante BSD, può darsi che l'etichetta c: svolga simultaneamente anche il ruolo della d:. Questo particolare va verificato.

L'etichetta b: è molto importante. In molti casi non c'è modo di definire una partizione di scambio differente. Anche se non dovesse essere necessaria una partizione di scambio, nel disco (o nella partizione Dos) che si sta suddividendo, conviene definire un'etichetta b: di dimensione nulla, per evitare inconvenienti spiacevoli.

In generale, se i dischi a cui si vuole accedere con il proprio sistema *BSD hanno una geometria reale diversa da quella che viene mostrata effettivamente, possono nascere degli inconvenienti. Per risolvere il problema alla radice, è sufficiente configurare la geometria in modo che corrisponda a quella reale (in mancanza di altro, si può cercare di leggere l'etichetta del disco fisso).

Storicamente, la traduzione della geometria è una tecnica nata per risolvere il problema del BIOS (il firmware degli elaboratori x86), che non era in grado di accedere a cilindri oltre il 1 024-esimo. Evidentemente, il problema resta; quello che conta è che la partizione principale, corrispondente all'etichetta a:, si trovi entro tale limite.

Il file di dispositivo utilizzato per identificare una partizione BSD non contiene l'informazione della partizione Dos, come avviene invece con GNU/Linux, limitandosi a specificare l'etichetta. Questo fatto ha delle conseguenze importanti: ci può essere una sola partizione BSD in un disco; per accedere alle partizioni di altri sistemi operativi, occorre creare delle etichette che vi fanno riferimento.

Dispositivi tipici

I file di dispositivo dei sistemi *BSD si trovano nella directory /dev/, secondo la tradizione Unix. Purtroppo, le varianti *BSD non usano le stesse convenzioni, per cui è sempre necessario leggere la documentazione specifica per sapere quale file di dispositivo utilizzare. La tabella u203.2 elenca solo alcuni dispositivi essenziali, mostrando in particolare il nome del file corrispondente nella directory /dev/.

Tabella u203.2. Alcuni dispositivi tipici nei sistemi *BSD su architettura x86.

Dispositivi File I/O IRQ DMA Annotazioni
Porte seriali com0, pccom0 3F816 4
com1, pccom1 2F816 3
com2, pccom2 3E816 5
Porte parallele lpt0 37816 7
lpt1 27816 --
lpt2 3BC16 --
Dischi ATA wd0
wd1
wd2
wd3
Unità a dischetti fd0
fd1
Dischi SCSI sd0
sd1
sd2
sd3
Nastri SCSI st0
st1
CD-ROM cd0
cd1

È interessante notare il modo in cui si identificano le partizioni e le etichette relative:

wdnx
sdnx

I due modelli rappresentano un disco ATA e un disco SCSI, dove n corrisponde al disco, a partire da zero, e x corrisponde alla lettera dell'etichetta. È chiaro che manca l'indicazione della partizione Dos, per cui tutto, anche le partizioni esterne, va inteso a livello di etichetta.

Riferimenti

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net