GEF 435 Principes des syst - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

GEF 435 Principes des syst

Description:

Quelle est la diff rence entre l' vitement et la pr vention des interblocages? ... Combien peut-on adresser de m moire pour un processus dans Windows XP? ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 31
Provided by: abe125
Category:
Tags: gef | adresser | des | principes | syst

less

Transcript and Presenter's Notes

Title: GEF 435 Principes des syst


1
GEF 435Principes des systèmes dexploitation
  • Gestion de la mémoire de base et permutation
  • (va-et-vient, process swapping)
  • (Tanenbaum 4.1 4.2)

2
Revue
  • Quest-ce quun état sécuritaire?
  • Quelle est la différence entre lévitement et la
    prévention des interblocages?

3
Synopsis
  • Synopsis de la gestion de la mémoire
  • Base de la gestion de la mémoire
  • Monoprogrammation
  • Multiprogrammation avec partitions fixes
  • Permutation (Swapping)
  • Gestion Management Tableaux de bits (Bitmaps)
    vs. Listes chaînées

4
La loi de Parkinson
  • Les programmes saccroissent pour remplir la
    mémoire disponible qui leur est réservée

5
Synopsis de la gestion de la mémoire
  • Pourquoi avons-nous besoin de la gérer la
    mémoire?
  • Combien peut-on adresser de mémoire pour un
    processus dans Windows XP?
  • 4 GB (232 bits)
  • Est-ce que la plupart des ordinateurs PC à la
    maison ont autant de RAM?
  • Quest-ce que les SE font quand ils exécutent des
    programmes qui demandent de la mémoire qui excède
    leurs capacités?
  • Une partie du programme est permuté au disque
    (swapped)

6
Synopsis de la gestion de la mémoire
  • On a besoin de quelque chose pour gérer le
    mouvement des programmes entre le(s) disque(s) et
    la mémoire (ou en général pour gérer la
    hiérarchie de mémoire).
  • La partie du système dexploitation qui fait cela
    sappel le gestionnaire de mémoire.

7
Synopsis de la gestion de la mémoire
  • Est-ce que la multiprogrammation vaut la peine de
    faire de la gestion de mémoire?
  • Considérez un nombre de processus qui attendent
    pour les E/S en moyenne de 80 du temps
  • La probabilité que n processus vont tous
    attendrent pour des E/S en même temps est pn. Ce
    qui veut dire que lutilisation du CPU pour n
    processus est 1-pn (p est le dE/S)
  • Cinq processus en mémoire avec 80 dattente pour
    les E/S donne une utilisation du CPU de 1-(0.8)5
    67 (assumant que le temps de changement de
    contexte est négligeable)
  • Beaucoup mieux que 20 pour un processus simple!

8
Synopsis de la gestion de la mémoire
  • Les processus avec un temps dattente pour les
    E/S en excès de 80 ne sont pas rares!

9
Synopsis de la gestion de la mémoire
  • En premier on considère deux systèmes simples
  • Monoprogrammation
  • Partitions fixe
  • En grande part, utile pour les systèmes de lots
    (batch)
  • Quand les processus sont chargés en mémoire ils
    exécutent jusquà la terminaison

10
Synopsis de la gestion de la mémoire
  • Monoprogrammation sans permutation ou pagination
  • Larrangement le plus simple possible
  • Seulement un programme va exécuter à la fois
  • Le SE copie le programme du disque en mémoire et
    lexécute. Quand cest fini, le SE est prêt à
    accepter une nouvelle commande de lutilisateur
  • Les nouvelles commandes écrase le dernier
    programme en mémoire avec le nouveau
  • Trois configurations, prochaine diapositive

11
Synopsis de la gestion de la mémoire
  • a) Rarement utilisé de nos jours
  • b) Utilisé dans les baladeurs MP3, les
    ordinateurs de poche (Palm)
  • c) Était le modèle initiale pour les PCs, ex DOS

12
Synopsis de la gestion de la mémoire
  • Multiprogrammation avec partitions fixes
  • Pour exploiter les bénéfices de la
    multiprogrammation nous avons besoin davoir plus
    dun programme en mémoire à la fois
  • Solution simple (pour les systèmes de lots)
    diviser la mémoire en n partitions (possiblement
    égales), et de mettre la prochaine job qui arrive
    dans la plus petite partition qui peut la
    contenir (ou dans la queue pour cette partition)
  • Désavantage Il y a une perte despace de mémoire
    parce que les partition sont fixes toute
    lespace non utilisée par une job est perdu

13
Synopsis de la gestion de la mémoire
  • Limage montre un autre désavantage
  • Parce que nous utilisons des queues multiples,
    nous avons des attentes sur certaines partitions
    et certaines partitions sont complètement
    inutilisées!
  • Une queue simple donne normalement un service
    supérieur (tout comme dans une banque)

14
Synopsis de la gestion de la mémoire
  • Plusieurs stratégies pour choisir les jobs
  • Permettre à la job la plus proche du front et qui
    peut entrer dans une partition libre dexécuter
  • Chercher dans toute la queue pour la job la plus
    large qui entre dans lespace
  • On doit garder une petite partition pour que les
    petites jobs puissent exécuter!

15
Permutation
  • Les systèmes antérieurs étaient plus simples
    parce que quand les programmes étaient chargés en
    mémoire, ils étaient laissés là jusquà la
    terminaison
  • Dans un système à temps partagé nous ne pouvons
    pas choisir combien de processus nous gardons en
    mémoire pour garder le CPU occupé maintenant les
    utilisateurs décident combien de processus
    exécutent
  • Quand nous navons pas assez de mémoire
    principale existante pour garder touts les
    processus actifs en mémoire, nous devons les
    permuter entre la mémoire principale et le
    disque...

16
Permutation
  • La permutation dun processus consiste à amener
    un processus du disque à la mémoire dans son
    entièreté. Le processus est exécuté pour un
    temps et remis sur le disque

17
Permutation
  • La différence entre ce système et les partitions
    fixes est que le nombre, la location et la
    grandeur des partitions varient dynamiquement
  • Avantages
  • Une solution bien plus flexible
  • Une meilleur utilisation de la mémoire
  • Désavantages
  • Plus compliqué à implémenter
  • Il peut y avoir des trous laissés dans la
    mémoire, qui peuvent être compactés pour corriger
    le problème

18
Permutation Combien de mémoire
  • Combien de mémoire devrait-on assigner à un
    processus quand il est permuté dans la mémoire?
  • Si une grandeur de données fixe peut être
    déterminé alors cette grandeur exacte est allouée
  • Cependant, si un processus a une pile et/ou un
    tas (heap), alors nous devons allouer de lespace
    pour grandir pour empêcher davoir à déplacer le
    processus continuellement dans la mémoire

19
Permutation Combien de mémoire
  • Segment de données

Segment de données et pile
20
Permutation - Gestion
  • Comment est-ce que lon trace où les processus
    sont dans la mémoire et où est-ce quil y a de la
    mémoire pour les chargés?
  • Deux méthodes Tableaux de bits et listes chaînées

21
Permutation - Gestion
  • Gestion de la mémoire avec tableaux de bits
  • Divise la mémoire en unités dallocation tel que
    4 octets ou plusieurs kilooctets
  • Utilise un tableau de bits avec des 1 pour
    désigner les unités alloués et des 0 pour
    désigner les unités libres
  • De quelle grandeur sont nos unités dallocation?

22
Permutation - Gestion
23
Permutation - Gestion
  • Gestion de la mémoire avec tableaux de bits
  • La plus petite est lunité dallocation, le plus
    grand sera le tableau de bits correspondant
  • Cependant, même avec des unités de 4 octets (32
    bits) on perd seulement 1/33 de la mémoire
  • Les unités qui sont larges nous font perdre la
    fin de la dernière unité, ex pour un unité de
    64KO, si nous avons un programme qui a 65KO,
    alors nous perdons 63 kilooctets!
  • Cependant, nous avons réduit le tableau de bits à
    seulement 1/512001 1.9x10-4 de la mémoire

24
Permutation - Gestion
  • Gestion de la mémoire avec tableaux de bits
  • Avantages
  • Facile à implémenter
  • Le tableau de bits est de grandeur fixe peu
    importe combien de programme sont en mémoire
  • Désavantage
  • Peut prendre du temps pour chercher dans le
    tableau pour trouver une série de 0 consécutifs
    pour placer un programme

25
Permutation - Gestion
  • Gestion de la mémoire avec des listes chaînées
  • Utilise une liste chaînée pour tracer les
    segments
  • Segments sont ou bien un processus ou un trou
    entre les processus commode de trier par
    adresses
  • Avantage moins de recherche à faire

26
Permutation - Gestion
  • Comment est-ce que lon utilise les listes
    chaînées pour gérer les processus qui quittent la
    mémoire?
  • On combine simplement le nouveau trou avec les
    trous adjacent

27
Permutation - Gestion
  • Comment est-ce que les nouveaux processus sont
    placés en mémoire?
  • Premier segment (first fit) Trouve le premier
    segment vide qui est assez large pour tenir le
    processus et on brise le segment en un segment de
    processus et un segment de trou (plus petit que
    le dernier)
  • Prochain segment (Next fit) Un amélioration
    simple sur premier segment. Dénote la place où
    le dernier programme a été inséré et commence à
    regarder là
  • Donne une petite augmentation de performance sur
    le premier segment (simulation Bays)

28
Permutation - Gestion
  • Comment est-ce que les nouveaux processus sont
    placés en mémoire?
  • Plus grand segment (Worst fit) Au lieu de
    prendre un segment qui fait juste et de le briser
    en laissant un petit trou presque inutilisable
    on trouve le trou le plus grand pour laisser un
    trou maximum pour le autres processus
  • Simulations montre que ce choix nest pas bon du
    tout
  • Placement rapide (Quick fit) On garde les
    segments tel que 4KB, 8KB, etc dans une table
    séparée pour une localisation facile des trous
  • Bon pour lallocation, mais lent pour la
    dé-allocation parce que plusieurs listes doivent
    être réconciliés

29
Permutation - Gestion
  • Note finale sur les listes on pourrait garder
    des listes séparées pour les trous et les
    processus
  • Accélère la recherche de trous!
  • Permet dordonner les trous par grandeur pour un
    allocation encore plus rapide!!
  • Nous laisse utiliser les trous même pour stocker
    les pointeurs pour voyager dun trou à un
    autre!!!
  • Plus compliqué pour la dé-allocation parce que la
    mémoire qui devient un trou doit être placée dans
    le bon espace sur lautre liste (en ordre)...

30
Quiz Time!
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com