12.07.2015 Views

Généralités sur les systèmes d'exploitation - Site personnel de ...

Généralités sur les systèmes d'exploitation - Site personnel de ...

Généralités sur les systèmes d'exploitation - Site personnel de ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LO14 : Université Technologique <strong>de</strong> Troyes- restituer(adresse,longueur)Le système maintien <strong>de</strong>ux listes :- blocs disponib<strong>les</strong>- blocs occupésPolitiques d'allocation :a) premier choix (First-fit): on cherche le premier bloc <strong>de</strong> longueur suffisante.b) meilleur choix (Best-fit) : on cherche le plus petit bloc libre <strong>de</strong> longueur suffisante quand même.c)Plus mauvais choix (Worst-fit) : on prend systématiquement le plus gros bloc disponible.La récupération <strong>de</strong>s blocs peut se faire avec fusion. Ramasse miette (Garbage Collector)L'allocation <strong>de</strong> mémoire se fait en utilisant l'appel standard <strong>de</strong> la bibliothèque C : malloc#inclu<strong>de</strong> void malloc(size_t taille); /*size_tunsigned int pour le moment*/void free(void *ptr_memoire);Si l'on tente d'écrire au-<strong>de</strong>là <strong>de</strong> la mémoire allouée on aura droit au messageSegmentation fault (core dumped)2°) Ordonnancement en mémoire <strong>de</strong>s processusLes choix <strong>de</strong> l'implémentation <strong>de</strong>s mécanismes d'adressage influence énormément l'ordonnancement <strong>de</strong>sprocessus. Si l'on travaille avec un système <strong>de</strong> traitement par lots, c'est à dire en temps partagé pour<strong>les</strong>quels <strong>les</strong> processus restent en mémoire tout le temps <strong>de</strong> leur exécution. S'il n'y a plus <strong>de</strong> place leprocessus est mis en attente (i.e. non chargé en mémoire). Le problème à résoudre est le même que lechapitre précé<strong>de</strong>nt : un algorithme pour choisir dynamiquement, parmi <strong>les</strong> blocs libres <strong>de</strong> la mémoirecentrale celui qui va recevoir le nouveau processus. De nombreuses simulations ont montré que le meilleurest le first-fit puis best-fit et que ces <strong>de</strong>ux algorithmes sont beaucoup plus efficace que worst-fit.Compactage : on cherche à améliorer ces mécanismes en défragmentant la mémoire c'est à dire endéplaçant <strong>les</strong> processus en mémoire <strong>de</strong> façon à rendre contiguës <strong>les</strong> zones <strong>de</strong> mémoire libres <strong>de</strong> façon àpouvoir <strong>les</strong> utiliser.3°) Algorithmes <strong>de</strong> paginationPour accélérer <strong>les</strong> mécanismes d'allocation le concept <strong>de</strong> page a été introduit. On va découper la mémoire<strong>de</strong>s processus en pages. Grâce à ce système il ne sera plus nécessaire <strong>de</strong> placer <strong>les</strong> processus dans unezone contiguë <strong>de</strong> la mémoire. Toute adresse est maintenant considérée comme un couple (Numéro <strong>de</strong>page, Position dans la page).01 page 0Ce que page 0 0 1 2 Ce qui se passeVoit un page 1 1 4 3 page 2 en mémoireprocessus page 2 2 3 4 page 1 physiquepage 3 3 7 5mémoire Table <strong>de</strong>s pages 7 page 3logique6mémoirephysiqueLe désavantage <strong>de</strong> la métho<strong>de</strong> <strong>de</strong> gestion <strong>de</strong> mémoire par un mécanisme <strong>de</strong> page est le phénomène <strong>de</strong>fragmentation interne : on alloue une page entière alors que le processus ne l'utilise qu'en partie. Mais lataille <strong>de</strong>s mémoires <strong>de</strong>vient telle par rapport aux tail<strong>les</strong> <strong>de</strong> page que cette perte <strong>de</strong>vient minime.Un avantage <strong>de</strong>s pages est une plus gran<strong>de</strong> simplicité du partage <strong>de</strong> la mémoire entre différents processus.En particulier quand plusieurs processus partagent le même co<strong>de</strong>, la page qui contient le co<strong>de</strong> serapartageable et protégée en écriture. Sous UNIX le compilateur produit automatiquement <strong>de</strong>s programmesdont la partie co<strong>de</strong> est partageable.15 /98 S. Moutou : Cours

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!