Pourquoi ne pas créer un système d'exploitation qui fonctionne en ram?
C'est peut-être le mauvais site de StackExchange pour poser cette question, mais je ne pouvais pas en trouver un meilleur. Il ne semble pas y en avoir pour des questions sur les systèmes d'exploitation.
J'ai récemment pensé à un système d'exploitation qui fonctionne uniquement en ram, et qui aurait beaucoup d'avantages.
- Il serait beaucoup plus simple de créer un tel système d'exploitation, car vous n'auriez pas à gérer les systèmes de fichiers, la mise en cache, etc.
- Ce serait beaucoup plus rapide.
- Programmes serait plus facile à écrire car ils n'auraient pas besoin de charger ou d'enregistrer quoi que ce soit.
- Au lieu d'écrire du code source puis de compiler, les programmes pourraient être directement manipulés en mémoire. Les REPL s'en approchent, mais pourquoi ne pas aller jusqu'au bout? Aussi Table lumineuse est comme ça en ce sens qu'elle "vous permet de modifier les programmes en cours d'exécution", mais je pense que cela peut être poussé plus loin. De toute évidence, nous aurions besoin d'un autre moyen de manipuler / construire des programmes en mémoire.
- Les bases de données seraient massivement simplifié, car il n'y aurait pas de mise en cache de requêtes à faire. Ils pourraient même ne pas être nécessaires du tout.
- Pas de démarrage ou d'arrêt nécessaire
Il y a évidemment des problèmes avec cette approche:
- La mémoire est volatile: Il faudrait changer le matériel pour que la mémoire soit toujours maintenue en vie avec une batterie de secours ou quelque chose du genre.
- Il y a beaucoup de situations où les données seront trop volumineuses pour tenir dans la ram. Par exemple, de grands sites Web avec des bases de données massives, des personnes avec d'énormes collections de musique / vidéos, etc. Cependant, la plupart des gens n'ont pas d'énormes collections de vidéos, ils diffusent des contenus de netflix. C'est-à-dire regardez le succès du ChromeBook, qui ne dispose que d'un SSD de 16 Go.
- la mise à jour du système d'exploitation en mémoire peut être délicate, mais certains langages le font déjà, par exemple Java, Erlang hot-swapping
De toute façon, il doit me manquer quelque chose sinon tous les informaticiens qui sont beaucoup plus intelligents que moi l'auraient déjà fait, mais qu'est-ce que c'est?