Da qualche tempo a questa parte notiamo un “abuso” del termine ROM. Acronimo di Read Only Memory, il termine viene da molti erroneamente utilizzato per riferirsi alla memoria interna, allo storage disponibile su uno smartphone. Ciò che è ancora più grave è che addirittura nei “volantini” pubblicitari di alcune catene della grande distribuzione viene usato il termine ROM nella stessa (scorretta) accezione.
Nel caso delle schede madri per PC, una ROM è una memoria posizionata sulla motherboard che contiene e conserva istruzioni di importanza vitale che non cambiano mai o quasi nel corso del tempo. Non è possibile scrivere normalmente in una memoria ROM: il dispositivo legge solamente i dati in essa presenti e li utilizza per il corretto funzionamento del computer (firmware o simili).
Il contenuto della ROM non è qualcosa che utente e/o sistema operativo devono modificare spesso e di solito eventuali interventi (ad esempio l’aggiornamento del BIOS: Aggiornare BIOS: come si fa, a cosa serve e quando va fatto) si effettuano usando strumenti software che agiscono a basso livello.
Il termine ROM viene utilizzato come suffisso per riferirsi a quei dispositivi che permettono soltanto la lettura delle informazioni ivi memorizzate: si pensi a CD-ROM, DVD-ROM, BD-ROM ma anche EEPROM e così via.
Dispositivi mobili come gli smartphone utilizzano un certo quantitativo di memoria interna o storage utilizzato per la memorizzazione del sistema operativo, delle app e dei dati dell’utente. Le capacità di memorizzazione possono essere eventualmente estese inserendo una scheda microSD nell’apposito slot, ove presente (nell’articolo Spostare app su scheda SD, ecco come si fa abbiamo visto come spostare anche le app sulla microSD utilizzando un dispositivo Android).
La memoria interna di uno smartphone Android è di tipo eMMC (embedded MultiMediaController) o UFS (Universal Flash Storage), più veloce: si tratta di memorie di massa di tipo flash che consentono di salvare i dati in forma non volatile, come invece accade nel caso delle RAM. Come una ROM la memoria interna di uno smartphone continua a conservare i dati anche quando la fonte di alimentazione elettrica dovesse venire meno (si pensi alla batteria completamente scarica).
Ci sono però profonde differenze tra ROM e memoria interna di uno smartphone: utilizzare i due termini come se fossero interscambiabili è un errore.
Dicevamo che sono tantissimi a usare il termine ROM in luogo di “memoria interna” e talvolta capita di leggere nefandezze come “le app scrivono nella ROM“.
Una certa confusione può essere nata dal fatto che il sistema operativo caricato dallo smartphone è conservato in una speciale area della memoria interna che di norma non può essere oggetto di accesso da parte delle app e dell’utente.
L’area contenente il sistema operativo (è una vera e propria partizione nel caso di Android) fa comunque parte della memoria interna: il fatto che si tratti di una zona tecnicamente posta in sola lettura (almeno senza adottare misure speciali per apportarvi eventuali modifiche) ha indotto molti utenti e, purtroppo, anche tanti giornalisti e coloro che dovrebbero essere “addetti ai lavori” a usare il termine ROM.
La memoria interna di un tipico dispositivo Android è suddivisa in 6 partizioni. Quelle principali sono rappresentate in figura anche se alcuni dispositivi, a seconda del modello, potrebbero usarne altre.
Le partizioni /sdcard
e /sd-ext
sono utilizzate per la scheda SD; in alcuni casi la presenza della scheda SD viene “emulata” (vedere più avanti).
Il contenuto delle partizioni boot
, system
e recovery
che, rispettivamente, ospitano i file necessari per l’avvio del sistema operativo, il sistema operativo Android vero e proprio (eventualmente nella versione personalizzata dal singolo produttore) e la console di ripristino, può essere eventualmente modificato solo con lo sblocco del bootloader per poi procedere con il caricamento di una versione di Android alternativa.
Si tratta di una procedura che può risultare utile quando, per esempio, si utilizzasse una versione di Android ormai superata e il produttore dello smartphone non rilasciasse più aggiornamenti di nessun tipo (compresi quelli legati a problematiche di sicurezza): vedere Root Android: a cosa serve e come si fa e Aggiornamento Android, come effettuarlo quando sembra impossibile. In questi frangenti si può scaricare una “ROM Android personalizzata” proveniente da fonti affidabili ed effettuare il flashing della memoria interna del dispositivo così da sostituirla alla vecchia versione del sistema operativo.
Come si vede, le stesse versioni personalizzate di Android vengono colloquialmente chiamate “ROM” proprio perché vanno a sostituire quanto presente in un’area della memoria interna generalmente ritenuta immodificabile.
Scrivere, come si legge anche in molte pubblicità, che uno smartphone consta di 6 GB di RAM e di 128 GB di ROM è profondamente errato. Le applicazioni, tra l’altro, vengono installate e salvano i loro dati una partizione della memoria interna che risulta perfettamente “scrivibile”: dimostrazione di come l’uso del termine ROM sia del tutto fuori luogo.
Effettuando il rooting del dispositivo è possibile anche avere visibilità su partizioni normalmente nascoste e addirittura interagire con i file in esse conservati.
È importante evidenziare che in Android le applicazioni installate hanno titolo per memorizzare i loro dati in due locazioni di memoria: sullo storage interno e su quello esterno: i dati salvati nello storage interno sono accessibili solo dall’app che li ha creati mentre quelli conservati all’esterno sono leggibili/scrivibili da qualunque applicazione.
In questo secondo caso altre app Android in esecuzione sul dispositivo possono accedere alle informazioni appartenenti ad altre applicazioni.
Nel caso di Android “storage esterno” non significa necessariamente scheda SD: molte app, infatti, memorizzano i loro dati in una sottocartella del percorso /storage/emulated/0/
(WhatsApp, ad esempio, usa la directory /storage/emulated/0/WhatsApp/Media/
).
La stringa emulated
suggerisce appunto “l’emulazione” di un supporto di memoria esterno.
Il 50% delle app Android oggi esistenti utilizza il permesso WRITE_EXTERNAL_STORAGE
: ciò significa che un’applicazione Android su due può leggere e modificare i dati di qualunque altra applicazione installata, sempre che essa memorizzi i suoi file nella cartella emulated
o comunque nell’eventuale memoria esterna. Altro che ROM!