PLAN PLAN 20/11/2016. Faculté des Sciences de Gabes Département d informatique. Cours SE 1. Généralités. Généralités. Organisation de la mémoire

Documents pareils
Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Partie 7 : Gestion de la mémoire

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

GESTION DE LA MEMOIRE

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Structure fonctionnelle d un SGBD

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

LA mémoire principale est le lieu où se trouvent les programmes et les

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

CH.3 SYSTÈMES D'EXPLOITATION

SYSTÈME DE GESTION DE FICHIERS

Concept de machine virtuelle

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Cours Informatique 1. Monsieur SADOUNI Salheddine

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

en version SAN ou NAS

1.1 L EXPLORATEUR WINDOWS

vbladecenter S! tout-en-un en version SAN ou NAS

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

WEA Un Gérant d'objets Persistants pour des environnements distribués

Chapitre 4 : Les mémoires

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

Système de stockage IBM XIV Storage System Description technique

la virtualisation pour quoi faire?

NOTIONS DE RESEAUX INFORMATIQUES

Gestion de la mémoire

Cours 3 : L'ordinateur

Systemes d'exploitation des ordinateurs

Leçon 1 : Les principaux composants d un ordinateur

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Déduplication des données : un élément essentiel de votre stratégie de protection des données

1 Définition et présentation. 2 Le réseau Numéris. 3 Les services. 3.1 Les services Support (Bearer service) SYNTHESE

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

Architecture des ordinateurs

<Insert Picture Here> Solaris pour la base de donnés Oracle

Technologie SDS (Software-Defined Storage) de DataCore

Exécution des instructions machine

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Présentation du module Base de données spatio-temporelles

Licence Sciences et Technologies Examen janvier 2010

SQL Limitations Mémoire

Symantec Backup Exec.cloud

Utiliser Glary Utilities

Clients et agents Symantec NetBackup 7

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Architecture des Ordinateurs. Partie II:

Oracle Maximum Availability Architecture

Rappels d architecture

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Solution de stockage et archivage de grands volumes de données fichiers.

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Conservation des documents numériques

modélisation solide et dessin technique

Fonctionnalités d Acronis :

4D v11 SQL Release 5 (11.5) ADDENDUM

Anatomie d'un cloud IaaS Représentation simplifiée

TP SIN Traitement d image

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Virtualisation de serveurs Solutions Open Source

Guide de l'administrateur Citrix Personal vdisk 5.6.5

Limitations of the Playstation 3 for High Performance Cluster Computing

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Chapitre 10. Architectures des systèmes de gestion de bases de données

Technologie de déduplication de Barracuda Backup. Livre blanc

Présentation du système DNS

Le e s tocka k ge g DAS,NAS,SAN

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

LES SYSTÈMES DE FICHIERS

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Architecture des ordinateurs. Environnement Windows : sauvegarde

Module M1 Elément 2 : Informatique 1 (I1)

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Le Network File System de Sun (NFS)

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

Système de Gestion de Fichiers

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Mise en oeuvre TSM 6.1

LE DISQUE DUR : IDE (Integrated Device Electronique) : La nouvelle référence.

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Concepts et systèmes de stockage

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

Fonction Memory Viewer

Avantages de l'archivage des s

Les journées SQL Server 2013

Parcours FOAD Formation EXCEL 2010

Virtual PC Virtual PC 2007 Page I

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Architecture complète de protection du stockage et des données pour VMware vsphere

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

Druais Cédric École Polytechnique de Montréal. Résumé

Transcription:

CHAPITRE III LA MÉMOIRE CENTRALE Par : Khaled Hassine Khaled.hassine@fsg.rnu.tn Khaled Hassine 1 Khaled Hassine 2 PLAN PLAN Généralités Généralités Organisation de la Organisation de la Stratégies de gestion Stratégies de gestion Récapitulatifs Récapitulatifs Khaled Hassine 3 Khaled Hassine 4 Cours SE 1

La ressource Fonctionnalités attendues d un gestionnaire de la La principale (Main memory, Primary memory, Internal memory, Real Storage) : la ressource la plus critique Hiérarchie en couche : au sommet : les registres (petite capacité, grande vitesse, coût élevé) en bas de la pyramide : les supports magnétiques et optiques de secondaire (grande capacité, faible coût, lents) La performance doit : tirer le meilleur parti des s rapides pour pallier les limitations des plus lents à l inverse d exploiter au maximum les types de les plus abondants pour simuler les types plus rapides disponibles en quantités limitées. Connaître les parties libres de la physique. Allouer de la au processus en évitant autant que possible le gaspillage. Récupérer la libérée suite à la terminaison d un processus. Protéger la contre les utilisations interdites, Offrir des services de virtuelle Khaled Hassine 5 Khaled Hassine 6 Performance de la Dépend : de la taille et du temps d'accès. des protections mises en œuvre. Ces paramètres sont contradictoires et difficilement dissociables. influent considérablement sur la performance de la machine. Protection de la Gestion garantissant l'intégrité (logique) informations : interdisant l'autodestruction : des Volontaire (Virus, Intrus, ) Involontaire autorisé, ) (Défaut de programmation, Accès non Particulièrement en multiprogrammation Atteinte au SE, Utilisateur non autorisé, Modification des programmes ou des données des autres, Accès aux informations partagées Khaled Hassine 7 Khaled Hassine 8 Cours SE 2

Monoprogrammation versus Multiprogrammation PLAN Système d'exploitation Système d'exploitation Généralités Programme / Données utilisateur Programme user 1 Programme et données utilisateur 2 Données utilisateur 1 Organisation de la Stratégies de gestion Mono-utilisateur Multiutilisateurs- Multi-tâches Récapitulatifs Khaled Hassine 9 Khaled Hassine 10 Problématique Taille requise de la de plus en plus importante les exigences des utilisateurs en matière de système d'exploitation, l'emploi d'interfaces graphiques sophistiquées, l'utilisation des logiciels aux possibilités sans cesse accrues (le traitement d'images, ) Or, l'espace directement adressable limité par la taille des registres d'adresse. Un sérieux problème : comment pouvoir accéder à toutes les cellules d'une? qu'on souhaite de taille importante? Deux solutions sont proposées à ce problème en pratique : la segmentation la pagination. Organisation de la Adresse logique versus adresse physique Organisation en segments Organisation en pages Organisation mixte Khaled Hassine 11 Khaled Hassine 12 Cours SE 3

Mécanisme de traduction (translation) Convertir : l adresse logique de l'information (instruction ou donnée) issue de l UC, en adresses physiques ou réelles, effectivement présenté sur le bus d'adresse, correspondant à une location en. Besoin de deux registres (systèmes, éventuellement table) : le registre de base, ou registre de relocation, contient l adresse du début de la partition du programme usager, le registre limite correspond à la taille de la partition du programme usager et permet de vérifier si la demande d accès en est permise ou non (protection par registre). Transformation Adresses logique en adresse physique Unité centrale Adresse logique Registre limite < Oui Non Registre Relocation + Adresse physique Mémoire Khaled Hassine 13 Khaled Hassine 14 Organisation de la Adresse logique versus adresse physique Organisation en segments Organisation en pages Organisation mixte Principe de base Trois catégories d informations : code, données et pile, aisément discernables, les séparer physiquement en leurs associant des zones s distinguées, appelées segments. Solution adoptée par Intel pour le 8086 et ses successeurs. Quatre registres correspondant aux trois segments (CS, DS, SS) Un registre supplémentaire dit Extra Segment (ES). Khaled Hassine 15 Khaled Hassine 16 Cours SE 4

Caractéristiques Mécanisme de traduction Particularité : taille variable avec une limites : Max : 64 kilooctets pour le 8086. Min : 16 octets Avantages : Réservation selon les besoins (minimiser le gaspillage) Protection facile : selon le type d information Inconvénients : Gestion des adresses : non uniforme Attribution de l adresse début par le SE : Recherche de la localisation Registres d adresses : 16 bits Bus d adresses : 20 bits Registre de segment (16 bits) Déplacement (16 bits) Adresse sur le bus d adresse (20 bits) 0000 Khaled Hassine 17 Khaled Hassine 18 Protection L'espace total (1 Megaoctet) peut être vu soit comme une partition de 16 segments de 64 Kilooctets. Les adresses début des segments : des multiples de 16. Les segments peuvent être disjoints ou se recouvrir partiellement. La protection est assurée dès lors que les segments sont disjoints. Les registres de segments doivent être chargés avec des valeurs adéquates. Une écriture en ne pourra modifier un mot que dans le segment de données associé à une instruction. Le jeu d'instructions définit le champ d'application de chaque instruction, en particulier, les segments impliqués dans l'exécution de chacune d'entres elles branchement sous entend segment de code, transfert sous entend segment de donnée, empiler segment de pile, etc. Organisation de la Adresse logique versus adresse physique Organisation en segments Organisation en pages Organisation mixte Khaled Hassine 19 Khaled Hassine 20 Cours SE 5

Principe de base Découper la centrale en zones de dimension égales appelées pages. Plus simple à gérer que la segmentation puisque, par définition même, les pages sont disjointes. Table des pages : fournir l'adresse physique de chaque page dans la centrale Une adresse logique est composée de deux parties : un numéro de page un déplacement dans la page (< taille d une page). Fragmentation Un programme et ses données ne remplissent généralement pas les pages qui lui sont associées. Exemple : taille d'une page est 4096 octets un programme qui nécessite 26000 octets. Le nombre de pages occupées = 7 6 pleines une occupant réellement 1424 Octets et 2672 octets inutilisés. En pratique, le nombre de pages partiellement occupées est important lors d'une session de travail. Khaled Hassine 21 Khaled Hassine 22 Taille de page : compromis entre deux tendances contradictoires Des petites pages : + Minimise le problème de fragmentation - Alourdi la gestion : sauvegarde des tables des pages, leur chargement et déchargement provoquent des surcoûts et des surcharges importants. Des grandes pages : - Maximise le problème de fragmentation + Facilite la gestion Taille de page en pratique Dans une architecture à hiérarchisée, la taille d'une page dépend de : La taille d'un secteur du disque magnétique. Le temps de recherche sur disque (localisation du cylindre, de la face, du secteur) est plus important que le temps de transfert entre centrale et le disque dur. Il est plus rentable de lire une quantité importante de donnée qu'une petite quantité. La taille de la cache : l information réside lors de sa manipulation par l'unité centrale dans la cache. OS offre lors de l'installation une gamme de tailles de pages que l'utilisateur peut choisir. Khaled Hassine 23 Khaled Hassine 24 Cours SE 6

Adresse logique Mécanisme de traduction : Exemple A 12 -A 15 (N de page) 4 bits A 0 -A 11 (Déplacement) Mémoire Soit une machine : L'unité centrale fournit une adresse logique sur 16 bits. Une physique de 1 Megaoctets. La taille d'une page est de 4 Kilooctets. Solution : Les 4 bits A 12 à A 15 de l'adresse constituent le numéro d'une entrée dans une table de page. Chaque mot de la table contient l adresse physique début de l'une des 16 pages, codée sur 8 bits. Les 12 bits A 0 à A 11 constituent le déplacement dans cette page 20 bits d'adresse, soit 2 20 = 1024 Kilooctets accessibles. Table de pages 8 bits Pagination 12 bits Adresse Physique 20 bits Khaled Hassine 25 Khaled Hassine 26 Registre de table de page Avec ce concept, on adresse 16 x 4 Kilooctets, soit 64 Kilooctets. Or la est de taille 1024 Kilooctets. Pour adresser toutes les cellules de la, il nous faut 16 tables de pages différentes. Un registre de table de page : Pour chaque partie de code ou de donnée Contient un numéro (l'adresse début) d'une table de page, Chargé lors de l'accès à la, par la valeur adéquate. Protection (plusieurs utilisateurs) Un ensemble de pages dit espace de travail (Working Set) est alloué par le SE à chaque processus. Ces pages peuvent être : distinctes pour assurer une certaine protection réciproque, commune (pour partager des données par exemple). A chaque utilisateur est associée une table de description des pages qui lui sont accordées : Chaque entrée est complétée par des bits d'autorisation d'accès à la page correspondante. La mise à jour de la des pages est à la charge du SE Khaled Hassine 27 Khaled Hassine 28 Cours SE 7

Organisation de la Adresse logique versus adresse physique Organisation en segments Organisation en pages Organisation mixte Principe de base Combiner les deux mécanismes de segmentation et de pagination Bénéficier des avantages de deux concepts : De la segmentation : Modularité, Facilité de programmation, Protection et partage. De la pagination : Facilité de gestion (taille uniforme) La possibilité de ne charger en centrale que la page sollicitée par l'accès. Exemple : MULTICS - IBM 370 Khaled Hassine 29 Khaled Hassine 30 Segmentation paginée IBM 370 Gère des segments paginés. Seg Table des segments du programme Adresse virtuelle Page Offset Table des segments + Table des pages Page réelle Offset Adresse réelle Deux possibilités de segments sont offertes : 16 segments de 1 Megaoctets chacun 256 segments de 64 kilooctets. Pagination avec deux tailles possibles : 2 Kilooctets ou 4 Kilooctets. Khaled Hassine 31 Khaled Hassine 32 Cours SE 8

N de segment N de la page Déplacement Mémoire Segmentation avec pagination: MULTICS Descripteurs des segments Table des pages Adresse de la page Page sollicitée Un descripteur de segment L'adresse est complétée par 6 zéros car les adresses physiques de 24 bits sont alignées sur des pages de 64 octets. 0 : En MC 1 : En MA Nb pages Bit divers @ table de pages Bits divers : Modification protection - Segmentation paginée Khaled Hassine 33 34 PLAN Généralités Organisation de la Stratégies de gestion Récapitulatifs Khaled Hassine 35 Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 36 Cours SE 9

Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Problématique Mémoire découpée en unités d allocation (bloc ). Trace des emplacements occupés et libres de la : table de bits (bitmaps) liste chaînée. Libération d un bloc si un processus est évacué Fusion éventuel avec des blocs adjacents libres. Khaled Hassine 37 Khaled Hassine 38 Exemple X est le bloc qui se libère Avant libération A X B A X lib Après libération A lib B A lib Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 39 Khaled Hassine 40 Cours SE 10

Condition L espace adressable est décomposé en blocs de taille fixe. La partition allouée à un processus est composée d un nombre entier de blocs. Une table de bits : conservée en chaque bit définit l état (libre=0, occupé=1) d un bloc en. Table de bits + Simple à implémenter - Présente peu d informations Peu utilisée + plus l unité d allocation est petite moins on a de perte lors des allocations - plus cette table occupe de place en. Khaled Hassine 41 Khaled Hassine 42 Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Principe Maintenir une liste chaînée des blocs alloués et des blocs libres Chaque bloc correspond soit à : un processus, un trou entre deux partitions de processus. Taille variable : puissances de 2 (16K, 32K, 64K). Khaled Hassine 43 Khaled Hassine 44 Cours SE 11

Structure d une liste chainée Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 45 Khaled Hassine 46 Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Problématique Objectif principal de la multiprogrammation : une meilleure utilisation de l UC et de la (le système). Modèle simpliste : n processus s exécutent en concurrence, (n le degré de multiprogrammation). les n processus passent tous une fraction p de leur temps à effectuer des E/S le taux d utilisation de l UC est : TU UC 1 p n Khaled Hassine 47 Khaled Hassine 48 Cours SE 12

Problématique Comment améliorer le taux d utilisation de l UC lorsque le processus qui le détient réalise des opérations d E/S? Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 49 Khaled Hassine 50 Principe de base File d attente : multiple versus unique Décomposer, lors de l initialisation du système, l espace usager en plusieurs partitions fixes (Fixed Partition Multiprogramming : FPM). Le répartiteur de haut niveau (l ordonnanceur) décide de l attribution des partitions libres au processus qui en font la demande. La partition demandée se fait sur la base de : la taille du code et des données (statiques) du programme une estimation de la taille de la dynamique (pile, pointeurs, ) requise pour l exécution du programme. La multiprogrammation à partitions fixes était surtout utilisée sur les ordinateurs mainframes d IBM. Idéalement, avoir des partitions de tailles différentes de manière à : pouvoir accommoder différents types de programme. avoir une file d attente par type de partition : une file pour les petites partitions, une pour les partitions moyennes, etc. Khaled Hassine 51 Khaled Hassine 52 Cours SE 13

Problèmes à éviter Cas d une file d attente unique Fragmentation interne : une partition de grande taille gaspillée par un petit processus. Cas des files d attente multiples : Fragmentation externe : un processus attend indéfiniment qu une partition correspondant à ses besoins se libère, alors que l espace libre est décomposé en plusieurs petites partitions. Un processus attend indéfiniment qu une partition correspondant à ses besoins se libère, alors qu une partition de grande taille est disponible. Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 53 Khaled Hassine 54 Principe Exemple Le nombre, la taille, la localisation et la location des partitions changent au cours du temps. En multiprogrammation à partitions variables, un processus ne peut pas avoir de garantie sur la location de sa partition avant d être chargé en. En particulier un processus ne peut pas requérir une région particulière de la principale, vu que celle-ci pourrait ne jamais se libérer. Par conséquent, opter pour une stratégie de multiprogrammation à partition variable impose que le code exécutable des programmes soit au minimum relogeable. Evolution possible des évènements suivants : partitions correspondant aux (a) le processus A est chargé en, (b) B est chargé en, (c) C est chargé en, (d) A termine (et libère la ), (e) D est chargé en, (f) B se termine, (g) E est chargé en, (h) D termine, (i) E termine, (j) F est chargé en. Khaled Hassine 55 Khaled Hassine 56 Cours SE 14

Occupation de la Observations L utilisation de partitions variables ne résout pas le problème de la fragmentation externe : si le processus F se présente avant que E ne se termine, il devra attendre faute de trou assez grand. Khaled Hassine 57 Khaled Hassine 58 Solutions Lorsque le niveau de fragmentation externe de la devient trop important, ou lorsqu une demande d allocation de ne peut être satisfaite, on effectue une compaction de la, de manière à regrouper les trous isolés en trous plus importants Le SE peut effectuer une opération de ramassemiettes (garbage collection). Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Khaled Hassine 59 Khaled Hassine 60 Cours SE 15

Gestion de la par subdivisions (ou frères siamois) Exemple Proposé par Donald KNUTH en 1973 Objectif : accélérer la fusion des zones libres adjacentes lors de la libération d'unités grace à une subdivision dichotomique. Le gestionnaire mémorise utilise une liste de blocs libres dont la taille est une puissance de 2 (1, 2, 4, 8 octets,..., jusqu'à la taille maximale de la ). Avec une de 1 Mo, on a ainsi 251 listes. Initialement, la est vide. Toutes les listes sont vides, sauf la liste 1 Mo qui pointe sur la zone libre de 1 Mo : 1M Un processus A demande 70 Ko : 1. la est fragmentée en deux compagnons (buddies) de 512 Ko; 2. l'un d'eux est fragmenté en deux blocs de 256 Ko; 3. l'un d'eux est fragmenté en deux blocs de 128 Ko et on loge A dans l'un d'eux, puisque 64 < 70 < 128 : A 128 256 512 Khaled Hassine 61 Khaled Hassine 62 Allocation et libération Allocation et libération Un processus B demande 35 Ko : 1. l'un des deux blocs de 128 Ko est fragmenté en deux de 64 Ko 2. on loge B dans l'un d'eux puisque 32 < 35 < 64 A s'achève et libère son bloc de 128 Ko. 128 B 64 C 128 512 A B 64 256 512 Un processus C demande 80 Ko : 1. le bloc de 256 Ko est fragmenté en deux de 128 Ko 2. on loge C dans l'un d'eux puisque 64 < 80 < 128 Puis un processus D demande 60 Ko : le bloc libéré par A est fragmenté en deux de 64 Ko, dont l'un logera D 128 B D C 128 512 A B 64 C 128 512 Khaled Hassine 63 Khaled Hassine 64 Cours SE 16

Allocation et libération B s'achève, permettant la libération d'un bloc de 64 Ko : 128 64 D C 128 512 D s'achève, permettant la reconstitution d'un bloc de 256 Ko, etc... Inconvénients L'allocation et la libération des blocs sont très simples. Mais un processus de taille 2 n +1 octets utilisera un bloc de 2 n+1 octets! Il y a beaucoup de perte de place en. 256 C 128 512 Khaled Hassine 65 Khaled Hassine 66 Représentation de l espace libre Bitmap Liste chaînée Stratégies d allocation Multiprogrammation et utilisation de l UC Multiprogrammation à partitions fixes Multiprogrammation à partitions variables Gestion de la par subdivision Stratégies de placement Placement Strategies L allocation d un espace libre pour un processus peut se faire suivant 3 stratégies principales communément employées : Le premier ajustement (First Fit) Le meilleur ajustement (Best Fit) Le pire ajustement (Worst Fit dite aussi stratégie préventive) Khaled Hassine 67 Khaled Hassine 68 Cours SE 17

Le premier ajustement (First Fit) Consiste à prendre le premier bloc libre de la liste qui peut contenir le processus qu on désire charger. L'avantage de cette stratégie est dans sa simplicité : on minimise le temps de recherche. L'inconvénient est qu'on risque de laisser assés d'espace difficile à exploiter (fragmentation externe). Le meilleur ajustement (Best Fit) Alloue au processus le plus petit espace qui peut le contenir. Cette stratégie garantie que l'espace non utilisé (non exploitable dans le futur) sera le plus petit. L'inconvénient de cette approche est la surcharge du système d'exploitation passée dans le choix et la comparaison des espaces libres. Khaled Hassine 69 Khaled Hassine 70 Le pire ajustement (Worst Fit) Dite aussi stratégie préventive Alloue au processus le plus grand bloc de disponible. Cette approche se base sur le fait que laisser plus d'espace permet de placer dans le futur d'autres processus, à la différence du meilleur ajustement qui va laisser des petits espaces libres difficiles à exploiter dans le futur. Khaled Hassine 71 Khaled Hassine 72 Cours SE 18