Mémoires non volatiles
Plusieurs types de mémoires peuvent se trouver sur la carte mère d'un ordinateur. Il y a les différentes mémoires mortes (d'une façon générale, ROM pour Read Only Memory) qui ne peuvent qu'être lues pendant qu'elles sont en utilisation - certaines sont re-programmables grâce à des appareils spéciaux - et les mémoires vives (RAM pour Random Access Memory) où il est possible de lire et écrire et qui ont des avantages particuliers aux modèles, par exemple une grande vitesse ou une forte capacité. La quasi-totalité des mémoires vives (en quantité de circuits utilisés) s'effacent quand leur alimentation électrique est interrompue et on s'en aperçoit sans difficulté en cas de microcoupure.
Bien qu'elles soient d'un emploi confidentiel, des mémoires vives non volatiles ont déjà été réalisées. Elles sont basées sur des matériaux dits ferroélectriques et ne perdent pas les données stockées en cas de panne du secteur. En admettant (difficile de trouver l'information) qu'elles aient des possibilités équivalentes à celles des RAM dynamiques actuelles, qui sont les plus utilisées parce qu'elles ont le meilleur rapport capacité / prix, qu'est-ce qu'elles apporteraient si elles étaient largement répandues ?
Premièrement cela ne signifierait pas que l'on pourrait retrouver le travail que l'on était en train de faire sur l'ordinateur exactement au même point, par exemple au milieu d'une compilation qui repartirait comme s'il n'y avait pas eu d'incident. En effet, il faudrait pour cela que la totalité de l'état (les registres) du microprocesseur soit sauvegardé de la même façon et ce n'est vraiment pas une priorité pour les fondeurs. Il ne paraît pas envisageable qu'un système d'exploitation prévu pour un tel cas enregistre périodiquement cet état car il y aurait de toute façon un décalage entre celui-ci et le contenu (ultérieur) de la mémoire. A moins que ne soit inclus une sorte de petit accumulateur qui permettrait au microprocesseur de continuer à travailler juste le temps de mettre les meubles à l'abri en cas d'urgence (?).
Toujours est-il qu'au niveau du système d'exploitation il existe un avantage à ne pas perdre le contenu de la mémoire : au démarrage de la machine après un arrêt normal, tout serait déjà en place et l'utilisateur pourrait se mettre à travailler immédiatement après l'avoir allumée. En cas de nécessité (aucun informaticien n'est parfait) il y aurait toujours la possibilité de réinitialiser explicitement le système. Un autre moyen - moins efficace - de gagner du temps le matin, mais aussi chaque fois qu'une application est lancée, serait d'avoir un système d'exploitation orienté objets : si un maximum de composants logiciels sont chargés une seule fois et utilisés par tous les niveaux du système au lieu d'être dupliqués, il y a moins de choses à lire venant du disque et de la place est libérée pour de nouvelles optimisations. Comme, contrairement aux RAM dynamiques, des mémoires non volatiles ne nécessitent pas de rafraîchissement périodique, elles pourraient aussi éventuellement apporter d'autres avantages.