Vi siete mai chiesti perché l’unità principale sulla quale è installato il sistema operativo Windows utilizza sempre la lettera C:? Se si collega un secondo disco o si connette un’unità di memorizzazione esterna, il sistema assegna le lettere identificative D:, E: e così via ai vari supporti di memorizzazione. Ma perché non A: o B:? E perché l’unità principale si chiama C:?
La scelta di utilizzare “C:” come lettera di unità principale in Windows risale alle prime versioni del sistema operativo MS-DOS, predecessore di Windows. Nel sistema MS-DOS, le unità di archiviazione erano etichettate con una lettera seguita da un due punti (:). La lettera “C” è stata assegnata all’unità principale, di solito il disco rigido principale.
Unità principale C:, una convenzione che arriva da lontano
I primi modelli di computer come il PC IBM del 1981 non supportavano nemmeno gli hard disk. Potevano accogliere soltanto unità floppy e le lettere A: e B: erano proprio destinate all’identificazione di queste ultime. Fu nel 1983, con IBM PC-XT che fu aggiunto un disco fisso sebbene avesse una capacità pari a soli 10 MB: fu da quel momento che si iniziò usare la lettera C:.
Quando Windows è stato sviluppato e proposto sul mercato, la convenzione delle lettere di unità è stata mantenuta per garantire la compatibilità con i programmi esistenti. L’unità principale del sistema operativo Windows è quindi rimasta “C:”. La convenzione mantenuta nelle versioni successive della piattaforma Microsoft, fino ai giorni nostri.
Differenze nella denominazione delle unità tra Windows, Linux e macOS
Le differenze nella denominazione delle unità tra Windows, Linux e macOS sono principalmente una questione di convenzione e implementazione. Mentre in Windows le unità sono denominate con lettere seguite da due punti (ad esempio C:, D:, E:), in Linux e macOS le unità sono organizzate gerarchicamente all’interno del file system.
In Linux, le unità sono generalmente montate all’interno del file system a partire dalla directory radice (“/”). Tuttavia, in Linux, è anche possibile utilizzare etichette o UUID (Universally Unique Identifier) per identificare e montare le unità invece di utilizzare percorsi di montaggio.
In macOS, le unità sono organizzate in modo simile a Linux, con una directory radice (“/”) come punto di partenza. Tuttavia, macOS utilizza una convenzione di denominazione diversa per le partizioni del disco. Inoltre, macOS utilizza anche un concetto di volume che può includere più partizioni o unità fisiche raggruppate insieme.
Perché in Linux le unità si chiamano sda, sdb e così via?
In Linux, le unità di archiviazione sono denominate utilizzando il sistema di denominazione delle unità SCSI (Small Computer System Interface). Altre soluzioni per l’archiviazione dei dati come SATA (Serial ATA) e USB utilizzano comunque la medesima convenzione.
Il sistema di denominazione delle unità SCSI assegna una lettera seguita da una lettera minuscola agli identificatori dei dispositivi. La lettera “s” sta per “scsi”, anche se in realtà può essere utilizzata per indicare qualsiasi dispositivo di archiviazione, non solo dispositivi SCSI veri e propri.
Le lettere successive rappresentano l’ordine di rilevamento dei dispositivi di memorizzazione. Ad esempio, alla prima unità è assegnato il nome “sda”, alla seconda “sdb”, alla terza “sdc” e così via.
È importante notare che il sistema di denominazione delle unità in Linux non fa riferimento alle partizioni dei dischi, ma ai dispositivi di archiviazione fisici o virtuali. Le partizioni all’interno di un disco risultano numerate in modo separato, ad esempio “sda1” per la prima partizione sul primo disco, “sdb2” per la seconda partizione sul secondo disco e così via.
Questa convenzione di denominazione delle unità in Linux può sembrare meno intuitiva rispetto alle lettere di unità assegnate in Windows, ma è più versatile e consente di gestire un’ampia varietà di dispositivi di archiviazione senza dipendere da un sistema di denominazione basato su lettere specifiche. Inoltre, come abbiamo accennato in precedenza, è possibile utilizzare altre convenzioni di denominazione come UUID o etichette per identificare in modo univoco le unità e le partizioni in Linux, beneficiando di una maggiore flessibilità nella configurazione e nella gestione del sistema.
E la denominazione /dev/nvme?
La denominazione /dev/nvme
fa riferimento ai dispositivi di archiviazione basati sul protocollo NVMe (Non-Volatile Memory Express). NVMe è un protocollo di comunicazione ottimizzato per i dispositivi di archiviazione SSD capaci di offrire prestazioni elevate.
Quando si utilizzano SSD basati su NVMe, il sistema operativo Linux assegna loro un percorso nella forma /dev/nvmeXnY
, dove “X” rappresenta il numero del controller NVMe e “Y” rappresenta il numero del namespace associato al dispositivo.
Un namespace NVMe rappresenta un’istanza virtuale di un dispositivo NVMe che può essere gestito e utilizzato in modo indipendente. Ciò significa che un singolo dispositivo NVMe fisico può essere referenziato con più namespace. Ciascuno di essi può avere le sue caratteristiche e configurazioni. Ad esempio, è possibile assegnare namespace separati per scopi specifici come la virtualizzazione o per l’isolamento delle risorse.
È importante notare che l’uso della denominazione /dev/nvme
richiede che il sistema operativo supporti il protocollo NVMe e che i driver appropriati siano installati e caricati correttamente.