Penso che la gente che dice "nessuno" sia praticamente morta. Per esempio, considera i dispositivi portatili che utilizzano cose come Windows CE. Usano RAM a batteria invece di memristori (o concorrenti come FE-RAM), ma l'idea di base è la stessa: la tua memoria primaria è (efficacemente) non volatile. Nonostante ciò, quasi tutti questi dispositivi dividono la memoria in due sezioni, una usata come memoria principale e l'altra per l'archiviazione del file system.
In teoria non ce n'è bisogno. Potrebbero, ad esempio, fare come MULTICS e mapparlo tutto come memoria virtuale, con la possibilità di dare nomi alle regioni di memoria in modo da poterle trattare (un po ') come i file. Del resto, dato lo spazio di indirizzamento di una CPU corrente, potresti andare ancora oltre: puoi mappare l'intera Internet come un gigantesco spazio di indirizzamento, quindi il recupero di una pagina dal sito X verrebbe considerato semplicemente come cercapersone in qualche memoria virtuale. / p>
Posso pensare ad almeno due motivi che non sono accaduti, e non ci si dovrebbe neanche aspettare che succedano presto. Innanzitutto, non si adatta bene al modo in cui funziona la maggior parte dei software esistenti. Dovresti buttare via quasi tutto il software esistente (i sistemi operativi e ) e ricominciare dall'inizio per approfittare davvero di questo.
In secondo luogo, non sembra adattarsi bene con la stessa maggioranza delle persone pensa e lavora. potrei pensare a tutti i dati su tutti i server del mondo come "memoria virtuale" per il mio computer, ma la maggior parte delle persone no. Da un punto di vista elettrico, non c'è nemmeno una grande differenza tra una connessione SATA e (diciamo) una connessione Ethernet. Mentre cose come le reti di storage e iSCSI hanno contribuito a erodere le percezioni di molte persone piccole , molte persone pensano ancora a "memoria", "file", "locale", "remoto", ecc. abbastanza distinti l'uno dall'altro.
Questi non rimuovono (o riducono sostanzialmente) la necessità di cose come la serializzazione. Sì, mentre sto lavorando su un file sulla mia macchina, non dovrebbe essere serializzato - ma nel momento in cui decido di inviare il file a qualcun altro sulla loro macchina, ho bisogno di un modo per serializzare ("marshall" , se preferisci) i dati in modo che possano usarli sulla loro macchina. La funzionalità potrebbe non essere utilizzata abbastanza spesso, ma dovrebbe comunque essere presente.
Allo stesso modo, avresti bisogno di un modo per eseguire il backup, ripristinare e (con una strong preferenza) la versione dei tuoi dati. Questo (di nuovo) richiede generalmente una sorta di serializzazione, quindi posso prendere una "istantanea" dei dati ad un certo punto nel tempo e renderla coerente in modo da poterla usare più tardi. Potrebbe non essere esattamente la stessa cosa della serializzazione come la maggior parte della gente pensa in questo momento, ma a prima vista sembra che sia ragionevolmente simile.
In conclusione: in teoria potrebbe essere in grado di cambiare molto in fretta, ma in realtà l'effetto netto è probabilmente quello di rendere più facile (per esempio) produrre dispositivi portatili che funzionano quasi esattamente come fanno ora, ma aumenta la durata della batteria perché la RAM attinge energia solo per la lettura / scrittura, non solo per mantenere il suo contenuto corrente.