La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours SE - SRC 1 - 2002 Mémoire & Processus. La Gestion de la Mémoire.

Présentations similaires


Présentation au sujet: "Cours SE - SRC 1 - 2002 Mémoire & Processus. La Gestion de la Mémoire."— Transcription de la présentation:

1 Cours SE - SRC Mémoire & Processus

2 La Gestion de la Mémoire

3 Introduction La mémoire physique dun système se divise en deux catégories : La mémoire vive La mémoire vive La mémoire de masse La mémoire de masse Le rôle du système dexploitation est dorganisée ces mémoires pour en tirer le maximum.

4 Caractéristiques Supports Physiques : Semi-conducteur Semi-conducteur Magnétique Magnétique Optique Optique Caractéristiques : Volatile / Non volatile Volatile / Non volatile Effaçable / Non effaçable Effaçable / Non effaçable

5 Caractéristiques Capacité : Nombre de mots. Nombre de mots. Taille du mot ( Octet ) Taille du mot ( Octet ) Unité de transfert : Mot, Bloc, Page, Fichier Mot, Bloc, Page, Fichier Performances : Temps daccès Temps daccès Temps de cycle ( Entre 2 accès) Temps de cycle ( Entre 2 accès) Débit de transfert (1/Temps Cycle) Débit de transfert (1/Temps Cycle)

6 Accès à la mémoire Séquentiel : Temps daccès linéaire Direct : Temps daccès constant Mixte : Accès direct au voisinage de la donnée + Parcours séquentiel Associatif : Accès à la donnée en recherchant une clé dans une table, Temps constant.

7 Exemples RAM ( Random Access Memory) Accès Direct (Temps daccès 10 à 70 ns) Accès Direct (Temps daccès 10 à 70 ns) Volatile Volatile Accès Mode Normal / Mode Page Accès Mode Normal / Mode Page ROM ( Read Only Memory) Accès direct Accès direct Non volatile Non volatile Utilisation : Microprogrammes ( BIOS) Utilisation : Microprogrammes ( BIOS) PROM, EPROM, EEPROM, FLASH EEPROM

8 Hiérarchie Mémoire

9 Rôle du Système dexploitation La gestion est un compromis entre performances et quantité. Elle doit remplir les fonctions suivantes : Permettre le partage de la mémoire en allouant des blocs aux différentes tâches. Permettre le partage de la mémoire en allouant des blocs aux différentes tâches. Protéger les espaces mémoires utilisés. Protéger les espaces mémoires utilisés. Optimiser la quantité de mémoire disponible Optimiser la quantité de mémoire disponible Traiter les échanges entre mémoire vive et mémoire de masse. Traiter les échanges entre mémoire vive et mémoire de masse.

10 Méthodes Un seul processus en mémoire. Ex : MS-DOS Ex : MS-DOS Plusieurs processus en mémoire : Besoin de stocker momentanément des processus sur le disque : swapping Besoin de stocker momentanément des processus sur le disque : swapping Mémoire adressable < mémoire réelle nécessaire : mémoire virtuelle Mémoire adressable < mémoire réelle nécessaire : mémoire virtuelle Ex : UNIX Ex : UNIX

11 SWAPPING Mouvement des processus entre la mémoire principale et le disque. Chaque processus actif occupe une partie variable de la mémoire : Lorsquun processus nest plus actif, il faut le sauver sur le disque. Lorsquun processus nest plus actif, il faut le sauver sur le disque. La zone de Swap peut-être prévue à lavance par le SE ou allouée à la création du processus. La zone de Swap peut-être prévue à lavance par le SE ou allouée à la création du processus. Lorsque le processus se réveille, il faut lui trouver une place en mémoire vive : Table doccupation par blocs. Lorsque le processus se réveille, il faut lui trouver une place en mémoire vive : Table doccupation par blocs.

12 Mémoire Virtuelle Chaque programme considère : Quil sexécute tout seul à partir de ladresse 0 Quil sexécute tout seul à partir de ladresse 0 Quil a toute la mémoire Quil a toute la mémoire En réalité, plusieurs programmes sexécutent à la fois : Chacun possède une partie de la mémoire physique. Chacun possède une partie de la mémoire physique. Laccès aux pages mémoires est protégé par le SE. Laccès aux pages mémoires est protégé par le SE. Le SE traduit les adresses virtuelles utilisées par les programmes en adresses physiques : Utilise une table de pages située en mémoire physique. Utilise une table de pages située en mémoire physique.

13 Mémoire Virtuelle Utilité : Exécution de programmes plus grands que la mémoire principale Protection : Les différents programmes ninterfèrent pas. Flexibilité : Les programmes peuvent se placer nimporte où en mémoire.

14 LES PROCESSUS

15 Quest-ce quun Processus ? Processus = Unité dexécution (Unité de partage du temps et de la mémoire) Processus # programme Un programme peut être exécuté plusieurs fois et se trouver dans plusieurs unités dexécution en même temps. Un programme peut être exécuté plusieurs fois et se trouver dans plusieurs unités dexécution en même temps. Le SE doit ordonnancer les processus (Scheduler)

16 Eléments de processus Un processus comporte : Du code machine exécutable Du code machine exécutable Une zone mémoire (données allouées par le processus) Une zone mémoire (données allouées par le processus) Une pile ( pour les variables locales des fonctions) Une pile ( pour les variables locales des fonctions) Un utilisateur propriétaire ( qui détermine les permissions daccès aux fichiers) Un utilisateur propriétaire ( qui détermine les permissions daccès aux fichiers)

17 Etats dun Processus Un processus peut être dans 3 états possibles : Elu (Actif) – Processus OK, Processeur OK Elu (Actif) – Processus OK, Processeur OK Prêt (Suspendu) – processus OK, processeur occupé par un autre processus Prêt (Suspendu) – processus OK, processeur occupé par un autre processus Bloqué (En attente dun évènement extérieur) Processus non OK, même si le processeur est disponible. Bloqué (En attente dun évènement extérieur) Processus non OK, même si le processeur est disponible.

18 Etats dun processus

19 Ordonnancement Le système doit faire un choix : Equité : Chaque processus doit avoir du temps processeur. Equité : Chaque processus doit avoir du temps processeur. Efficacité : Le processeur doit être utilisé à 100 % Efficacité : Le processeur doit être utilisé à 100 % Temps de réponse : Lutilisateur devant sa machine ne doit pas attendre. Temps de réponse : Lutilisateur devant sa machine ne doit pas attendre. Temps dexécution : Une séquence dinstructions ne doit pas trop durer. Temps dexécution : Une séquence dinstructions ne doit pas trop durer. Rendement : Il faut faire le plus de choses possibles dans le temps le plus court possible. Rendement : Il faut faire le plus de choses possibles dans le temps le plus court possible.

20 Ordonnancement Ordonnancement sans réquisition : Un processus est exécuté jusquà la fin. Un processus est exécuté jusquà la fin. Ordonnancement avec réquisition : A chaque signal dhorloge, le SE reprend la main, décide si le processus en cours a consommé son quota de temps et alloue éventuellement le processeur à un autre processus. A chaque signal dhorloge, le SE reprend la main, décide si le processus en cours a consommé son quota de temps et alloue éventuellement le processeur à un autre processus. Il existe de nombreux algorithmes dordonnancement. Il existe de nombreux algorithmes dordonnancement.

21 Ordonnancement Circulaire Chaque processus possède un quantum dexécution Si le processus a fini dans cet intervalle, on passe au suivant. Si le processus a fini dans cet intervalle, on passe au suivant. Sil na pas fini, il passe en fin de liste et lon exécute le suivant. Sil na pas fini, il passe en fin de liste et lon exécute le suivant.

22 Ordonnancement Circulaire

23 Problème : Réglage du Quantum : Quantum trop petit / Commutation : Le processeur passe son temps à commuter. Quantum trop petit / Commutation : Le processeur passe son temps à commuter. Quantum trop grand Augmentation du temps de réponse dune commande Quantum trop grand Augmentation du temps de réponse dune commande

24 Ordonnancement avec priorité Plusieurs files dattentes avec un niveau de priorité différent La priorité dun processus décroît au cours du temps pour ne pas bloquer les autres files dattentes

25 Ordonnancement avec priorité

26 Ordonnancement Autres algorithmes Ordonnancement « plus court dabord » : Estimation de la durée de chaque processus en attente Estimation de la durée de chaque processus en attente Exécuter le processus le plus court Exécuter le processus le plus court Ordonnancement garanti : Si n utilisateurs connectés, chacun reçoit 1/n du temps processeur. Si n utilisateurs connectés, chacun reçoit 1/n du temps processeur.

27 Unix et les processus Processus fils / père : Ex : le shell est un processus comme les autres. Chaque commande exécutée correspond à la création dun processus « fils » par rapport au shell (« père »). Ex : le shell est un processus comme les autres. Chaque commande exécutée correspond à la création dun processus « fils » par rapport au shell (« père »). Chaque processus est identifié par : PID ( Processus Identifier) PID ( Processus Identifier) PPID (Parent Processus Identifier) PPID (Parent Processus Identifier)

28 Unix et les processus 2 Types de processus : Processus systèmes ( daemons) Exécution de tâches générales, souvent contrôlées par root Processus systèmes ( daemons) Exécution de tâches générales, souvent contrôlées par root Processus utilisateurs Processus utilisateurs

29 Modes dexécution Interactif (foreground) : Le plus fréquent (on tape une commande, on attend un résultat Le plus fréquent (on tape une commande, on attend un résultat Interruption de la commande par CTRL C Interruption de la commande par CTRL C Suspension de la commande par CTRL Z Suspension de la commande par CTRL Z Arrière-plan (background) : La commande est lancée, mais on rend le contrôle à lutilisateur. Pas dinteraction avec celui-ci. La commande est lancée, mais on rend le contrôle à lutilisateur. Pas dinteraction avec celui-ci.

30 Modes dexécution Différé (AT) : Le fichier de commandes est exécuté à une date fixée. Le fichier de commandes est exécuté à une date fixée. Pas dinteraction avec lutilisateur Pas dinteraction avec lutilisateur File dattente (batch) La commande est placée dans une file dattente. La file dattente est vidée en fonction de la charge du processeur La commande est placée dans une file dattente. La file dattente est vidée en fonction de la charge du processeur Cyclique (Crontab) : Un fichier spécial contient les tâches à exécuter régulièrement. Un fichier spécial contient les tâches à exécuter régulièrement. Un daemon scrute sans arrêt ce fichier. Un daemon scrute sans arrêt ce fichier.

31 Les Threads Processus légers : Plusieurs Threads à lintérieur dun processus. Plusieurs Threads à lintérieur dun processus. Chaque Thread accède au même segment de mémoire ( donc aux mêmes données) Chaque Thread accède au même segment de mémoire ( donc aux mêmes données)


Télécharger ppt "Cours SE - SRC 1 - 2002 Mémoire & Processus. La Gestion de la Mémoire."

Présentations similaires


Annonces Google