• # Mako swap

    Posté par (site web personnel) . En réponse au journal comment ça marche Knoppix. Évalué à 9.

    Au début n'éxistait que la gestion brute de la mémoire.
    Les ordinateurs n'avaient que 1024 octets de ram. Tout cela était géré comme une seule page.
    Personne ne pensait à un authentique système d'exploitation.

    Ensuite, sont apparus des systèmes d'exploitation, pour faire en sorte, que le programme en lui même ne s'occupe que de manipuler des données utiles, laissant la gestion de la mémoire disponible et du disque, des périphériques, au système d'exploitation dont c'est le métier.

    A un moment, même dans linux, il n'existait pas de mécanisme de gestion des librairies partagées. Et oui, 2 programmes en mémoire peuvent utiliser la même librairie, donc il est inutile que celle ci soit 2 fois en mémoire. Ca a été géré, et un jour 2 programmes ont pu partager la même librairie (chargée une seule fois, mais avec 2 environnements de variables, un pour chaque process (2 ou plus d'aillieurs))

    De la même façon, au début, s'il n'y avait que 4Mo de Ram, on ne pouvait lancer que 4Mo de programmes + données.

    On s'est rendu compte que en segmentant les programmes et les données en portions d'une taille donnée, ont pouvait suivre celles qui étaient utilisées et celles qui ne l'étaient pas.

    Alors, un mécanisme (le swap) s'est occupé de placer dans le swap des pages de mémoire allouées mais non utilisées tout de suite à cet instant précis. Le but du jeu est que le segment exécuté soit en mémoire à un instant donné. Une fois arrivé au bout, on en change, et s'il est sur le disque, et bien on colle sur le disque une portion non utilisée, on prend des notes pour pas se perdre, et on recopie le segment suivant depuis le disque vers la mémoire (re prise de notes). Et ainsi de suite....

    Si tu n'as pas assez de mémoire pour assumer ton train de vie de besoins de mémoire, le swap va échanger les pages sans fin entre ta mémoire et ton disque, un peu comme du crédit revolving. Tu payes par le ralentissement.

    On comprend que si les besoins sont très supérieurs à la mémoire dispo, le système passe son temps à swapper comme un fou. Tant qu'on reste dans une certaine limite, ça ne plante pas, mais ça va pas vite... Aussi, si l'on prend beaucoup de mémoire, on recule le seuil de déclenchement de ce mécanisme. La machine est plus fluide, plus longtemps.


    Si tu ne sais pas cela, je t'invite à te plonger dans
    http://www.commentcamarche.net/(...) pour de longues heures de lectures passionnantes.

    Rafael, vieux dino.