s & Réseaux Georges Arhodakis Université Paris 8
Sommaire Introduction Historique Service du noyau Appel Trappes & Interruptions Horloge & Gestion du Temps Ordonnancement Contrôle & Gestion des Ressources Processus Création / Destruction / Planification États & Changements de Contexte Trappes / Interruptions / Exceptions Processus Légers (Threads) Mémoire Physique / Virtuelle Pagination / Swapping Espace de Travail Entrées / Sorties Pilotes de Périphériques Physiques / Logiques / Virtuels Raw / Block Devices Handlers de Gestion de Fichiers (SGF) Distribution / Répartition (Networking) Modèles Topologies Protocoles Normes & Standards Inter-Processus Communication (IPC) Signaux Sémaphores Mémoire Partagée (Shared Memory) Boite à lettres (Messaging Queues) Pipes (Named / Unnamed) Sockets Fichiers 2000, Georges Arhodakis - Université Paris 8 2
Niveaux Hiérarchiques de la Mémoire Mémoire d'archivage (Bandes, WORM,...) Accès Lente, Grande Capacité Diminution du Coût Accès Rapide, Capacité Limitée Disques à Tête Mobile Mémoire DRUM à Faible Accès Mémoire Lente de Grande Capacité Mémoire Principale Mémoire Cache Diminution du Temps d'accès 2000, Georges Arhodakis - Université Paris 8 3
de Gestion de Mémoire 2 ou 3 Niveaux Mémoire Principale (1 e niveau) Espace de Stockage Secondaire ou Support de Stockage Serveurs de Fichiers Partager la Mémoire Disponible 2000, Georges Arhodakis - Université Paris 8 4
de Gestion de Mémoire Stratégies Allocation de grands Espaces Allocation d espace Partiellement Caractéristiques Fetch Policy Quand Charger une Page Placement Policy Ou Charger une Page Replacement Policy Comment Sélectionner la Page à Enlever 2000, Georges Arhodakis - Université Paris 8 5
Gestion de la Mémoire Principale Statiquement Statique Dynamiquement Dynamique 2000, Georges Arhodakis - Université Paris 8 6
Ordonnancement à Moyen Terme Swapping / Paging: transfert les processus entre la Mémoire Principale et le Disque (move process back & forth between Main Memory and Disk) Gestion Mémoire Partitions Fixes Variables Multiprocesseurs à Mémoire Partagée 2000, Georges Arhodakis - Université Paris 8 7
Stratégie d allocation Espace Processus Processus i Espace libre Data & Stack Text Stack Data Processus 2 Processus Text Stack Processus 1 Espace libre Data & Stack Data Text Stack Data Processus 1 Text Text d'exploitation RAM d'exploitation RAM 2000, Georges Arhodakis - Université Paris 8 8
Mémoire Virtuelle Problème de taille des programmes découpage des programmes - Overlays Idée de Base: si la taille de Text,, Data & Stack dépasse la quantité de mémoire P φ, le système doit preserver certaines parties du programme en mémoire et le reste sur le disque. Adresse Virtuelle Espace d adressage Virtuelle En cas d utilisation de MV (VM) la M.M.U. intercepte les adresses mémoire avant qu elles atteignent le BUS approprié (BUS d adresses) 2000, Georges Arhodakis - Université Paris 8 9
Mémoire Virtuelle Mapped / Unmapped L accès par le noyau d une page logée en disque - Unmapped - provoque une exception de défaut de page (page page not mapped in P φ memory). La recopie de la page du disque en mémoire - Mapped - permet la résolution du défaut de page et le rélancement de l instruction. Trashing Nombre élevé de défauts de page obligeant le système à passer son temps à recopier des pages entre la mémoire et le disque. 2000, Georges Arhodakis - Université Paris 8 10
Mémoire Virtuelle Name Location, Space Mapping Name Space Name Location Map 2000, Georges Arhodakis - Université Paris 8 11
Pagination / Segmentation Quelques Algorithmes Static Demand Random Belady s Optimal Algorithme FIFO: First In First Out LRU: Last/Least Recently Used Stack LFU: Least Frequently Used 2000, Georges Arhodakis - Université Paris 8 12
Niveaux de Perception Exécution Chargement Temps Édition de Liens Compilation Écriture du Programme 2000, Georges Arhodakis - Université Paris 8 13
Attachement/Lien (Binding) Liens Dynamiques Allocation Dynamique de Mémoire Overlay Liens Dynamiques Automatiques Rélocalisation/Transfert Dynamique Protection Lien Avancé/Anticipé/Précoce (Early Binding) Lien Tardif (Late Binding) 2000, Georges Arhodakis - Université Paris 8 14
Mono Programmation sans Échange/Pagination 0xFF. R0M d Exploitation en R0M Pilotes de Périphériques en R0M Programme Utilisateur Programme Utilisateur Programme Utilisateur d'exploitation RAM RAM d'exploitation RAM 2000, Georges Arhodakis - Université Paris 8 15 0
Mono Programmation avec Recouvrement 0xFF. R0M d Exploitation en R0M Pilotes de Périphériques en R0M Overlay Area Programme Utilisateur Programme Utilisateur Overlay Area Programme Utilisateur d'exploitation RAM Overlay Area RAM d'exploitation RAM 2000, Georges Arhodakis - Université Paris 8 16 0
MultiProgrammation & Utilisation de la Mémoire Accroître l utilisation de l U.C. Améliorer le Degré de MultiProgrammation Problèmes à traiter: Rélocalisation / Transfert du Code Protection des données en cas de rélocalisation / transfert 2000, Georges Arhodakis - Université Paris 8 17
Multi Programmation sans Échange/Pagination Files d attentes Multiples 0xFF. Partition 5 Partition 5 Partition 4 Partition 3 File d attente Unique Partition 4 Partition 3 Partition 2 Partition 1 Partition 0 d'exploitation RAM Partition 2 Partition 1 Partition 0 d'exploitation RAM 2000, Georges Arhodakis - Université Paris 8 18 0
MultiProgrammation et partitions variables Temps Partition ll Partition jj Partition 4 Partition 4 Partition 3 Partition 3 Partition 2 Partition 2 Partition 2 Partition k Partition 1 Partition 1 Partition 1 Partition ii Partition ii d exploitation d exploitation d exploitation d exploitation d exploitation d exploitation 2000, Georges Arhodakis - Université Paris 8 19
Translation d adresse (Concept matérielle) U.A.L. Unité Centrale Registres Unité de Contrôle P.C. I.R. Registre Relocation Déménagement Translation Bus de données Bus d adresses R.A.M. R.D.M. Mémoire U.A.L. Unité Arithmétique et Logique C.O. Compteur Ordinal R.I. Registre d Instruction R.A.M. Registre Adresse Mémoire R.D.M. Registre Données Mémoire 2000, Georges Arhodakis - Université Paris 8 20
Translation d adresse (Segments multiples) U.A.L. Unité Centrale Registres Unité de Contrôle P.C. I.R. Registres Relocation Déménagement Translation Code Data Stack Extra Bus de données Bus d adresses R.A.M. R.D.M. Mémoire U.A.L. Unité Arithmétique et Logique C.O. Compteur Ordinal R.I. Registre d Instruction R.A.M. Registre Adresse Mémoire R.D.M. Registre Données Mémoire 2000, Georges Arhodakis - Université Paris 8 21
Translation d adresse (Test Bornes < et >) > U.A.L. Unité Centrale Registres Unité de Contrôle P.C. I.R. Registre Relocation Déménagement Translation Relocation Limite Registre Bornes < et > Bus de données Interruption Bus d adresses R.A.M. R.D.M. Mémoire U.A.L. Unité Arithmétique et Logique C.O. Compteur Ordinal R.I. Registre d Instruction R.A.M. Registre Adresse Mémoire R.D.M. Registre Données Mémoire 2000, Georges Arhodakis - Université Paris 8 22
Translation d adresse (Segment Mapping) [SegmentName, Offset] Traduire Segment Table N Segment B L Base 0 1 Limite Segments N-1 2000, Georges Arhodakis - Université Paris 8 23
Adresse Virtuelle / Physique 0-4 Kb Espace d adresses Physiques Espace d adresses Virtuelles 0-4 Kb xxxx - yyyy Kb Page Virtuelle Page Physique Cadre de Page (Page Frame) xxxxxxx - yyyyyyy Kb 2000, Georges Arhodakis - Université Paris 8 24
Traduction d Adresse (Virtuelle Physique) 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Table des Pages 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 Page Valide/Invalide? Adresse Virtuelle Adresse Physique 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2000, Georges Arhodakis - Université Paris 8 25