21 Febbraio 2024
Interno di un hard disk - piatti e testine

MBR, GPT, GUID, Partizioni, Contenitori, Volumi, APFS, NTFS: facciamo chiarezza

MBR, GPT, GUID, Partizioni, Contenitori, Volumi, APFS, NTFS, BIOS, UEFI

Quante volte ci siamo trovati di fronte a queste sigle? Termini conosciuti che magari pensavamo di avere una vaga idea di cosa significassero per essere poi smentiti dai fatti quando non siamo riusciti a portare a termine operazioni che, viste sui video tutorial di YouTube possono sembrare semplici, ma che senza la padronanza di certi concetti difficilmente riescono. Situazioni che, oltre a generare frustrazione, possono significare la perdita dei ricordi più cari e di dati importanti per la nostra vita famigliare e lavorativa.



Con questo articolo abbiamo deciso di fare chiarezza spiegandovi in maniera semplice alcuni concetti chiave che stanno alla base del funzionamento dei dispositivi di storage che in informatica classica prendono il nome di memorie di massa ma che i comuni mortali chiamano chiavette usb, DVD, CD-ROM ma soprattutto hard disk e SSD ed è su questi ultimi che ci concentreremo. Il taglio è volutamente divulgativo, gli esperti della materia che dovessero rilevare qualche approssimazione ci scusino fin d’ora.

Black Friday Amazon 2022
Black Friday Amazon 2022: scopri la nostra selezione di prodotti.

L’articolo è diviso in paragrafi che è preferibile, anche se non necessario,  vengano letti in sequenza; i concetti esposti, a meno che non sia diversamente specificato, sono validi per tutti i sistemi operativi.

Memorie di massa

Le memorie di massa sono tutte quelle unità di memorizzazione ed archiviazione che conservano i dati anche quando viene staccata l’alimentazione. Le memorie di massa di cui ci occuperemo in questo articolo sono gli Hard Disk e gli SSD.

Hard Disk VS SSD

L’Hard Disk è un dispositivo elettro meccanico costituito da una serie di piatti sovrapposti la cui superficie è rivestita da materiale in grado di caricarsi magneticamente se esposto ad un campo elettrico. Le testine di lettura e scrittura intersecano i piatti muovendosi radialmente lungo la loro superficie mentre questi ruotano a 5500 o a 7200 giri al minuto.

Piatti di un Hard Disk con le testine
Le testine intersecano i piatti come un pettine

La testina  letteralmente vola sul sottilissimo cuscino d’aria che si forma a causa dell’elevata velocità con cui ruotano i piatti per raggiungere tutte le aree del disco. Per scrivere Il valore logico uno, attraverso i suoi avvolgimenti, emette un brevissimo campo magnetico che magnetizza una piccolissima area del piatto. In fase di lettura, il passaggio di un’area magnetizzata sotto le spire della testina produrrà un impulso elettrico che verrà interpretato come il valore logico uno; il passaggio su un area non memorizzata non produrrà an un impulso elettrico e questo verrà interpretato come il valore logico zero. I dischi sono organizzati in cilindri, tracce e settori. Una traccia è un insieme contiguo di informazioni che sta sul disco come i solchi su cui passa la testina di un giradischi stanno su un disco in vinile. Le tracce partono dalla traccia 0, quella più esterna, e vengono numerate in maniera incrementale man mano che si procede verso l’interno. I cilindri sono formati dalle tracce che, sui diversi piatti, stanno allo stesso livello ed hanno quindi lo stesso numero. Ogni traccia è suddivisa in blocchi di bit chiamati settori. Un settore contiene 512 bytes ed è individuato mediante un numero a partire da 1. Il numero di settori per traccia è tipicamente 63. Le diverse tecnologie di formattazione del disco, come vedremo più avanti, stabiliscono il modo con cui questo spazio  viene reso disponibile al Sistema Operativo.

La gestione di questo complesso sistema di memorizzazione è deputata al controller, una scheda elettronica che consente al processore di accedere, leggere, scrivere, eliminare e modificare i dati contenuti nel disco rigido grazie alle istruzioni contenute nel suo firmware di gestione.

Le parti che costituiscono un Hard DiskSebbene il Disco Rigido sia un capolavoro di ingegneria che, pur mantenendo l’architettura di base, ha subito enormi rivisitazioni ed aggiornamenti tesi ad aumentarne velocità e capienza, e sebbene continui ad essere impiegato nelle soluzioni di storage in ci sono più importanti la capienza ed il basso costo di archiviazione, le sue prestazioni non sono paragonabili a quelle degli SSD che da tempo hanno iniziato a sostituirlo.

In un SSD, le informazioni da immagazzinare sono scritte su celle di semiconduttori di tipo Flash che mantengono il loro stato anche in assenza di alimentazione. Negli SSD più costosi ed a più alte prestazioni, usati per applicazioni industriali, una singola cella di memoria può avere solo due stati: carica o non carica. Questo metodo è chiamato Single Level Cell (SLC) e fa corrispondere ad una cella un solo bit. Essendo un Byte, l’unità di memorizzazione che può contenere un carattere ASCII, formato da 8 bit, con questo tipo di celle per realizzare un gigabyte (1 GB), sono necessarie circa 8 miliardi di celle di memoria (valore esatto: 8 X 230 = 8.589.934.592). Questo può darvi un’idea di quanto costi utilizzare il sistema MLC .

Differenze tra HDD e SSD

Fortunatamente, è anche possibile utilizzare diversi valori di tensione in una cella, per fare in modo che per ogni cella di memoria possa essere memorizzato più di un bit. Questo tipo di memorizzazione è chiamato Multi Level Cell (MLC) e di solito consente di memorizzare due bit per cella. In questo modo, nello stesso spazio possono essere ospitati un numero doppio di dati, risparmiando così sui costi. Il suo svantaggio è il minor numero di cicli di scrittura a cui può essere sottoposta la singola cella. Esiste, inoltre un’altra tecnica di memorizzazione chiamata Triple Level Cell, in grado di ridurre ulteriormente i costi di produzione.


I semiconduttori hanno una durata limitata che dipende dal numero di volte in cui una singola cella può essere cancellata e riscritta. Quando una cella si rompe, il controller dell’SSD la sostituisce utilizzando un algoritmo di  “Bad Block Management”, ovvero attuando un monitoraggio interno che rileva le celle di memoria usurate e contrassegna i blocchi contenenti celle di memoria a rischio di guasto come difettosi sostituendoli con altre celle provenienti da una riserva. A seconda della struttura e del costo dell’SSD, questa può comprendere dal due al sette per cento della capacità totale di archiviazione ed è in grado di estendere considerevolmente la durata di un SSD. Il controller degli SSD deputanti ad essere unità di avvio di un sistema operativo attua anche politiche di wear levelling tese a distribuire il livello di usura tra tutte le celle del supporto. Nelle unità di memorizzazione che ospitano un sistema operativo, alcune strutture sono riscritte continuamente. Gli algoritmi di Wear Levelling spostano continuamente questi file evitando che la rottura delle celle su cui sono ospitati possa compromettere l’intera unità. Per questo motivo le unità SSD utilizzate come disco di avvio sono diverse da quelle utilizzabili solo per lo storage.

È opportuno menzionare anche il caso speciale dei dischi rigidi ibridi (conosciuti anche come HHD): una combinazione tra un disco rigido HDD e un SSD in cui la veloce memoria flash dell’SSD è utilizzata per essere di immediato servizio ai processi del sistema operativo in esecuzione mentre il capiente HDD è destinato allo storage di lungo periodo. Un tipico esempio di questa tecnologia sono i dischi Fusion utilizzati da Apple negli iMac prima del passaggio agli SSD puri negli ultimi modelli che montano i processori Apple Silicon.

Partizioni

Partizionare un disco significa dividerlo in parti distinte tra loro indipendenti. L’operazione successiva al partizionamento è la formattazione, operazione con la quale si rende disponibile la memoria di massa al sistema operativo. Nel caso di partizionamenti multipli, ciascuna partizione apparirà al Sistema operativo come un’unità di memorizzazione di massa separata dalle altre.  Attraverso il partizionamento si può fare in modo che un sistema dotato di un’unica unità di memorizzazione di massa, sia essa un Hard Disk o un SSD, possano essere ospitati più sistemi operativi. Spesso si usa creare sullo stesso disco due partizioni, una per il sistema operativo e le applicazioni e l’altra per i dati, in modo che nel caso si renda necessario reinstallare il sistema operativo non si perdano i dati utente. Ad iniziare da MacOS 10.7 codename Catalina, Apple ha dedicato al sistema operativo una partizione su cui l’utente non ha diritti di scrittura, in modo rendere impossibile a virus e malware in genere la modifica dei file di sistema, lasciando all’utente un’altra partizione per l’istallazione dei programmi e la memorizzazione dei dati.

Esistono sostanzialmente due sistemi per partizionare un’unita: il vecchio MBR, associato al BIOS e il nuovo sistema di partizionamento GPT associato a UEFI

BIOS VS UEFI

L’UEFI e il software che ha sostituito il vecchio BIOS. Il BIOS o l’UEFI sono il primo programma che viene eseguito all’accensione del computer. In entambi i casi si tratta di un insieme di routine software, scritte su memoria ROM, FLASH o altra memoria non volatile, che forniscono una serie di funzioni di base per l’accesso all’hardware del computer e alle periferiche integrate sulla scheda madre da parte del sistema operativo e dei programmi. Nei computer IBM-compatibili la ROM del BIOS contiene anche il POST, un test che verifica che tutti i componenti e le periferiche del computer funzionino correttamente. Sovente è compilato in linguaggio assembly nativo della famiglia di CPU utilizzata. La compilazione informatica dei BIOS per i PC recenti è realizzata su memorie EEPROM riscrivibili, quindi può essere aggiornata tramite modifica. I costruttori mettono a disposizione nuove versioni di BIOS per correggere difetti rilevati oppure aggiungere supporto a nuove periferiche hardware non previste al momento della produzione del BIOS.



In PRATICA sia il BIOS sia l’UEFI che lo sostituisce nei computer di ultima generazione, sono uno strato software di interfaccia tra l’hardware ed il sistema operativo.

Unified Extensible Firmware Interface (in acronimo UEFI) è un’interfaccia informatica tra il firmware e il sistema operativo di un PC progettata per sostituire il BIOS a partire dal 2010. È un brevetto di Intel, che ha importato formati e funzionalità di Microsoft Window: scritto in linguaggio C, supporta funzioni di telecontrollo, diagnostica da remoto, installazione di sistemi operativi, o di aggiornamento software anche se nessun sistema operativo risiede nel PC. È disponibile su piattaforme Itanium (IA-64), x86 (a 32 e a 64 bit), e ARM.

UEFI utilizza una piccola partizione di sistema denominata EFI formattata FAT 32 e residente su una memoria di massa. La partizione  EFI viene utilizzata nei computer che aderiscono all’interfaccia del firmware estensibile unificata. Viene generata automaticamente quando si installa il sistema operativo, sia esso un sistema operativo Windows o Mac. Quando si avvia il PC, il firmware UEFI carica i file essenziali memorizzati su questa partizione per avviare il sistema operativo installato e le varie utilità necessarie per l’avvio della macchina. La partizione di sistema EFI contiene caricatori di avvio, driver di dispositivo, utilità di sistema e alcuni file di dati chiave che sono assolutamente necessari per l’avvio del sistema operativo.

(Fonte Wikipedia)

MBR VS GPT

I dischi organizzati con Master Boot Record (MBR) utilizzano la tabella delle partizioni BIOS standard. Attraverso questo sistema si possono avere fino a quattro partizioni primarie, dalle quali può essere avviato un sistema operativo e fino a sessantaquattro partizioni estese sulle quali memorizzare i dati.

Sono sostanzialmente due i principali vantaggi offerti dal il sistema di gestione delle partizioni dei dischi GPT:

  • si possono  avere più di quattro partizioni primarie su ciascun disco;
  • si possono gestire anche i dischi di dimensioni superiori a due terabyte (TB).

È possibile convertire un disco da MBR a GPT purché il disco non contenga partizioni o volumi utilizzando programmi di terze parti.

Formattazione

Una volta effettuato  il partizionamento, si deve procedere con la formattazione.

La formattazione è l’operazione tramite la quale si prepara per l’uso la partizione di un supporto di memorizzazione di massa, come ad esempio un disco fisso o  un SSD per renderlo idonea all’archiviazione di dati, impostando la struttura del file system che vi verrà creato sopra.

La formattazione non va confusa con l’inizializzazione, che  è la fase precedente alla formattazione, quella di preparazione logica e scrittura dei dati di etichettatura dell’unità di memorizzazione. In pratica, l’inizializzazione di una nuova unità (o, similmente, la re-inizializzazione di una già utilizzata) serve per stabilire lo stile (GPT o MBR), e, con il partizionamentio, tipo, numero e dimensione delle partizioni.

L’operazione di formattazione consiste nel dividere la capacità del disco in una serie di blocchi di uguali dimensioni, chiamati unità di allocazione e fornire una struttura logica in cui verranno scritte le informazioni che permetteranno l’accesso ai dati desiderati. Un esempio di queste strutture sono la FAT, acronimo che sta per File Allocation, Table, che specifica in quali blocchi del supporto di memorizzazione di massa si trovano le parti che compongono un determinato file, per numerosi tipici  file system quali FAT, FAT32, ed EXFAT.

File System

Il File System descrive la modalità con cui i dati vengono organizzati sul supporto di memorizzazione. Attraverso le sue strutture di indicizzazione rende possibile l’accesso ai dati in modalità casuale invece che sequenziale. Senza l’organizzazione del File System, il tempo di accesso alle informazioni non sarebbe costante, ma dispenderebbe dalla zona del supporto in cui queste sono memorizzate. Le operazioni di lettura, infatti, dovrebbero iniziare all’inizio dell’unità per continuare verso la fine finche i dati non siano stati trovati; un po come succede per le unità a nastro che, con l’accesso ai dati di tipo sequenziale,  ben si prestano alle operazioni di backup a basso costo per bit memorizzato ma sono inutilizzabili per l’accesso diretto ai dati.

I Moderni File System quali NTFS o APFS stabiliscono regole per la nomenclatura dei file, e gestiscono  i metadati responsabili degli attributi del file (visibile, nascosto, di sistema, pronto per l’archiviazione, ecc.) e della lista dei permessi di accesso per gli utenti ed i gruppi di utenti detta Access Control List (ACL). Alcuni File System, inoltre, attraverso una tecnica detta Journaling, tengono traccia dei cambiamenti occorsi a ciascun file ospitato dall’unità e sono in grado di fornire leversioni precedenti di ciascun file.

Contenitori

I contenitori, tipici del nuovo file system  APFS di Apple,  sono entità logiche di gestione dello spazio di memorizzazione  che contengono uno o più volumi. Quando tutti i volumi in un contenitore utilizzano il file system APFS, i volumi condividono lo spazio disponibile nel contenitore. Un volume che ha bisogno di spazio di archiviazione aggiuntivo può utilizzare lo spazio libero da un altro contenitore.

Volumi

Un volume è un’area di archiviazione autonoma residente in un contenitore sulla quale un computer può leggere o scrivere dati sotto forma di file. I volumi possono appartenere a CD, DVD, SSD e dischi rigidi. Quando un computer Mac riconosce un volume, lo monta sul desktop in modo da rendere possibile l’accesso ai dati che contiene. I volumi APFS contenuti nello stesso contenitore, condividono  lo stesso spazio libero disponibile nel contenitore.

Contenitori e Volumi in Utility Disco
Contenitori e Volumi in Utility Disco

 

Volumi logici

Un tipo più astratto di volume, noto come volume logico, non è limitato a una singola unità fisica. Può essere costituito da  tutte le partizioni e le unità fisiche necessarie. Un volume logico alloca e gestisce lo spazio su uno o più dispositivi di archiviazione di massa. È il caso, ad esempio, nelle architetture  RAID, nelle quali più volumi vengono visualizzati nel sistema operativo come un unico volume logico o dei dischi Fusion di Apple che uniscono un capiente Hard Disk ad un veloce SSD ottenendo un unico volume logico chiamato di default “Macintosh HD”. Per gestire i volumi logici si utilizzano i Logical Volume Manager (LVM).  Un LVM gestisce storage array, alloca partizioni, crea volumi e controlla il modo in cui i volumi interagiscono tra loro.

Da quando Apple ha introdotto OS X Lion, macOS ha utilizzato un sistema LVM noto come Core Storage. È stato utilizzato per la prima volta per fornire il sistema di crittografia dell’intero disco utilizzato dal sistema Apple File Vault 2. Quando è stato rilasciato OS X Mountain Lion, il sistema Core Storage ha acquisito la capacità di gestire un sistema di archiviazione a livelli che Apple ha chiamato, appunto, unità Fusion.

Conclusioni

Speriamo di avervi dato qualche informazione utile in maniera semplice. In caso di dubbi non esitate a chiedere delucidazioni utilizzando il modulo di contatto.

ApplePhilosophy

Se ritenete questo articolo interessante, divulgatelo tra gli appassionati del settore sui social e condividetelo sui vostri profili. Non dimenticate di iscrivervi alla newsletter per essere avvisati ogni volta che esce un articolo. Seguiteci sui Facebook e Twitter.

Se volete aiutarci a mantenere questo sito, date un occhiata alle offerte di Amazon, siamo nella settimana del Black Friday e si trova di tutto a buon prezzo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *