Noyau d'un système d'exploitation INF2610. Chapitre 6 : Gestion de la mémoire

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Noyau d'un système d'exploitation INF2610. Chapitre 6 : Gestion de la mémoire"

Transcription

1 INF261 Chapitre 6 : Gestion de la mémoire Département de génie informatique et génie logiciel Automne 213 Chapitre 6: Gestion de la mémoire Généralités - Comment organiser la mémoire physique? - Comment organiser l espace d adressage d un processus? La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page Segmentation / pagination Linux, UNIX et Windows Ecole Polytechnique de Montréal Chapitre 6-2 1

2 Généralités Le gestionnaire de la mémoire est le composant du système d exploitation qui se charge de gérer l allocation d espace mémoire aux processus à exécuter : - Comment organiser la mémoire physique? (Partitions fixes ou variables, cadres de même taille). - Comment mémoriser l état de la mémoire? Parmi les parties libres en mémoire, lesquelles allouer au processus? (politique de placement) - Faut-il allouer tout l espace nécessaire avant l exécution ou à la demande? (politique d allocation). - S il n y a pas assez d espace en mémoire, doit-on libérer de l espace en retirant des parties ou des processus entiers? Si oui lesquels? (politique de remplacement). - Les adresses figurant dans les instructions sont-elles relatives (logiques / virtuelles)? Si oui, comment les convertir en adresses physiques. - Si plusieurs processus peuvent être résidents en mémoire, comment assurer la protection des processus (éviter qu un processus soit altéré par un autre)? Ecole Polytechnique de Montréal Chapitre 6-3 Généralités (2) Exigences : Efficacité : la mémoire doit être allouée équitablement et à moindre coût tout en assurant une meilleure utilisation des ressources (mémoire, processeurs et disque). Protection : Les processus ne peuvent pas se corrompre. Transparence : Chacun des processus doit ignorer l existence des autres en mémoire. Relocation : la possibilité de déplacer un processus en mémoire. Ecole Polytechnique de Montréal Chapitre 6-4 2

3 Généralités (3) Comment organiser la mémoire physique? Multiprogrammation : La mémoire physique est partagée entre le système d'exploitation et plusieurs processus. Le but est d optimiser le taux d'utilisation du processeur. Taux d utilisation = 1 P n où P est le taux d attente d E/S et n est le nombre de processus. Chapitre 8.5 Ecole Polytechnique de Montréal Chapitre 6-5 Généralités (4) Comment organiser la mémoire physique? Partitions (fixes ou variables) unité d allocation partition Un processus est chargée dans une partition Fragmentation interne Partition vide SE Mémoire Partition 2K Partition 4K Partition 6K Partition 3K K SE 4K processus 1 1K processus 4 Arrivée du processus 5 processus 4 17K 2K processus 3 23K 256K K SE 4K processus 5 9K 1K Fin du processus 1 17K 2K processus 3 23K 256K Cadres (cases ou frames) de même taille fragmentation interne unité d allocation cadre Un processus peur occuper plusieurs cadres contigües ou non Fragmentation externe Ecole Polytechnique de Montréal Chapitre 6-6 3

4 Généralités (5) Comment organiser la mémoire physique? Pour gérer l'allocation et la libération de l'espace mémoire, le gestionnaire doit : Connaître l'état de la mémoire : - Tables de bits, - Listes chaînées. Mémorisation de l état de la mémoire cas de BSD 4. Avoir une politique de placement et de récupération d espace. - Premier ajustement (first fit) : première zone libre qui convient. - Meilleur ajustement (best fit) : plus petite zone qui convient. - Pire ajustement (worst case) : plus grande zone qui convient - Par subdivision Ecole Polytechnique de Montréal Chapitre 6-7 Généralités (6) Comment organiser la mémoire physique? Par subdivision (cas de Linux) : La mémoire centrale est gérée comme suit : Initialement, la mémoire est composée d une seule zone libre. Lorsqu une demande d allocation arrive, la taille de l espace demandé est arrondie à une puissance de 2. La zone libre initiale est divisée en deux. Si la première est trop grande, elle est, à son tour, divisée en deux et ainsi de suite... Sinon, elle est allouée au demandeur. Le gestionnaire de la mémoire utilise un tableau qui contient des têtes de listes. Le premier élément du tableau contient la tête de la liste des zones de taille 1. Le deuxième élément contient la tête de la liste des zones de taille 2 Cet algorithme conduit vers une importante fragmentation interne. Les espaces non utilisés (de la fragmentation interne) sont récupérés et gérés différemment. Lors de la libération de l espace, les zones contiguës de même taille sont regroupées en une seule zone. è Allocation très rapide. Ecole Polytechnique de Montréal Chapitre 6-8 4

5 Généralités (7) Comment organiser la mémoire physique? Par subdivision (cas de Linux) : Ecole Polytechnique de Montréal Chapitre 6-9 Généralités (8) Comment organiser l espace d adressage d un processus? Espace d adressage d un processus = ensemble de segments Segments = zones contiguës de tailles différentes Ecole Polytechnique de Montréal Chapitre 6-1 5

6 Généralités (9) Comment organiser l espace d adressage d un processus? Espace d adressage d un processus = ensemble de pages de même taille Mémoire physique Représenté par Espace d'adressage linéaire Table des pages Espace d adressage d un processus = ensemble de segments. Segment = ensemble de pages de même taille. Ecole Polytechnique de Montréal Chapitre 6-11 Généralités (1) Comment organiser l espace d adressage d un processus? D une manière générale, l espace d adressage est structuré en blocs de : même taille (pages-> pagination) ou tailles différentes (segments->segmentation). Les deux organisations peuvent être combinées : segment = {pages} Le format de l adresse de cet espace est : (numéro de page, déplacement dans la page) pour la pagination; (numéro de segment, déplacement dans le segment) pour la segmentation; (numéro de segment, numéro de page, déplacement dans la page) pour la segmentation/pagination. L allocation de l espace mémoire physique nécessaire peut se faire : - avant l exécution ou - à la demande au cours de l exécution è Mémoire virtuelle Mémoire virtuelle - Taille de l espace d adressage peut être >> à celle de la mémoire physique - Espace d adressage virtuel = {adresses virtuelles} Ecole Polytechnique de Montréal Chapitre

7 Généralités (11) Comment organiser l espace d adressage d un processus? Exemple 1 : Supposez le format d adresse virtuelle (b, d) sur 32 bits avec n bits pour d : Le nombre maximal de blocs que peut contenir l espace virtuel : 2 32-n La taille maximale d un bloc (page ou segment) : 2 n La taille maximale de l espace d adressage : 2 32 n => pertes par fragmentation et table des blocs n => pertes par fragmentation et table des blocs La table des blocs (pages ou segments) d un processus permet de localiser les différents blocs de l espace d adressage. Elle contient une entrée par bloc : (bit de présence, adresse physique du début du bloc,.). L adresse de la table des blocs fait partie du contexte du processus à sauver ou à restaurer lors du changement de contexte. Ecole Polytechnique de Montréal Chapitre 6-13 Généralités (12) Comment organiser l espace d adressage d un processus? Il y a deux types d adresses dans les systèmes implantant la mémoire virtuelle : - Celles référencées par les processus (adresses virtuelles, relatives, logiques), - Celles de la mémoire physique (adresses physiques ou réelles). Il faut notamment : Un mécanisme de conversion d adresses virtuelles rapide. Une politique de remplacement de pages / segments => moins de fautes de pages / segments. Ecole Polytechnique de Montréal Chapitre

8 La pagination pure L espace d adressage (virtuel) et la mémoire physique sont structurées en unités d allocations (pages pour l espace d adressage et cases (ou cadres) pour la mémoire physique). La taille d une page est fixe et égale à celle d une case. Elle varie entre 512 octets et 8 Ko. (commande pagesize) L unité d allocation est la page (le cadre). Il n y a pas de fragmentation externe car toutes les pages sont de même taille. Par contre, il peut y avoir une fragmentation interne si une page de l espace d adressage n est pas pleine. Ecole Polytechnique de Montréal Chapitre 6-15 La pagination pure (2) Exemple : Soit un programme de 64 Ko sur une machine 32 Ko de mémoire physique Taille d une page = Taille d une case = 4 Ko. L espace d adressage virtuel d un processus est composé de 16 pages de 4 Ko La mémoire physique est composée de 8 cases (cadres) de 4 Ko Espace d'adressage virtuel Mémoire physique Ecole Polytechnique de Montréal Chapitre

9 Conversion d adresses virtuelles Adresse virtuelle = (numéro de page, déplacement dans la page). Les adresses virtuelles référencées par l instruction en cours d exécution doivent être converties en adresses physiques. La correspondance entre les pages et les cases est mémorisée dans la table de pages. Le nombre d entrées dans la table est égal au nombre de pages virtuelles. La table des pages d un processus doit être (en totalité ou en partie) en mémoire centrale lors de l exécution du processus. Elle est nécessaire pour la conversion des adresses virtuelles en adresses physiques. Chaque entrée de la table des pages est composée de plusieurs champs, notamment : Le bit de présence Le bit de référence (R) Les bits de protection (un, deux ou trois bits) Le bit de modification (M appelé bit dirty/clean) Le numéro de case correspondant à la page son emplacement sur disque Ecole Polytechnique de Montréal Chapitre 6-17 Conversion d adresses virtuelles: exemple Supposons que l adresse virtuelle est sur 16 bits : (numéro de page (4 bits), déplacement dans la page (12 bits)). La conversion est réalisée en examinant l entrée dans la table des pages correspondant au numéro de page. Si le bit de présence est à, la page n est pas en mémoire, il faut alors lancer son chargement en mémoire. Sinon, on détermine l adresse physique en recopiant dans : les 3 bits de poids le plus fort le numéro de case (11) correspondant au numéro de page (1) et les 12 bits de poids le plus faible, les 12 bits de poids le plus faible de l adresse virtuelle. Ecole Polytechnique de Montréal Chapitre

10 Conversion d adresses virtuelles: exemple (2) L adresse virtuelle 8196 (1 1) est convertie en adresse physique 2458 (11 1). 1 1 Adresse virtuelle Table des pages Adresse 1 physique 1 Adresse physique Ecole Polytechnique de Montréal Chapitre 6-19 Conversion d adresses virtuelles: MMU Cette conversion d adresse est effectuée par un composant matériel du processeur le MMU : Memory Management Unit (MMU). Le MMU vérifie si l adresse virtuelle reçue correspond à une adresse en mémoire physique (en consultant la table des pages). Si c est le cas, le MMU transmet sur le bus de la mémoire l adresse réelle, sinon il y a un défaut de page. Un défaut de page provoque un déroutement (trap) dont le rôle est de ramener à partir du disque la page manquante référencée (l unité de transfert est la page). Ecole Polytechnique de Montréal Chapitre 6-2 1

11 Conversion d adresses virtuelles: MMU (2) Ecole Polytechnique de Montréal Chapitre 6-21 Conversion d adresses virtuelles MMU avec mémoire associative TLB Pour accélérer la translation d adresse, le MMU est doté d un composant, appelé mémoire associative, composé d un petit nombre d entrées (8 à 128). Ce composant appelé aussi TLB (Translation Lookaside Buffers) contient des informations sur les dernières pages référencées. Chaque entrée est composée de : RW 31 - Un bit de validité 1 2 R X 38 - Un numéro de page virtuelle RW RW 62 - Un bit de modification (M) 1 19 R X 5 - Un, deux ou trois bits de protection 1 21 R X 45 - Un numéro de case RW RW 75 Ecole Polytechnique de Montréal Chapitre

12 Conversion d adresses virtuelles MMU avec mémoire associative TLB (2) Lorsqu une adresse virtuelle est présentée au MMU, il vérifie d abord si le numéro de la page virtuelle est présent dans la mémoire associative (en le comparant simultanément à toutes les entrées). S il le trouve et le mode d accès est conforme aux bits de protection, le numéro de case est pris directement de la mémoire associative (sans passer par la table des pages). Si le numéro de page est présent dans la mémoire associative mais le mode d accès est non conforme, il se produit un défaut de protection. Si le numéro de page n est pas dans la mémoire associative, le MMU accède à la table des pages à l entrée correspondant au numéro de page. Si le bit de présence de l entrée trouvée est à 1, le MMU remplace une des entrées de la mémoire associative par l entrée trouvée. Sinon, il provoque un défaut de page. Ecole Polytechnique de Montréal Chapitre 6-23 Conversion d adresses virtuelles MMU avec mémoire associative TLB (3) A Début Mémoire Pleine? Oui UCT accède au TLB Non Remplacement de page Page dans TLB? Oui Non Accès à la table de pages Transfert de la page du disque vers la mémoire A Non Page en Mémoire? Mise à jour de la table de pages Oui Mettre à jour TLB UCT génère l adresse physique Ecole Polytechnique de Montréal Chapitre

13 Conversion d adresses virtuelles MMU avec mémoire associative TLB (4) Supposons qu il faut 1ns pour accéder à la table des pages et 2ns pour accéder à la mémoire associative. Si la fraction de références mémoire trouvées dans la mémoire associative (taux d impact) est s, le temps d accès moyen est : s * 2 + (1-s) *1. Ecole Polytechnique de Montréal Chapitre 6-25 Table des pages à plusieurs niveaux La taille de la table de pages peut être très grande: 2 2 entrées (plus d un million) pour un adressage virtuel sur 32 bits et des pages de 4 Ko. Pour éviter d avoir des tables trop grandes en mémoire, de nombreux ordinateurs utilisent des tables de pages à plusieurs niveaux. Par exemple, une table de pages à deux niveaux, pour un adressage sur 32 bits et des pages de 4 Ko, est composée 125 tables de 124 entrées. Il est ainsi possible de ne charger que les tables nécessaires. Dans ce cas, une adresse virtuelle de 32 bits est composée de trois champs : un pointeur sur la table du 1er niveau (1 bits), un pointeur sur une table du 2nd niveau (1 bits) et un déplacement dans la page (12 bits). Ecole Polytechnique de Montréal Chapitre

14 Table des pages à deux niveaux Ecole Polytechnique de Montréal Chapitre 6-27 Table des pages à k niveaux n-1 VPN 1 VIRTUAL ADDRESS VPN 2... VPN k p-1 VPO Level 1 Page Table Level 2 Page Table Level k Page Table PPN m-1 PPN p-1 PPO PHYSICAL ADDRESS Ecole Polytechnique de Montréal Chapitre

15 Table des pages inversée Ecole Polytechnique de Montréal Chapitre 6-29 Algorithmes de remplacement de page A la suite d une faute de page (lourde), le système d exploitation doit ramener en mémoire la page manquante à partir du disque. S il n y a pas de cases libres en mémoire, il doit retirer une page de la mémoire pour la remplacer par celle demandée. Si la page à retirer a été modifiée depuis son chargement en mémoire, il faut la réécrire sur le disque. Quelle est la page à retirer de manière à minimiser le nombre de défauts de page? Le choix de la page à retirer peut se limiter aux pages du processus qui a provoqué le défaut de page (allocation locale) ou à l ensemble des pages en mémoire (allocation globale). En général, l allocation globale produit de meilleurs résultats que l allocation locale. Ces algorithmes mémorisent les références passées aux pages. Le choix de la page à retirer dépend des références passées. Ecole Polytechnique de Montréal Chapitre

16 Algorithme aléatoire Critère : choisir au hasard une page victime (à retirer de la mémoire) Facile Version locale et globale Utilisé pour des comparaisons entre méthodes Ecole Polytechnique de Montréal Chapitre 6-31 Algorithme optimal (BELADY) Critère : remplacer la page qui sera référencée le plus tard possible dans le futur Irréalisable, ne peut être fait que a posteriori Version locale et globale Intérêt pour faire des études analytiques comparatives Exemple 2 avec 3 cadres Nombre d'accès: 2 Fautes de page: 9 (45%) Ecole Polytechnique de Montréal Chapitre

17 Algorithme FIFO Critère : la page dont le temps de résidence est le plus long Implémentation facile : pages résidentes en ordre FIFO on expulse la première Ce n est pas une bonne stratégie : Son critère n est pas fondé sur l utilisation de la page Anomalie de Belady On peut rencontrer des exemples où en augmentant le nombre de cadres on augmente le nombre de défauts de page au lieu de le diminuer. Ecole Polytechnique de Montréal Chapitre 6-33 Algorithme FIFO (2) Exemple 2 avec 3 cadres Nombre d'accès: 2 Fautes de page: 15 (75%) Ecole Polytechnique de Montréal Chapitre

18 Algorithme FIFO (3) Anomalie de Belady Exemple 3 avec 3 cadres Nombre d'accès: 2 Fautes de page: 15 (75%) Ecole Polytechnique de Montréal Chapitre 6-35 Algorithme FIFO (4) Anomalie de Belady Exemple 3 avec 4 cadres Nombre d'accès: 2 Fautes de page: 16 (8%) Ecole Polytechnique de Montréal Chapitre

19 Algorithme LRU Critère : page résidente la moins récemment utilisée Basé sur le principe de localité : une page a tendence à être réutilisée dans un futur proche. Difficile à implémenter sans support matériel Ecole Polytechnique de Montréal Chapitre 6-37 Algorithme LRU (2) Comment l implémenter? Mémoriser pour chaque page en mémoire la date de la dernière référence. Vieillissement : - Un registre de n bits est associé à chaque page, - Le bit le plus significatif est mis à 1 à chaque référence - Régulièrement, on décale vers la droite les bits de ce registre, - On choisit la page dont la valeur est la plus petite Utilisation d une pile : - Ajouter ou déplacer, en sommet de pile, le numéro de la page référencée, - On remplace la page située au fond de la pile. Ecole Polytechnique de Montréal Chapitre

20 Algorithme LRU (3) Exemple 1 avec 3 cadres Nombre d'accès: 2 Fautes de page: 12 (6%) Ecole Polytechnique de Montréal Chapitre 6-39 Algorithme de l horloge (seconde chance) Approximation de LRU Les pages en mémoire sont mémorisées dans une liste circulaire en forme d horloge. On a un indicateur sur la page la plus ancienne et un indicateur de référencement R sur chaque page.. Lorsqu un défaut de page se produit, les pages sont examinées, une par une, en commançant par celle pointée par l indicateur. La première page rencontrée ayant son bit de référence R à est remplacée. Le bit R de la page ajoutée est à 1. Le bit R des pages examinées est remis à. Une variante de cet algorithme, tient compte du bit de modification M. Ecole Polytechnique de Montréal Chapitre 6-4 2

21 Algorithme de l horloge (2) Ecole Polytechnique de Montréal Chapitre 6-41 Performance moyenne des algorithmes Optimal LRU Horloge FIFO Aléatoire Ecole Polytechnique de Montréal Chapitre

22 Comment répartir la mémoire entre les processus? Allouer un même nombre cadres (cases) à chaque processus. Par exemple, si la mémoire totale fait 1 cadres et qu il y a cinq processus, chaque processus recevra 2 cadres. Allouer les cases proportionnellement aux tailles des programmes ou en tenant compte des priorités. L architecture impose un nombre minimum. L allocation des cases peut se faire lors du chargement ou à la demande, au cours de l exécution. Espace de travail (working set) : W(t,Δ) est l'ensemble des pages qui ont fait l'objet d'au moins une référence entre le temps t-δ et t. On conserve en mémoire les pages référencées entre t et t- Δ. Cet espace de travail ne doit pas excéder une certaine limite. Ecole Polytechnique de Montréal Chapitre 6-43 Problème de l écroulement du système Le système passe plus de temps à traiter les défauts de page qu à exécuter des processus. Si le nombre de processus est trop grand et l espace propre à chacun est insuffisant, ils passeront leur temps à gérer des fautes de pages. On peut limiter le risque d écroulement en surveillant le nombre de défauts de page provoqués par un processus. Si un processus provoque trop de défauts de pages (au-dessus d une limite supérieure) on lui allouera plus de pages; au-dessous d une limite inférieure, on lui en retirera. S il n y a plus de cases disponibles et trop de défauts de pages, on devrait suspendre un des processus. Ecole Polytechnique de Montréal Chapitre

23 Problème de l écroulement du système (2) Ecole Polytechnique de Montréal Chapitre 6-45 Retour sur instruction Sur la plupart des processeurs, les instructions se codent sur plusieurs octets. Si un défaut de page se produit au milieu d une instruction, le processeur doit revenir au début de l instruction initiale, avant de lancer le chargement de la page manquante en mémoire. Ce retour sur instruction n est possible qu avec l aide du matériel. Ecole Polytechnique de Montréal Chapitre

24 Segmentation/pagination L espace d adressage d un processus est composé d un ensemble de segments. Ces segments sont de tailles différentes (fragmentation externe). La segmentation facilite l édition de liens, le partage entre processus de segments de données ou de codes. La segmentation peut être combinée avec la pagination : Chaque segment est composé d un ensemble de pages. Les adresses virtuelles sont dans ce cas des triplets : (numéro du segment, numéro de page, déplacement dans la page) Ecole Polytechnique de Montréal Chapitre 6-47 Linux Espace d adressage d un processus Chaque processus sur une machine de 32-bit a 3 GB d espace d adressage virtuel accessible en mode utilisateur, le GB restant est réservé aux tables des pages, la pile d exécution, données et code du système d exploitation, accessible en mode noyau. different for each process identical for each process xc %esp x4 brk process-specific data structures (e.g., page tables, task and mm structs, kernel stack) physical memory kernel code and data user stack Memory mapped region for shared libraries runtime heap (via malloc) kernel virtual memory process virtual memory uninitialized data (.bss) initialized data (.data) x848 program text (.text) forbidden Ecole Polytechnique de Montréal Chapitre

25 Linux (2) Espace d adressage d un processus task_struct mm mm_struct pgd mmap vm_area_struct vm_end vm_start vm_prot vm_flags vm_next process virtual memory shared libraries x4 L espace d adressage est composé d un ensemble de régions. vm_end vm_start vm_prot vm_flags vm_next data x84a2 Chaque région est un ensemble de pages contiguës avec les mêmes propriétés (text, data, pile, librairies partagées, fichier mmap,...). vm_end vm_start vm_prot vm_flags vm_next text x848 Ecole Polytechnique de Montréal Chapitre 6-49 Linux (3) Espace d adressage d un processus task_struct mm mm_struct pgd mmap vm_area_struct vm_end vm_start vm_prot vm_flags vm_next process virtual memory shared libraries x4 vm_start et vm_end : pointent vers le début et la fin de la région. vm_end vm_start vm_prot vm_flags vm_next data x84a2 vm_prot : indique les permissions d accès read/write aux pages de la région. Vm_flags : indique notamment si la région est privée ou non. vm_end vm_start vm_prot vm_flags vm_next Ecole Polytechnique de Montréal Chapitre 6-5 text x848 25

26 Linux (4) Espace d adressage d un processus vm_area_struct vm_end vm_start r/o vm_next vm_end vm_start r/w vm_next vm_end vm_start r/o process virtual memory shared libraries data text Comment vérifier si une adresse virtuelle est légale? Comment vérifier si l accès est légal? Comment vérifier si la page de l adresse virtuelle est en mémoire? Comment récupérer l adresse physique? segmentation fault: accessing a non-existing page normal page fault protection exception: e.g., violating permissions by writing to a read-only page vm_next Ecole Polytechnique de Montréal Chapitre 6-51 Linux (5) Espace d adressage d un processus Adresse virtuelle Table des pages à 4 niveaux task_struct mm mm_struct pgd mmap Ecole Polytechnique de Montréal Chapitre

27 Linux (6) Espace d adressage d un processus Translation d adresses CPU chip CPU Virtual Address (VA) 41 Address translation MMU Physical address (PA) 4 Main memory : 1: 2: 3: 4: 5: 6: 7:... M-1: Data word Ecole Polytechnique de Montréal Chapitre 6-53 Linux (7) Mémoire physique Linux supporte des architectures NUMA (Non Uniform Memory Access) qui utilisent des unités mémoires hétérogènes avec des caractéristiques différentes. Linux offre la possibilité de gérer ces unités mémoires en associant à chaque unité un nœud (de type struct_pglist_data). Ces nœuds sont chainés entre-eux. Dans une architecture UMA, un seul nœud est présent. Pour certaines architectures (ex. x86), il n est pas possible de traiter toute la mémoire physique (unité mémoire) de la même manière. Chaque nœud (unité mémoire) est composé de trois zones mémoires : - ZONE_DMA (16 Mo sur x86) réservée pour l accès DMA des périphériques (qui ne peuvent accéder qu aux 16 premiers Mo de la mémoire physique), - ZONE_NORMAL et - Zone_HIGHMEM utilisée si la taille des deux zones précédentes est supérieure à 896 Mo sur x86 (limite du matériel). ZONE_DMA et HIGHMEM peuvent être vides. Ecole Polytechnique de Montréal Chapitre

28 Linux (8) Mémoire physique Le noyau conserve une image de la mémoire physique (ZONE_NORMAL). La mémoire physique est constituée de trois parties. Les deux premières (réservées au noyau et à l image de la mémoire) sont fixées en mémoire (jamais swappées). Le reste est divisé en cadres. Allocation de la mémoire physique par subdivision Ecole Polytechnique de Montréal Chapitre 6-55 Linux (9) Mémoire physique Comme dans UNIX, un démon se charge de maintenir au moins un certain nombre de pages libres en mémoire. Il vérifie périodiquement (1 seconde) ou après une forte allocation d espace, l espace disponible. Si l espace disponible devient insuffisant, il libère certaines cases (pages) en prenant soin de recopier sur disque celles qui ont été modifiées (l algorithme de l horloge). Ecole Polytechnique de Montréal Chapitre

29 Linux (1) Appels système Les appels systèmes splice et sendfile permettent d'éviter les copies: transférer les pages d'un espace d'adressage virtuel à l'autre par le biais des tables de pages. Ecole Polytechnique de Montréal Chapitre 6-57 UNIX Politique d allocation et de remplacement Les premiers systèmes UNIX utilisaient la technique de va-et-vient. Avant l exécution, un processus est entièrement chargé en mémoire. S il n y a pas assez de place, un ou plusieurs processus sont transférés sur le disque. Le choix du processus à transférer sur le disque dépend essentiellement de trois facteurs : l état bloqué ou prêt, la priorité et le temps de résidence en mémoire. Toutes les quelques secondes, le permuteur (processus de pid ) examine l état des processus transférés sur le disque pour voir si certains d entre eux sont devenus prêts. Si c est le cas, il choisit celui qui est resté trop longtemps sur le disque pour le transférer en mémoire centrale. Cette procédure est répétée jusqu à ce que: il n y ait plus de processus prêts sur le disque ou tous les processus sont nouvellement chargés et il n y a pas assez d espace mémoire. Ecole Polytechnique de Montréal Chapitre

30 UNIX (2) Politique d allocation et de remplacement Le permuteur (swapper ou chargeur) mémorise, dans deux listes chaînées, les espaces libres en mémoire et sur le disque. La stratégie d allocation utilisée est le premier ajustement (première zone libre suffisamment grande). La pagination à la demande a été introduite dans les systèmes UNIX par Berkeley (depuis BSD 4.3 et System V). Seules les pages nécessaires à l exécution sont ramenées en mémoire centrale. Le voleur de pages (processus qui exécute l algorithme de remplacement de pages) est réveillé périodiquement (1 seconde) pour voir si le nombre de cases libres en mémoire est au moins égal à un seuil min. Si le nombre de cases libres en mémoire est inférieur à min, le voleur de pages transfère des pages sur le disque jusqu à ce que max cases soient disponibles. Sinon, il se remet au sommeil. Ecole Polytechnique de Montréal Chapitre 6-59 UNIX (3) Politique d allocation et de remplacement Pour le choix des pages à transférer, le voleur de page utilise une version améliorée de l algorithme de l horloge. Chaque case est dotée d un bit de référence R qui est mis à 1 à chaque référence. Il parcourt les pages en mémoire et teste leurs bits de référence. S il est à alors le voleur de page incrémente une variable «âge» associée à la page, sinon le bit de référence est mis à zéro. Lorsque l âge dépasse une valeur donnée, la page est placée dans l état disponible pour le déchargement. Ecole Polytechnique de Montréal Chapitre 6-6 3

31 UNIX (4) Espace d adressage Mémoires virtuelles et mémoire physique Ecole Polytechnique de Montréal Chapitre 6-61 Windows Espace d adressage Sous Windows, chaque processus a un espace d adressage virtuel (4 GB sur le x86 avec une adresse virtuelle de 32 bits. L espace d adressage virtuel est composé de pages contiguës. La taille d une page est de 4 Ko sur le Pentium (jusqu à 64Ko). Le noyau peut utiliser des pages de 4Mo. Zones blanches sont privées Ecole Polytechnique de Montréal Chapitre

32 Windows (2) Espace d adressage Lorsqu une zone de l espace d adressage virtuel est allouée, le gestionnaire de mémoire crée, pour elle, un VAD (Virtual Address Descriptor ) listant la plage d adresses virtuelles mappées, l objet section (qui permet de retrouver le fichier mappé), le décalage correspondant à la position du mappage et les autorisations. Lorsque le premier accès à une page a lieu, le répertoire des tables de pages est créé et son adresse est insérée dans l objet processus. Un espace d adressage se définit entièrement par la liste de ses VAD (un arbre équilibré). Espace d adressage fragmenté Le fichier lib.dll est mappé sur deux espaces d adressage en même temps Ecole Polytechnique de Montréal Chapitre 6-63 Windows (3) Table des pages (intel x86, AMD x64) Ecole Polytechnique de Montréal Chapitre

33 Windows (4) Allocation à la demande et espace de travail Lorsqu on lance un processus, aucune de ses pages n est en mémoire. Les pages sont chargées dynamiquement (défauts de page). Chaque processus a un espace de travail (pages du processus chargées en mémoire). Si un défaut de page se produit et l espace de travail du processus fauteur est inférieur à une certaine limite, la page est chargée en mémoire. Elle est donc ajoutée à l espace de travail du processus. Par contre, si un défaut de page se produit et l espace de travail du processus fauteur est supérieur à une certaine limite, une page parmi celles de son espace de travail est remplacée par la nouvelle page (algorithme local d allocation). Si le système constate qu un processus provoque beaucoup plus de défauts de page que les autres, il peut augmenter la taille limite de son espace de travail. Toutes les secondes, un processus léger démon vérifie s il y a suffisamment de pages libres. Si c est le cas, il retire certaines pages. Le choix des pages à retirer dépend de plusieurs paramètres : les états des processus en mémoire, les tailles de leurs espaces de travail, Ecole Polytechnique de Montréal Chapitre 6-65 Windows (5) Défaut de page léger ou dur La page référencée n est pas valide (erreur). Tentative d accès à une page en violation avec les permissions (erreur). Tentative de modifier une page partagée de type copy-on-write. La pile a besoin de s agrandir. La page référencée est valide mais n est pas mappée en mémoire (défaut de page classique) : - Défaut léger (copie du disque non requise) et - Défaut dur (copie du disque requise) Ecole Polytechnique de Montréal Chapitre

34 Windows (6) Carte mémoire (état de la mémoire) Ecole Polytechnique de Montréal Chapitre 6-67 Windows (7) Gestion de la mémoire physique Ecole Polytechnique de Montréal Chapitre

35 Windows (8) Appels système Appel système VirtualAlloc VirtualFree VirtualProtect VirtualQuery VirtualLock VirtualUnlock CreateFileMapping MapViewOfFile UnmapViewOfFile OpenFileMapping Description Réserver ou allouer une région Relâcher une région Changer la protection d'une région (rwx) Lire le statut d'une région Bloquer en mémoire une région Ne plus bloquer en mémoire une région Créer un objet pour un fichier à attacher Attacher un fichier à un segment mémoire Détacher un fichier d'un segment mémoire Ouvrir un objet créé pour un fichier à attacher Ecole Polytechnique de Montréal Chapitre 6-69 Exercice 1 Caractéristiques du système : Mémoire physique de 64 mots de 8 bits Taille d une page = 4 mots Table des pages à deux niveaux: Adresse virtuelle sur 6 bits : 2 bits (niv. 1), 2 bits (niv. 2), 2 bits (décalage) Une entrée dans la table des pages sur 8 bits: - 2 bits de contrôle : bit de présence, bit de référence (1,11) si bit de présence = et bit de référence =1, la page est dans la zone de ««swap» - 6 bits pour l adresse Deux processus P1 et P2 sont en mémoire. La table de premier niveau de P1 commence à 32 La table de premier niveau de P2 commence à 52. Supposez que l état courant de la mémoire est : Ecole Polytechnique de Montréal Chapitre

36 Ecole Polytechnique de Montréal Chapitre 6-71 Ecole Polytechnique de Montréal Chapitre

37 Ecole Polytechnique de Montréal Chapitre

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

Plus en détail

LA mémoire virtuelle est une technique qui permet d exécuter des programmes

LA mémoire virtuelle est une technique qui permet d exécuter des programmes Chapitre Mémoire virtuelle LA mémoire virtuelle est une technique qui permet d eécuter des programmes dont la taille ecède la taille de la mémoire réelle. L espace d adressage d un processus, généré par

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

Gestion des processus / Gestion de la mémoire

Gestion des processus / Gestion de la mémoire 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 /

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Marc Pouzet ENS Cours L3 Systèmes et Réseaux 25 mai 2015 Aspects matériels de la mémoire Types de mémoires 1 Type Accès Vitesse Persistance Domaine d utilisation Registre lecture-écriture

Plus en détail

La mémoire. Polytech Paris-Sud Cycle ingénieur de la filière étudiant. Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.

La mémoire. Polytech Paris-Sud Cycle ingénieur de la filière étudiant. Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri. La mémoire Polytech Paris-Sud Cycle ingénieur de la filière étudiant Louis Mandel Université Paris-Sud 11 Louis.Mandel@lri.fr année 2012/2013 Aspects matériels de la mémoire Types de mémoires Type Accès

Plus en détail

Acc. 5 6 7 0 6 1 6 2 0 1 5 1 0 7 0 6 7 5 6 0 C1 5 C2 C3 Déf.

Acc. 5 6 7 0 6 1 6 2 0 1 5 1 0 7 0 6 7 5 6 0 C1 5 C2 C3 Déf. E 7 La mémoire sous Linux Exercice 1 : MMU a) La MMU est capable de traduire les adresses physiques en adresses logiques paginées. Aussi, grâce à un bit de validation, il devient possible de ne stocker

Plus en détail

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1 Gestion de la mémoire centrale Allocation de la mémoire physique Joëlle Delacroix NSY13 1 Processeur Adressage de la mémoire centrale Données Adresse Commandes Cellule mémoire mémorisant 1 bit lec B u

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Mémoire virtuelle. 1. Notions de base. 2. Historique. 3. Support Matériel. 4. Etude de cas : 4.3BSD

Mémoire virtuelle. 1. Notions de base. 2. Historique. 3. Support Matériel. 4. Etude de cas : 4.3BSD Mémoire virtuelle 1. Notions de base 2. Historique 3. Support Matériel 4. Etude de cas : 4.3BSD Pagination, Gestion du swap 5. Les nouveaux système de pagination : 4.4BSD - SVR4 Notions de base Le swapping

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Plus encore que la gestion du processeur, la gestion de la ressource mémoire est un point fondamental pour les performances globales de l'ordinateur. Le système d'exploitation doit

Plus en détail

Plan INF 227. Gestion Mémoire. B. Dupouy. Gestion mémoire. Gestion mémoire

Plan INF 227. Gestion Mémoire. B. Dupouy. Gestion mémoire. Gestion mémoire INF 227 Gestion Mémoire B. Dupouy Plan Allocation contigüe!partitions de taille fixe!partitions de taille variable -!gestions des trous? (compactage, ramasse miettes) -!stratégies de placement (Worst fit,

Plus en détail

07 - Mémoire. Morgan Barbier morgan.barbier@unicaen.fr L2 S4 2012/2013

07 - Mémoire. Morgan Barbier morgan.barbier@unicaen.fr L2 S4 2012/2013 07 - Mémoire Morgan Barbier morganbarbier@unicaenfr L2 S4 2012/2013 1 Introduction Problèmatique Multitâches : L OS moderne permet d exécuter plusieurs tâches en même temps Chacune de ses tâches possèdent

Plus en détail

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

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 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 Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

LA GESTION DE LA MEMOIRE

LA GESTION DE LA MEMOIRE CHAPITRE 5 : LA GESTION DE LA MEMOIRE Objectifs spécifiques Connaître le principe de gestion de mémoire en monoprogrammation Connaître le principe de gestion de mémoire en multiprogrammation Connaître

Plus en détail

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

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

Plus en détail

GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire

GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire GIF-1001 Ordinateurs: Structure et Applications Solutions : La gestion de la mémoire 1. Décrivez, pour l allocation contiguë de mémoire avec partitions à taille variables pour placer des processus en mémoire,

Plus en détail

partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus Plan

partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus Plan 2 ème LST Info&Miage partie en parallèle : Programmation système et réseau du point de vue «Multiprocessus» Chapitre : Introduction à la Concurrence entre processus & Exclusion Mutuelle Chapitre 2 : Coopération

Plus en détail

Mémoire principale. Von Neumann vs. Harvard. Terminologie. Architecture et technologie des ordinateurs II. G. Tempesti Semaine VIII 1 CPU.

Mémoire principale. Von Neumann vs. Harvard. Terminologie. Architecture et technologie des ordinateurs II. G. Tempesti Semaine VIII 1 CPU. principale Structure Fonctionnement Accès MÉMOIRE PRINCIPALE BUS SYSTÈME DD Instructions MMU TLB Unité de de Unité de de Traitement Données Décodeur PC ALU Unité Flottante Registres Von Neumann vs. Harvard

Plus en détail

Examen Corrigé NFP137 : Systèmes et applications concurrentes

Examen Corrigé NFP137 : Systèmes et applications concurrentes CONSERVATOIRE NATIONAL DES ARTS et METIERS Centre de Paris Examen Corrigé NFP137 : Systèmes et applications concurrentes 3 juillet 2007 Exercice 1 : Gestion des ressources : L algorithme du banquier. Lorsqu

Plus en détail

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées 1 Présentation générale TD-TP : Mémoire virtuelle 21 mai 2013 Le système

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE Chapitre 7 GESTION DE LA MEMOIRE Pour pouvoir utiliser un ordinateur en multiprogrammation, le SE charge plusieurs processus en mémoire centrale (MC). La façon la plus simple consiste à affecter à chaque

Plus en détail

M3 - Kernel Programming

M3 - Kernel Programming M3 - Kernel Programming Nicolas CORMIER Epitech 2008 Dans le cadre de la réalisation d'un début de micro kernel en mode protégé sur processeur x86, ce document décrit l'architecture du noyau ainsi que

Plus en détail

L3 Informatique - Systèmes d exploitation

L3 Informatique - Systèmes d exploitation L3 Informatique - Systèmes d exploitation Gestion de la mémoire D. Béchet Denis.Bechet@univ-nantes.fr Université de Nantes Faculté des Sciences et Techniques 2, rue de la Houssinière BP 92208 44322 Nantes

Plus en détail

Big-GC : Un ramasse-miette concurrent pour grands volumes de données

Big-GC : Un ramasse-miette concurrent pour grands volumes de données Projet de Fin d Études Big-GC : Un ramasse-miette concurrent pour grands volumes de données Réalisé par Abdel CHITOU & Dramane SANGARE Encadré par Gaël Thomas & Elisabeth Brunet Problématique Big Data:

Plus en détail

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5

Gestion de la Mémoire 1 ère partie: Point de vue processeur. Chapitre 5 Gestion de la Mémoire 1 ère partie: Point de vue processeur Chapitre 5 Présentation La mémoire peut être adressée de 3 points de vue Point de vue processeur Comment le processeur adresse la mémoire physique

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Stockage : capacité, performances

Stockage : capacité, performances Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/

Plus en détail

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire Informatique Embarquée M2 / 24 24 Interaction CPU / mémoire Bus d'adresses CPU Bus de Données Bus de Contrôle 24 Architecture Von Neumann CPU contient: Instructions et Données CPU charge les instructions

Plus en détail

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

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Comment améliorer la capacité et la rapidité d'accès à la mémoire centrale?

Comment améliorer la capacité et la rapidité d'accès à la mémoire centrale? Hiérarchie mémoire Comment améliorer la capacité et la rapidité d'accès à la mémoire centrale? 6. 1 Tous les programmes que l on exécute et toutes les données auxquelles on accède doivent être «chargés»

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Michel Simatic module CSC4508/M2 Avril 2015 Gestion de la mémoire Plan du document 1 Point de vue système............................................................ 3 2 Point de

Plus en détail

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation

Implémentation des systèmes de fichiers. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation 1/25 Implémentation des systèmes de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/25 Table des matières 1 2 Méthodes d allocation 3 Implémentation des répertoires 4 Implémentation du

Plus en détail

Design, améliorations, et implémentations

Design, améliorations, et implémentations CPU et Mémoire Design, améliorations, et implémentations Techniques et caractéristiques modernes qui permettent de donner aux ordinateurs actuels toute leur puissance 1 Architectures CPU Design de l architecture

Plus en détail

Principes des systèmes d'exploitation

Principes des systèmes d'exploitation Principes des systèmes d'exploitation Fonctions : Machine virtuelle : ajoute des fonctionnalités (par exemple système de fichier vs accès pistes - secteurs) Gestion des ressources : processeur, mémoire,

Plus en détail

Chapitre2 : Les composants d un ordinateur

Chapitre2 : Les composants d un ordinateur Chapitre2 : Les composants d un ordinateur A. L unité centrale L unité centrale, c est l organe principal de l ordinateur, elle renferme plusieurs composants destinés au traitement et à la circulation

Plus en détail

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement Objectifs : À la fin de cette unité, vous connaîtrez le fonctionnement de l'unité centrale de traitement d'un ordinateur. Pour y arriver, vous devrez atteindre les objectifs suivants : - décrire les différentes

Plus en détail

Système d Exploitation et Outils de programmation

Système d Exploitation et Outils de programmation Système d Exploitation et Outils de programmation Introduction Le système d exploitation (SE) est un ensemble de programmes qui Réalise l interface entre le matériel de l ordinateur et les utilisateurs

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Fonctionnement interne Jeudi 27 mai et mardi 1er Juin Thomas Petazzoni Lolut - http://lolut.utbm.info Linux Magazine Série complète sur la construction d'un OS simple : SOS. A partir

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Comment un ordinateur fonctionne Processeur

Comment un ordinateur fonctionne Processeur Comment un ordinateur fonctionne Processeur Les processeurs Cerveau de l ordinateur Règle flux d information par intermédiaire du bus Détermine puissance de l ordi (486, Pentium, ) Vitesse définit par

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 - NANCY/METZ INTERVENANT : E. DESVIGNE CORRECTION DE LA SESSION DE RATTRAPAGE 13/09/2011 Année 2010

Plus en détail

Questions à choix multiples Page 1 de 11

Questions à choix multiples Page 1 de 11 INF3172 Principes des systèmes d'exploitation Examen intra hiver 2015 Question #1 Quel est l'objectif d'un système d'exploitation? a) Protéger les composants de l'ordinateur b) Fournir une abstraction

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p.1/71 Introduction La mémoire est une ressource importante qui doit être gérée

Plus en détail

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Plan du cours - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Systèmes d exploitation 1ère année p. 1 FAT FAT = File Allocation Table

Plus en détail

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

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Structure du bus système Gestion du bus système Fonctionnement des périphériques

Structure du bus système Gestion du bus système Fonctionnement des périphériques Périphériques et bus système Structure du bus système Gestion du bus système Fonctionnement des s MÉMOIRE PRINCIPALE BUS SYSTÈME Cache d'instructions MMU TLB Unité de de contrôle Unité de de traitement

Plus en détail

Systèmes d'exploitation Gestion des processus

Systèmes d'exploitation Gestion des processus Systèmes d'exploitation Gestion des processus Cours SYE Prof. Daniel Rossier Version 2.3 (2009-2010) 1 Plan Processus Changement de contexte Threads IPC (Inter-Process Communication) Algorithmes d'ordonnancement

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus.

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus. GESTION DE LA MEMOIRE SOUS UNIX La mémoire est une ressource critique car elle conditionne les temps de traitements. Différentes options SAS sont disponibles pour utiliser au mieux la mémoire de la machine.

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Systemes d'exploitation des ordinateurs

Systemes d'exploitation des ordinateurs ! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés

Plus en détail

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique.

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Ameziane NAIT ABDELAZIZ Département informatique, filière PRCD Maître de stage : Bruno LATHUILIERE Tuteur : Brice GOGLIN

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE

Plus en détail

Guide d utilisation d ASUS Disk Unlocker

Guide d utilisation d ASUS Disk Unlocker Guide d utilisation d ASUS Disk Disk, utilitaire exclusif d ASUS, intègre une interface simple d utilisation et permet à la totalité de l espace de stockage d être identifié et utilisé, passant outre la

Plus en détail

Bases de données. Cours 2 : Stockage

Bases de données. Cours 2 : Stockage Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels 2 Stockage 2.1 Introduction 2.2 Aspects bas-niveau 2.3 Stockage pour les SGBD

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

Les systèmes de Fichier

Les systèmes de Fichier Les systèmes de Fichier 1 Les disques durs, aussi petits soient-ils, contiennent des millions de bits, il faut donc organiser les données afin de pouvoir localiser les informations, c'est le but du système

Plus en détail

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 2 : Stockage. Quels types de mémoire pour une BD? Où stocker les données? Polytech Paris-Sud. Apprentis 4 ème année Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage 2.1 Introduction 2.2 Aspects bas-niveau kn@lri.fr http://www.lri.fr/~kn 2/20 Hierarchie mémoire : Où stocker les données? Type

Plus en détail

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 56 CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 6.1 INTRODUCTION : Afin de fournir un accès efficace et pratique au disque, le SE impose un système de gestion de fichiers (SGF) pour permettre de stocker,

Plus en détail

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers.

Plan du chapitre. Systèmes de gestion des fichiers. Définitions. Pourquoi des fichiers. Organisation logique : les fichiers. Plan du chapitre Systèmes de gestion des fichiers Introduction Organisation logique Fichiers Désignation et catalogues Mise en œuvre des SGF Gestion de l espace libre Descripteurs de fichiers Amélioration

Plus en détail

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

LA mémoire principale est le lieu où se trouvent les programmes et les Chapitre 9 Gestion de la mémoire LA mémoire principale est le lieu où se trouvent les programmes et les données quand le processeur les exécute. On l oppose au concept de mémoire secondaire, représentée

Plus en détail

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

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

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S

Plus en détail

Stockage et mémoire, Du principe vers la réalité

Stockage et mémoire, Du principe vers la réalité Stockage et mémoire, Du principe vers la réalité Responsable :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Intervenants :Tamy Boubekeur, Guillaume Duc, Gérard Mouret, Thomas Robert Institut

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Gestion de la mémoire Mémoire physique Généralités Autrefois, la mémoire principale était une ressource coûteuse. Elle devait donc être utilisée de manière optimale et diverses stratégies étaient employées.

Plus en détail

Gestion du processeur central

Gestion du processeur central Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement

Plus en détail

La mémoire virtuelle. Chapitre 9. 9.0.5 Les overlays

La mémoire virtuelle. Chapitre 9. 9.0.5 Les overlays Chapitre 9 La mémoire virtuelle Les méthodes de gestion mémoire que nous venons de voir ont toutes un défaut majeur qui est de garder l ensemble du processus en mémoire, ce qui donne : un coût en swap

Plus en détail

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

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur 1 sur 9 Processus Les processus, à quoi ça sert? Une définition d'un processus La vie intime des processus Quelques caractéristiques des processus Le contexte et la commutation de contexte Les processus

Plus en détail

Systèmes d'exploitation Chapitre II. Gestion des processus

Systèmes d'exploitation Chapitre II. Gestion des processus Systèmes d'exploitation Chapitre II Gestion des processus 1 Processus Un programme qui s exécute Les ordinateurs autorisent maintenant plusieurs processus simultanément (pseudo parallélisme) A B A B C

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

Gestion de la mémoire

Gestion de la mémoire Plan de la présentation Gestion de la Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia! Principes de réalisation de la " Définitions et motivations

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

2. Structure d un système d exploitation

2. Structure d un système d exploitation Systèmes d exploitation : 2. Structure d un système d exploitation 0 Structure d un système d exploitation () Structure () APPLICATIONS SYSTEME D EXPLOITATION MATERIEL applications (jeux, outils bureautiques,

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

WavImport. Manuel Utilisateur. Importation des fichiers de données des bouées DataWell Version 1.02

WavImport. Manuel Utilisateur. Importation des fichiers de données des bouées DataWell Version 1.02 Manuel Utilisateur WavImport Importation des fichiers de données des bouées DataWell Version 1.02 Auteur : Jean-Baptiste DEFOSSEZ Date d impression : 25 octobre 2000 Révision : REV2 Référence document

Plus en détail

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Mémoires jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 120

Plus en détail

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Rôle d'un système : virtualisation Virtualisation du processeur Virtualisation de la mémoire Virtualisation du disque Virtualisation interface utilisateur Virtualisation du réseau

Plus en détail

PHOXLOG. Option LOGGER & RS 422 pour BamoPHOX. installation EXPLOitatiOn MES. Option LOGGER & RS 422 106-10/1 30-09-2014 106 M0 10 J

PHOXLOG. Option LOGGER & RS 422 pour BamoPHOX. installation EXPLOitatiOn MES. Option LOGGER & RS 422 106-10/1 30-09-2014 106 M0 10 J PHOXLOG Option LOGGER & RS 422 pour BamoPHOX installation EXPLOitatiOn Option LOGGER & RS 422 30-09-2014 106 M0 10 J MES 106-10/1 Option LOGGER & RS 422 pour BamoPHOX SOMMaiRE 1. PreMiere Mise en service

Plus en détail

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus

Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches

Plus en détail

SCHEDULING. 1.1 Simultanéité, ressources On appelle simultanéité l'activation de plusieurs processus au même moment.

SCHEDULING. 1.1 Simultanéité, ressources On appelle simultanéité l'activation de plusieurs processus au même moment. Chapitre SCHEDULING. ASPECTS GENERAUX DES PROCESSUS Un processus est un programme qui s'exécute, ainsi que ses données, sa pile, son compteur ordinal, son pointeur de pile et les autres contenus de registres

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Définition: On appelle mémoire tout composant électronique capable de stocker temporairement des données. Catégories: On distingue plusieurs catégories de mémoires

Plus en détail

Systèmes & Réseaux. Georges Arhodakis Université Paris 8

Systèmes & Réseaux. Georges Arhodakis Université Paris 8 Systèmes & Réseaux Georges Arhodakis Université Paris 8 Sommaire Introduction Historique Service du noyau Appel Système Trappes & Interruptions Horloge & Gestion du Temps Ordonnancement Contrôle & Gestion

Plus en détail

Rappels sur l Architecture de base d un ordinateur

Rappels sur l Architecture de base d un ordinateur Chapitre 1 Rappels sur l Architecture de base d un ordinateur I. Introduction Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

Cours Systèmes d exploitation 1

Cours Systèmes d exploitation 1 Cours Systèmes d exploitation 1 Achraf Othman Support du cours : www.achrafothman.net 1 Plan du cours Chapitre 1 : Gestion des processus Chapitre 2 : Ordonnancement des processus Chapitre 3 : La communication

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

INSTALLATION. 3 Installation. Configuration requise

INSTALLATION. 3 Installation. Configuration requise INSTALLATION Le RUNTIME d Access 2007 et 2010 sont disponibles chez Microsoft. Ce fichier est téléchargeable gratuitement (c est nouveau pour Access 2007 ). Bien que 3 Installation un peu grand (51 MO,

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

PARAGON VIRTUALISATION MANAGER

PARAGON VIRTUALISATION MANAGER PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail