Puisque c'est surtout du côté du système d'exploitation, l'une des quatre choses happe
Premièrement, lorsque vous atteignez une mémoire faible, la plupart des systèmes d'exploitation standard basés sur le noyau, y compris Windows, MacOS, iOS, Linux et Android, enverront aux programmes un signal de "pression mémoire". Cela signifie que les programmes à l'écoute de ce signal supprimeront les éléments en mémoire dont ils n'ont pas besoin, comme le cache de votre navigateur ou les données du niveau précédent de votre jeu. Certaines tâches d'arrière-plan complètement facultatives peuvent choisir de quitter et de relancer à leur prochaine opération programmée lorsque cela se produit.
Après cela, le système d'exploitation choisira l'un ou les deux suivants s'il y a encore en dessous d'une quantité sûre de mémoire supplémentaire :
1. Les éléments "évictables" tels que le cache, les tampons et les programmes dans l'état hybernate-cache (si le SE en est capable) seront évincés de la mémoire.
2. Les éléments "stale" qui n'ont pas été lus ou écrits peuvent être soit compressés, soit mis sur swap. (Techniquement, la compression EST une forme de swap sur un RAMDisk.)
Tous ces comportements ralentiront substantiellement votre ordinateur, mais vous ne le remarquerez pas autrement.
Enfin, si toutes ces options ne libèrent pas assez de mémoire, et qu'ensuite un programme essaie de demander de la mémoire, il fera fonctionner une fonction appelée le tueur de tâches "OOM". Cela forcera à quitter l'une des tâches suivantes, selon la conception du système d'exploitation :
1. La tâche qui a demandé de la mémoire.
2. La plus grande accapareuse de mémoire.
3. La tâche inactive la plus éventée qui n'a rien fait depuis longtemps.
Evidemment, tous ces choix ont des problèmes, et pourraient facilement tuer la mauvaise tâche et faire planter le système. Inutile de dire qu'il n'y a pas de bonne option à ce stade, il s'agit d'avoir le système d'exploitation configuré pour choisir la moins mauvaise option.
Maintenant, d'un autre côté, les " systèmes d'exploitation muets " qui sont sensiblement plus petits que le BIOS d'un ordinateur de bureau typique, que l'on trouve généralement dans des appareils comme les micro-ondes, les téléviseurs non intelligents, l'ordinateur qui gère les choses dans les voitures, et même l'ordinateur qui gère les choses dans les avions n'auront pas ces mécanismes de gestion.
L'une des deux choses qui se produira ici.
1. Le système entrera dans l'état Soft-reboot fault-handler, où il maintient rapidement ses paramètres courants de base dans une mémoire non volatile, redémarre en séquence standard de veille à marche, puis restaure les paramètres en un temps si court que vous ne le remarquerez jamais.
2. Le système tentera d'allouer le prochain bloc incrémentiel de mémoire, et soit constatera par logiciel qu'il n'existe pas, soit mettra le processeur en défaut, déclenchant le cas 1.
Comme vous pouvez le voir, de tels systèmes sont très résistants aux pannes. C'est ainsi qu'ils gèrent presque toutes les fautes de ce type.
Cependant, mai de ces systèmes sont si simples qu'ils n'utilisent pas du tout la mémoire allouée dynamiquement. Ils ne chargent pas de nouveaux programmes, et ils ne créent ou ne détruisent pas de variables. Les variables sont placées à des positions prédéfinies dans la mémoire, ce qui fait que le système n'est jamais à court de mémoire.
.