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

31
Cours SE - SRC 1 - 2002 Cours SE - SRC 1 - 2002 Mémoire & Mémoire & Processus Processus

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

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

Cours SE - SRC 1 - 2002Cours SE - SRC 1 - 2002

Mémoire & ProcessusMémoire & Processus

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

La Gestion de la La Gestion de la MémoireMémoire

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

IntroductionIntroduction

La mémoire physique d’un système se La mémoire physique d’un système se divise en deux catégories :divise en deux catégories :

La mémoire viveLa mémoire vive La mémoire de masseLa mémoire de masse

Le rôle du système d’exploitation est Le rôle du système d’exploitation est d’organisée ces mémoires pour en tirer le d’organisée ces mémoires pour en tirer le maximum.maximum.

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

CaractéristiquesCaractéristiques

Supports Physiques :Supports Physiques : Semi-conducteurSemi-conducteur MagnétiqueMagnétique OptiqueOptique

Caractéristiques :Caractéristiques : Volatile / Non volatileVolatile / Non volatile Effaçable / Non effaçableEffaçable / Non effaçable

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

CaractéristiquesCaractéristiques

Capacité :Capacité : Nombre de mots.Nombre de mots. Taille du mot ( Octet )Taille du mot ( Octet )

Unité de transfert :Unité de transfert : Mot, Bloc, Page, FichierMot, Bloc, Page, Fichier

Performances :Performances : Temps d’accèsTemps d’accè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)

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

Accès à la mémoireAccès à la mémoire

Séquentiel : Temps d’accès linéaireSéquentiel : Temps d’accès linéaire

Direct : Temps d’accès constantDirect : Temps d’accès constant

Mixte : Accès direct au voisinage de la Mixte : Accès direct au voisinage de la donnée + Parcours séquentieldonnée + Parcours séquentiel

Associatif : Accès à la donnée en Associatif : Accès à la donnée en recherchant une clé dans une table, recherchant une clé dans une table, Temps constant.Temps constant.

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

ExemplesExemples

RAM ( Random Access Memory)RAM ( Random Access Memory) Accès Direct (Temps d’accès 10 à 70 ns)Accès Direct (Temps d’accès 10 à 70 ns) VolatileVolatile Accès Mode Normal / Mode PageAccès Mode Normal / Mode Page

ROM ( Read Only Memory)ROM ( Read Only Memory) Accès directAccès direct Non volatileNon volatile Utilisation : Microprogrammes ( BIOS)Utilisation : Microprogrammes ( BIOS)

PROM, EPROM, EEPROM, FLASH EEPROMPROM, EPROM, EEPROM, FLASH EEPROM

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

Hiérarchie MémoireHiérarchie Mémoire

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

Rôle du Système d’exploitationRôle du Système d’exploitation

La gestion est un compromis entre La gestion est un compromis entre performances et quantité.performances et quantité.

Elle doit remplir les fonctions suivantes :Elle doit remplir les fonctions suivantes :

Permettre le partage de la mémoire en allouant des Permettre le partage de la mémoire en allouant des blocs aux différentes tâches.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 disponibleOptimiser la quantité de mémoire disponible Traiter les échanges entre mémoire vive et mémoire Traiter les échanges entre mémoire vive et mémoire

de masse.de masse.

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

MéthodesMéthodes

Un seul processus en mémoire .Un seul processus en mémoire . Ex : MS-DOSEx : MS-DOS

Plusieurs processus en mémoire :Plusieurs processus en mémoire : Besoin de stocker momentanément des Besoin de stocker momentanément des

processus sur le disque : swappingprocessus sur le disque : swapping Mémoire adressable < mémoire réelle Mémoire adressable < mémoire réelle

nécessaire : mémoire virtuellenécessaire : mémoire virtuelle Ex : UNIXEx : UNIX

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

SWAPPINGSWAPPING

Mouvement des processus entre la mémoire Mouvement des processus entre la mémoire principale et le disque.principale et le disque.

Chaque processus actif occupe une partie Chaque processus actif occupe une partie variable de la mémoire :variable de la mémoire : Lorsqu’un processus n’est plus actif, il faut le sauver Lorsqu’un processus n’est plus actif, il faut le sauver

sur le disque.sur le disque. La zone de Swap peut-être prévue à l’avance par le La zone de Swap peut-être prévue à l’avance par le

SE ou allouée à la création du processus.SE ou allouée à la création du processus. Lorsque le processus se réveille, il faut lui trouver une Lorsque le processus se réveille, il faut lui trouver une

place en mémoire vive : Table d’occupation par blocs.place en mémoire vive : Table d’occupation par blocs.

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

Mémoire VirtuelleMémoire Virtuelle

Chaque programme considère :Chaque programme considère : Qu’il s’exécute tout seul à partir de l’adresse 0Qu’il s’exécute tout seul à partir de l’adresse 0 Qu’il a toute la mémoire Qu’il a toute la mémoire

En réalité, plusieurs programmes s’exécutent à En réalité, plusieurs programmes s’exécutent à la fois :la fois : Chacun possède une partie de la mémoire physique.Chacun possède une partie de la mémoire physique. L’accès aux pages mémoires est protégé par le SE.L’accès aux pages mémoires est protégé par le SE.

Le SE traduit les adresses virtuelles utilisées par Le SE traduit les adresses virtuelles utilisées par les programmes en adresses physiques :les programmes en adresses physiques : Utilise une table de pages située en mémoire Utilise une table de pages située en mémoire

physique.physique.

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

Mémoire VirtuelleMémoire Virtuelle

Utilité : Exécution de programmes plus Utilité : Exécution de programmes plus grands que la mémoire principalegrands que la mémoire principale

Protection : Les différents programmes Protection : Les différents programmes n’interfèrent pas.n’interfèrent pas.

Flexibilité : Les programmes peuvent se Flexibilité : Les programmes peuvent se placer n’importe où en mémoire.placer n’importe où en mémoire.

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

LES PROCESSUSLES PROCESSUS

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

Qu’est-ce qu’un Processus ?Qu’est-ce qu’un Processus ?

Processus = Unité d’exécutionProcessus = Unité d’exécution(Unité de partage du temps et de la (Unité de partage du temps et de la mémoire)mémoire)Processus # programmeProcessus # programme Un programme peut être exécuté plusieurs Un programme peut être exécuté plusieurs

fois et se trouver dans plusieurs unités fois et se trouver dans plusieurs unités d’exécution en même temps.d’exécution en même temps.

Le SE doit ordonnancer les processusLe SE doit ordonnancer les processus(Scheduler)(Scheduler)

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

Eléments de processusEléments de processus

Un processus comporte :Un processus comporte :

Du code machine exécutableDu code machine exécutable Une zone mémoire (données allouées par le Une zone mémoire (données allouées par le

processus)processus) Une pile ( pour les variables locales des Une pile ( pour les variables locales des

fonctions)fonctions) Un utilisateur propriétaire ( qui détermine les Un utilisateur propriétaire ( qui détermine les

permissions d’accès aux fichiers)permissions d’accès aux fichiers)

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

Etats d’un ProcessusEtats d’un Processus

Un processus peut être dans 3 états Un processus peut être dans 3 états possibles :possibles :

Elu (Actif) – Processus OK, Processeur OKElu (Actif) – Processus OK, Processeur OK Prêt (Suspendu) – processus OK, processeur Prêt (Suspendu) – processus OK, processeur

occupé par un autre processusoccupé par un autre processus Bloqué (En attente d’un évènement extérieur)Bloqué (En attente d’un évènement extérieur)

Processus non OK, même si le processeur Processus non OK, même si le processeur est disponible.est disponible.

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

Etats d’un processusEtats d’un processus

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

OrdonnancementOrdonnancement

Le système doit faire un choix :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 : L’utilisateur devant sa machine ne doit pas Temps de réponse : L’utilisateur devant sa machine ne doit pas

attendre.attendre. Temps d’exécution : Une séquence d’instructions ne doit pas Temps d’exécution : Une séquence d’instructions ne doit pas

trop durer.trop durer. Rendement : Il faut faire le plus de choses possibles dans le Rendement : Il faut faire le plus de choses possibles dans le

temps le plus court possible.temps le plus court possible.

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

OrdonnancementOrdonnancement

Ordonnancement sans réquisition :Ordonnancement sans réquisition : Un processus est exécuté jusqu’à la fin.Un processus est exécuté jusqu’à la fin.

Ordonnancement avec réquisition :Ordonnancement avec réquisition : A chaque signal d’horloge, le SE reprend la A chaque signal d’horloge, le SE reprend la

main, décide si le processus en cours a main, décide si le processus en cours a consommé son quota de temps et alloue consommé son quota de temps et alloue éventuellement le processeur à un autre éventuellement le processeur à un autre processus.processus.

Il existe de nombreux algorithmes Il existe de nombreux algorithmes d’ordonnancement.d’ordonnancement.

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

Ordonnancement CirculaireOrdonnancement Circulaire

Chaque processus possède un quantum Chaque processus possède un quantum d’exécutiond’exécution

Si le processus a fini dans cet intervalle, on Si le processus a fini dans cet intervalle, on passe au suivant.passe au suivant.

S’il n’a pas fini, il passe en fin de liste et l’on S’il n’a pas fini, il passe en fin de liste et l’on exécute le suivant.exécute le suivant.

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

Ordonnancement CirculaireOrdonnancement Circulaire

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

Ordonnancement CirculaireOrdonnancement Circulaire

Problème : Réglage du Quantum :Problème : Réglage du Quantum :

Quantum trop petit / Commutation :Quantum trop petit / Commutation :Le processeur passe son temps à commuter.Le processeur passe son temps à commuter.

Quantum trop grandQuantum trop grandAugmentation du temps de réponse d’une Augmentation du temps de réponse d’une commandecommande

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

Ordonnancement avec prioritéOrdonnancement avec priorité

Plusieurs files d’attentes avec un niveau Plusieurs files d’attentes avec un niveau de priorité différentde priorité différent

La priorité d’un processus décroît au cours La priorité d’un processus décroît au cours du temps pour ne pas bloquer les autres du temps pour ne pas bloquer les autres files d’attentesfiles d’attentes

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

Ordonnancement avec prioritéOrdonnancement avec priorité

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

OrdonnancementOrdonnancementAutres algorithmesAutres algorithmes

Ordonnancement « plus court d’abord » :Ordonnancement « plus court d’abord » : Estimation de la durée de chaque processus Estimation de la durée de chaque processus

en attenteen attente Exécuter le processus le plus courtExécuter le processus le plus court

Ordonnancement garanti :Ordonnancement garanti : Si n utilisateurs connectés, chacun reçoit 1/n Si n utilisateurs connectés, chacun reçoit 1/n

du temps processeur.du temps processeur.

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

Unix et les processusUnix et les processus

Processus fils / père :Processus fils / père : Ex : le shell est un processus comme les Ex : le shell est un processus comme les

autres. Chaque commande exécutée autres. Chaque commande exécutée correspond à la création d’un processus correspond à la création d’un processus « fils » par rapport au shell (« père »).« fils » par rapport au shell (« père »).

Chaque processus est identifié par :Chaque processus est identifié par : PID ( Processus Identifier)PID ( Processus Identifier) PPID (Parent Processus Identifier)PPID (Parent Processus Identifier)

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

Unix et les processusUnix et les processus

2 Types de processus :2 Types de processus :

Processus systèmes ( daemons)Processus systèmes ( daemons)Exécution de tâches générales, souventExécution de tâches générales, souventcontrôlées par rootcontrôlées par root

Processus utilisateursProcessus utilisateurs

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

Modes d’exécutionModes d’exécution

Interactif (foreground) :Interactif (foreground) : Le plus fréquent (on tape une commande, on Le plus fréquent (on tape une commande, on

attend un résultatattend un résultat Interruption de la commande par CTRL CInterruption de la commande par CTRL C Suspension de la commande par CTRL ZSuspension de la commande par CTRL Z

Arrière-plan (background) :Arrière-plan (background) : La commande est lancée, mais on rend le La commande est lancée, mais on rend le

contrôle à l’utilisateur. Pas d’interaction avec contrôle à l’utilisateur. Pas d’interaction avec celui-ci.celui-ci.

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

Modes d’exécutionModes d’exécution

Différé (AT) :Différé (AT) : Le fichier de commandes est exécuté à une date Le fichier de commandes est exécuté à une date

fixée.fixée. Pas d’interaction avec l’utilisateurPas d’interaction avec l’utilisateur

File d’attente (batch)File d’attente (batch) La commande est placée dans une file d’attente. La La commande est placée dans une file d’attente. La

file d’attente est vidée en fonction de la charge du file d’attente est vidée en fonction de la charge du processeurprocesseur

Cyclique (Crontab) :Cyclique (Crontab) : Un fichier spécial contient les tâches à exécuter Un fichier spécial contient les tâches à exécuter

régulièrement.régulièrement. Un daemon scrute sans arrêt ce fichier.Un daemon scrute sans arrêt ce fichier.

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

Les ThreadsLes Threads

Processus légers :Processus légers :

Plusieurs Threads à l’intérieur d’un Plusieurs Threads à l’intérieur d’un processus.processus.

Chaque Thread accède au même segment de Chaque Thread accède au même segment de mémoire ( donc aux mêmes données)mémoire ( donc aux mêmes données)