Gestion des processus / Gestion de la mémoire



Documents pareils
Partie 7 : Gestion de la mémoire

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

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

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

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

GESTION DE LA MEMOIRE

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

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

Architecture des ordinateurs

Structure fonctionnelle d un SGBD

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

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Gestion de la mémoire

Systemes d'exploitation des ordinateurs

Cours A7 : Temps Réel

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

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

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

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

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Concept de machine virtuelle

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

Programmation C. Apprendre à développer des programmes simples dans le langage C

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

Windows 7, Configuration

TD Architecture des ordinateurs. Jean-Luc Dekeyser

La mémoire. Un ordinateur. L'octet. Le bit

Réalisation d un OS 32 bits pour PC(x86)

Support de cours système d exploitation

Système de Gestion de Fichiers

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

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

GPA770 Microélectronique appliquée Exercices série A

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Initiation à la sécurité

Sommaire. Promo 39 B WINDOWS 2003 SERVER PART 1

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

A -Systèmes de fichiers 1 - FAT vs NTFS

Cours Programmation Système

Introduction aux SGBDR

Structure de base d un ordinateur

Gestion répartie de données - 1

REALISATION d'un. ORDONNANCEUR à ECHEANCES

4D v11 SQL Release 5 (11.5) ADDENDUM

CH.3 SYSTÈMES D'EXPLOITATION

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

Travaux pratiques Détermination de la capacité de stockage des données

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

en version SAN ou NAS

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Communications performantes par passage de message entre machines virtuelles co-hébergées

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Chapitre 3 : Système de gestion de fichiers

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Version default Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Responsable : Clé : U Révision : 496

Conventions d écriture et outils de mise au point

Métriques de performance pour les algorithmes et programmes parallèles

Rappels d architecture

Les journées SQL Server 2013

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Compilation (INF 564)

Logiciel de base. Première année ENSIMAG

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Manuel de System Monitor

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

Architectures d implémentation de Click&DECiDE NSI

VMWare Infrastructure 3

Segmentation d'images à l'aide d'agents sociaux : applications GPU

IV- Comment fonctionne un ordinateur?

Leçon 1 : Les principaux composants d un ordinateur

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

Aide à l installation et à la migration en HelloDoc 5.60

Exécutif temps réel Pierre-Yves Duval (cppm)

Chapitre 4 : Les mémoires

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

Manuel du logiciel PrestaTest.

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

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

1. Présentation du TP

Systèmes d exploitation Gestion de processus

SYSTÈME DE GESTION DE FICHIERS

Tsoft et Groupe Eyrolles, 2005, ISBN :

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

Cours de Système : Gestion de Fichiers

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

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

Microsoft Virtual Server, trucs et astuces avancés

CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Bases de données documentaires et distribuées Cours NFE04

Transcription:

Gestion des processus / Gestion de la mémoire Alexis Lechervy d après un cours de Jacques Madelaine Université de Caen A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 1 / 31

Gestion des processus Sommaire 1 Gestion des processus Définition Les états d un processus Information de gestion 2 Gestion de la mémoire A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 1 / 31

Gestion des processus Définition Gestion des processus Multiprogrammation Plusieurs processus donnent l illusion à l utilisateur de s exécuter en parallèle pseudo parallélisme Seul un programme est actif (sur une machine mono processeur) A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 2 / 31

Gestion des processus Les états d un processus Différents états d un processus prêt actif bloqué A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 3 / 31

Gestion des processus Les états d un processus Différents états d un processus sous Unix prêt actif noyau actif utilisateur en attente zombie suspendu A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 4 / 31

Gestion des processus Information de gestion Information pour gérer un processus Processeur registres, compteur de programme mot d état du programme (PSW) pointeur de pile état du processus priorité, paramètres d ordonnancement identifiant (PID) processus parent, groupe de processus signaux heure de début temps CPU utilisé par le processus temps CPU utilisé par ses descendants heure déclenchement alarme Mémoire pointeurs de segment texte pointeurs de segment pile pointeurs de segment données Fichiers répertoire racine répertoire de travail descripteurs fichiers ouverts identifiant utilisateur (UID) identifiant groupe (GID) A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 5 / 31

Gestion des processus Information de gestion Système préemptif Le processus actif peut être interrompu par le système lorsqu il a utilisé son quantum de temps CPU Il est alors mis à l état bloqué Le processus le plus prioritaire est alors élu Un mécanisme simple pour privilégier les processus interactifs peu demandeurs de CPU est de mettre comme indice de priorité 1/f où f est la fraction utilisée du dernier quantum de CPU. Avec un quantum de 50 ms, si le processus a utilisé seulement 1 ms, sa priorité est de 50 s il a utilisé 25 ms, sa priorité est de 2 s il a tout utilisé, sa priorité est de 1 A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 6 / 31

Sommaire 1 Gestion des processus 2 Gestion de la mémoire Espace adressage Allocation contiguë / non contiguë Hiérarchie de la mémoire Segmentation Pagination Algorithmes de remplacement de pages A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 6 / 31

Gestion mémoire Notions principales du cours : Espace adressage Adresse physique / adresse logique Hiérarchie de mémoire Allocation contiguë / non contiguë Segmentation Pagination Algorithmes de remplacement de pages A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 7 / 31

Espace adressage Espace d adressage Définition ensemble des adresses qu un processus peut manipuler Vu comme un suite d emplacements : a adresse de [ l emplacement de ] base n taille de l espace Les adresses licites vont de a à a + n 1 A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 8 / 31

Espace adressage Systèmes mono-programmés Allocation contiguë 3 exemples : Programme utilisateur Système d exploitation en RAM Système d exploitation en ROM Programme utilisateur Pilotes en ROM Programme utilisateur Système d exploitation en RAM 0 0xFFF...F A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 9 / 31

Espace adressage Les programmes doivent utiliser des adresses absolues entre 0 et 0xFFF...F Système utilisé pour des systèmes embarqués simples par ex. dans une machine à laver A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 10 / 31

Espace adressage Systèmes multi-programmés Partitions fixes Une file par type de partition ou une seule file d attente : Partition 1 Partition 1 Partition 2 Partition 2 Partition 3 Partition 3 Partition 4 Partition 4 Partition 5 Partition 5 Noyau système Noyau système A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 11 / 31

Allocation contiguë / non contiguë Systèmes mono-programmés Allocation contigu Au chargement du programme dans une partition donnée, le loader devra réécrire toutes les adresses absolues utilisées en leur additionnant l adresse de base de la partition choisie. plusieurs files d attente avantage : on peut allouer une partition de taille juste suffisante pour le programme d un processus inconvénient : de grosses partitions peuvent rester inoccupée une seule file d attente on va chercher le processus le plus adapté à la taille de la partition libérée Problèmes : 1 les adresses doivent être recalculées quand on change de partition relogeabilité (en anglais relocation) 2 on doit empêcher un processus d accéder à la mémoire d un autre processus protection A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 12 / 31

Allocation contiguë / non contiguë Relogement et protection inconvénient : coût important autre inconvénient : difficile d interdire un accès en dehors de la partition car le programme peut lui aussi construire des adresses solution : ne recalculer les adresses qu au moment où on s en sert et garder les adresses sous la forme : [ @ base, déplacement (offset) ] L adresse de base est stockée dans un registre utilisable uniquement par le système Il existe un registre limit qui stocke la longueur de la partition et auquel le système compare le déplacement Pour la petite histoire : le processeur Intel 8088 possède un registre base, mais n a pas de registre limit A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 13 / 31

Allocation contiguë / non contiguë Swapping Mémoire virtuelle Avec des systèmes de traitements par lots (batch) ou temps réel à nombre de tâches fixes, l organisation en partition fixe est simple et optimum Ces solutions primitives sont encore employées pour des systèmes temps réel. Avec des systèmes conversationnels à temps partagé, il peut ne pas y avoir assez de place pour tenir en mémoire tous les processus Solutions : swapping on débarque un processus entièrement sur mémoire secondaire mémoire virtuelle l espace d adressage est divisé en pages qui sont chargées dans des cadres libres en mémoire centrale A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 14 / 31

Allocation contiguë / non contiguë Swapping Problème : Savoir si un partie mémoire est libre ou occupée 2 solutions : carte de bit (bitmap) 000 111 00000 11111 000 111 00000 11111 111111000111110000011111111 liste chaînée O pour occupé, L pour Libre 000 111 00000 11111 000 111 00000 11111 O 0 6 L 6 3 O 9 5 L 14 5 O 19 2 O 21 6 Il faut réunir deux cellules successives marquées libres A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 15 / 31

Allocation contiguë / non contiguë Swapping Problème : allocation première correspondance (first fit) prochaine correspondance (next fit) (on mémorise la dernière allocation) meilleur correspondance (best fit) fait des petits trous libres pire correspondance (worst fit) fait des gros trous libres... problème de fragmentation mémoire On retrouvera ces problèmes pour la gestion de fichiers A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 16 / 31

Hiérarchie de la mémoire Rappel : hiérarchie de mémoire Vitesse Taille 1 ns registres 1 à 10 Ko 2 ns mémoire cache 1 à 2 Mo 10 ns mémoire centrale 64 Mo à quelques Go 10 ms disques magnétiques 50 Go à quelques To 100 ms bande/cassettes magnétiques 100 Go A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 17 / 31

Segmentation Segmentation Il est utile de donner plusieurs espaces d adressage à un processus. Chacun de ces espaces sera un segment mémoire. Sous Unix, un processus possède : 1 un segment qui contient le programme (text segment) 2 un segment qui contient les données initialisées (data segment) 3 un segment qui contient les données non initialisées (bss segment) Ce dernier segment contient la pile et le tas qui grossissent en sens inverse : pile tas zone non utilisée possibilité de partager le segment texte par plusieurs processus les segments sont aussi utilisés pour les bibliothèques partagées so (shared objects) sous Unix, DLL (Dynamically Linked Library) sous Windows A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 18 / 31

Pagination Pagination Le CPU accède à la mémoire seulement via le MMU (Memory Management Unit) Le CPU utilise des adresses virtuelles découpées en : [ n de page virtuelle, adresse relative dans la page ] La table des pages contient l adresse physique du cadre mémoire contenant une copie de cette page. Une entrée contient en plus du n de cadre : un bit de présence/absence en mémoire. L absence de la page est une faute de page des bits de protection : lecture, écriture, et aussi exécution bit de modification (dirty bit) bit de référence, permet de choisir une victime à la sortie de la MC bit d invalidation de cache (pour les pages en attente d E/S) l adresse de la page sur mémoire secondaire n est pas dans cette table gérée par le matériel A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 19 / 31

Pagination Pagination Adresse virtuelle 0010 000010100000 Exemple : 16 pages de 4 Ko Le n de page virtuelle est 2 et correspond à l adresse 110 d une page présente en mémoire (1 en 2ème colonne) 15 111 1 14 000 0 13 000 0 12 11 10 9 000 000 000 000 0 0 0 0 8 7 6 5 4 3 2 1 0 101 000 011 000 000 100 110 001 010 1 0 1 0 0 1 1 1 1 Adresse physique 110 000010100000 A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 20 / 31

Pagination Pagination Avec des adresses sur 32 bits et des pages de 4 Ko le système peut adresser 2 32 12 = 2 20 = (2 10 ) 2 10 6 pages Avec des adresses sur 64 bits et des pages de 4 Ko le système peut adresser plus que de raison... 2 64 12 = 2 52 (2 10 ) 5 10 15 ( 1 Peta)... pour le moment, on se contente de quelques Go soit seulement 4 000 000 pages Une instruction machine fait référence à une (et souvent plusieurs) adresses mémoire la consultation de la table des pages doit être très rapide la consultation utilise un mécanisme matériel et quelques optimisations logiques A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 21 / 31

Pagination Pagination Consultation de la table des pages 1 limiter la table aux pages du processus courant Problème : le changement de contexte devient coûteux 2 utiliser une table à 2 niveaux Adresse virtuelle : [ n table de page niveau 1, n table de page niveau 2, déplacement dans page ] L avantage est qu en général un programme n utilise pas toutes les parties de son espace d adressage (ex. : parties hautes et basses du segment données) A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 22 / 31

Pagination Utilisation d une mémoire associative : la TLB Translation Look-aside Buffer La TLB stocke des couples (n de page virtuelle, adresse de cadre) un mécanisme matériel permet de retrouver l entrée correspondant à une entrée en un top d horloge la TLB contient les adresses de cadre des dernières pages référencées. Ceci est efficace à cause du principe de localité des références. A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 23 / 31

Pagination Pagination Exemple de TLB Validité N page Est Protection N cadre virtuelle modifiée 1 176 1 RWX 34 1 189 1 RWX 56 1 18 1 RWX 72 1 42 0 R X 16 1 54 1 RWX 15 1 41 0 R X 32 1 43 0 R X 24 1 954 0 RWX 54 A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 24 / 31

Pagination Pagination Problème de la taille de la table des pages avec des adresses sur 64 bits Avec des adresses sur 32 bits et des pages de 4 Ko, 1000000 d entrées sont nécessaires soit 4 Mo ce qui est possible Avec des adresses sur 64 bits et des pages de 4 Ko, 2 52 entrées de 8 octets occupent plus de 30 millions de Go!!! Solution : une table des pages inverses Il y a une entrée par cadre physique et non une entrée par page virtuelle L usage de la TLB est essentiel. A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 25 / 31

Algorithmes de remplacement de pages Algorithme de remplacement de pages À chaque défaut de page, il faut : 1 trouver l adresse la page manquante sur disque 2 trouver un cadre libre : 1 prendre le premier, s il existe 2 sinon choisir une page victime et récupérer son cadre après l avoir recopiée sur disque si elle à été salie 3 recopier le contenu de la page dans le cadre libéré 4 mettre à jour les tables 5 réveiller le processus à l origine du défaut de page A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 26 / 31

Algorithmes de remplacement de pages Algorithme de remplacement de pages Algorithme optimal Il connaît l avenir et peut donc anticiper uniquement théorique Utilisé comme étalon de comparaison des autres algorithmes A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 27 / 31

Algorithmes de remplacement de pages Algorithme de remplacement de pages Premier entré, premier sorti (FIFO First In, First Out ) On garde une liste des pages triées par ordre d arrivée et on chasse la plus vielle. Fausse bonne idée car les vielles pages peuvent toujours avoir du succès! Algorithme de la seconde chance On maintient aussi le bit R de référencement récent qui s il est positionné sauve la victime. A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 28 / 31

Algorithmes de remplacement de pages Algorithme de remplacement de pages Moins récemment utilisé (LRU Least Recently Used) Coûteux à mettre en œuvre car il faut mettre à jour la liste des pages triées par date de référencement à chaque référence! Non fréquemment utilisé (NFU Not Frequently Used) On maintient un compteur pour chaque page évaluant son nombre de référence A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 29 / 31

Algorithmes de remplacement de pages Algorithme de remplacement de pages Non récemment utilisé (NRU Not Recently Used) Sa mise en œuvre très simple utilise deux bits par pages : R pour référencé M pour modifié Périodiquement le bit R est mis à zéro Cela donne 4 catégories de pages : 1 non référencée, non modifiée 2 non référencée, modifiée 3 référencée, non modifiée 4 référencée, modifiée On choisit la victime dans l ordre de ces catégories A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 30 / 31

Algorithmes de remplacement de pages Mise en œuvre de la pagination Choix de la taille des pages : petite + moins de fragmentation + plus de portion utile plus de pages, table des pages plus grande grande problème de fragmentation interne Stratégie de nettoyage : périodiquement, s il n y a pas assez de cadres libres, un démon choisit des pages victimes et les sort de la mémoire A. Lechervy (Université de Caen) Gestion des processus / Gestion de la mémoire 31 / 31