Informatique Générale

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

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

EN Télécom & Réseau S Utiliser VMWARE

Installation et prise en main d UBUNTU

Retrouver de vieux programmes et jouer sur VirtualBox

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

CH.3 SYSTÈMES D'EXPLOITATION

Les avantages de la virtualisation sont multiples. On peut citer:

IV- Comment fonctionne un ordinateur?

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

INSTALL ATION D UNE D I S T RIBUTION

Partie 7 : Gestion de la mémoire

Premiers pas avec VMware Fusion. VMware Fusion pour Mac OS X

Introduction à l informatique en BCPST

Concept de machine virtuelle

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

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Virtual Box Mettez un PC dans votre... PC

EN Télécom & Réseau S Utiliser VMWARE

Windows 7, Configuration

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

BROCHURE TARIFAIRE Tarifs en vigueur à compter du 01 Septembre 2014

Installation de Windows Vista

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

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

Comment installer la configuration des salles sur son ordinateur personnel?

Mettre Linux sur une clé USB bootable et virtualisable

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Prise en main d une Cyberclasse

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Qu est ce qu un un serveur?

FreeNAS Shere. Par THOREZ Nicolas

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Virtualisation de Windows dans Ubuntu Linux

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

Module : Virtualisation à l aide du rôle Hyper-V

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

Installation et Réinstallation de Windows XP

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Leçon 1 : Les principaux composants d un ordinateur

Sébastien Geiger IPHC Strasbourg

NOUVEAU! MultiSystem vous présente la première clé USB MultiBoot du marché! Le LiveUSB MultiBoot par excellence.

Version Wraptor Laboratories. Installation de SpamWars 4.0 Édition Entreprise

Tester Windows 8 sans l'installer avec Virtualbox

Retrouver un mot de passe perdu de Windows

Démontage d'un ordinateur

PRESENSTATION VMWARE ESXi NOTION DE MACHINE VIRTUELLE

PLAN. Connexion Mac vers PC. mercredi 15 juillet 2009

Manuel de System Monitor

Généralités sur les systèmes d Exploitation

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

ultisites S.A. module «services»

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Éléments d'architecture des ordinateurs

Windows 7 Système d exploitation. INF Outils bureautiques, logiciels et Internet

Première édition en format électronique. Parallels Desktop 7 pour Mac OS X.

Généralités sur les systèmes d Exploitation

1. Présentation du TP

Exigences système Edition & Imprimeries de labeur

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

But de cette présentation

Parallels Desktop 5 Switch to Mac - Lisez-moi

VMWare Infrastructure 3

A Libre Ouvert. Médiathèque Jacques Ellul. le

Virtualisation sous Linux L'age de raison. Daniel Veillard

Systèmes d exploitation

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

G. Méthodes de déploiement alternatives

Administration de Parc Informatique TP07 : Installation de Linux Debian

Présentation d HyperV

Virtual PC Virtual PC 2007 Page I

Systèmes informatiques

Configuration de l'ordinateur Manuel de l'utilisateur

Activité : TP Durée : 6H00. Un PC d assemblage de marque NEC Un casque avec micro Une clé USB. Un CD de Windows XP professionnel

Windows 7 - Installation du client

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Guide rapide d'installation SUSE Linux Enterprise Server 11 SP1

VMWARE VSPHERE ESXI INSTALLATION

L'accès aux ressources informatiques de l'ufr des Sciences

Présentation Windows 7 &

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

Ophcrack - Windows XP/Vista

Itium XP. Guide Utilisateur

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Tropimed Guide d'installation

et de suivi de la corpulence des enfants

TP4 : Installer configurer un contrôleur de domaine

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

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Cours Informatique 1. Monsieur SADOUNI Salheddine

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

en version SAN ou NAS

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

2X ThinClientServer Guide d utilisation

Transcription:

Université de Nice Sophia Antipolis Licence 1 Sciences & Technologies Informatique Générale Systèmes d'exploitation (d'après Fabrice Huet, Wikipedia... et bien d'autres) Jacques Farré Jacques.Farre@unice.fr http://deptinfo.unice.fr/~jf/infogene Jacques Farré 2012 Informatique générale systèmes d'exploitation 1/44

Qu'est-ce qu'un système d'exploitation? Il n existe pas une unique définition pour un Système d Exploitation (Operating System - OS) Pourtant plein sont connus : Windows, Linux, Mac OS, Solaris, FreeBSD, Android. On peut dégager des éléments C est un programme Il fournit des services aux autres programmes, leur permet de s'exécuter et de communiquer entre eux Il masque la diversité matérielle Il gère l accès aux ressources matérielles L OS est un programme, donc écrit dans un langage de programmation Premiers OS écrits en assembleur, maintenant en C (et en assembleur quand nécessaire) Exemple Linux 2.6.27 : 6 399 191 lignes de code, 96.39% en ANSI C, 3.32% en assembleur Jacques Farré 2012 Informatique générale systèmes d'exploitation 2/44

L'OS est un programme privilégié L OS est différent des autres programmes C est le premier à s exécuter Il bénéficie d un accès privilégié au processeur L OS peut exécuter des instructions interdites aux autres programmes Notion de niveau de privilège (ring en x86) Niveau 0 : OS, tous les droits Niveau 3 : programme classique L OS, quand il existe, est vital : sans lui Aucun programme ne peut s exécuter Aucun programme ne peut accéder aux ressources S'il a un problème, la machine devient instable Blue Screen of Death en Windows, Kernel Panic en Linux Pas d autre solution que de redémarrer Jacques Farré 2012 Informatique générale systèmes d'exploitation 3/44

Utilisation des principaux OS (2012) Jacques Farré 2012 Informatique générale systèmes d'exploitation 4/44

OS et distributions On confond souvent l OS et une distribution Distribution : ensemble formé par un OS et des logiciels Exemple de distribution : Windows Vista, Windows 7, Windows 8... Linux Fedora, Linux Ubuntu L OS est le programme qui a l accès privilégié La calculatrice, le navigateur web ne font en théorie pas partie de l OS distributions Linux (source http://blog.tuxforge.com) Jacques Farré 2012 Informatique générale systèmes d'exploitation 5/44

OS et diversité des matériels Un OS doit s exécuter sur un maximum de matériel différent Impossible d avoir une version différente pour chaque processeur, mémoire, carte vidéo Comment faire? Limiter la diversité en ayant du matériel normalisé : norme USB 1.0, 2.0, Spécialiser l OS en lui ajoutant des extensions pour communiquer avec du matériel spécialisé Pour cela, on a des pilotes (drivers) extensions du système d exploitation qui lui permettent de gérer un périphérique Jacques Farré 2012 Informatique générale systèmes d'exploitation 6/44

Accès aux ressources Un programme passe par l OS pour accéder à une ressource, par exemple demande de mémoire demande de lecture/écriture sur un périphérique de stockage demande d affichage L OS vérifie que le programme a le droit (sécurité) que la ressource est libre (graveur par exemple) ou partageable (mémoire) que l accès à une ressource partagée est équitable Jacques Farré 2012 Informatique générale systèmes d'exploitation 7/44

Notion d utilisateur Besoin de distinguer entre les personnes utilisant une même machine Sécurité Confidentialité Un OS supportant la notion d utilisateur est dit multi-utilisateur Chaque utilisateur est identifié de manière unique Toute action/objet est associé à un utilisateur Utilisateurs simultanés ou se succédant dans le temps Jacques Farré 2012 Informatique générale systèmes d'exploitation 8/44

Droits sur les fichiers Principal intérêt de la notion d utilisateur : restreindre l accès aux fichiers Qui a le droit de lire, écrire un fichier Qui a le droit d exécuter un programme, de regarder un dossier Règle de base : tout ce qui n est pas autorisé est interdit Unix : Supporte 3 catégories : l utilisateur, le groupe (e.g. «Etudiants»), et le reste du monde, soit (user, group, all) Assez grossier Windows : Gestion fine à base d Access Control List (ACL) inspiré de Multics, ancêtre de Unix, abandonné par Linux possibilité de dire quel utilisateur a le droit de faire quoi précisément (e.g. «Alice peut lire/écrire le fichier toto») Très (trop) complexe Jacques Farré 2012 Informatique générale systèmes d'exploitation 9/44

Restrictions sur les ressources Possibilité de restreindre les ressources utilisables par un utilisateur ou par un groupe d'utilisateurs Quelques exemples : Limiter la quantité d espace disque par utilisateur (quota) Limiter le nombre de processus (programmes en cours d'exécution) Limiter le nombre de connexions réseau Limiter le nombre d'impressions ou de pages imprimées Jacques Farré 2012 Informatique générale systèmes d'exploitation 10/44

Super utilisateur Un utilisateur a plus de droits que les autres administrateur en windows root en Unix/Linux il a la charge de l administration de la machine Modification/installation de logiciels Maintenance il peut tout faire Lire les fichiers des autres utilisateurs sans autorisation Terminer les programmes des autres utilisateurs Utilisation prudente ne pas utiliser l ordinateur au quotidien en étant super utilisateur Jacques Farré 2012 Informatique générale systèmes d'exploitation 11/44

Résumons L OS est un programme critique qui sert aux autres programmes qui a le contrôle sur les ressources du système qui applique des règles de contrôle d accès Mais si c est un programme, il s exécute sur le CPU qui le lance? Comment d autres programmes peuvent-ils s exécuter? Jacques Farré 2012 Informatique générale systèmes d'exploitation 12/44

Basic Input Output System - BIOS Programme élémentaire (firmware) contenu dans la mémoire de la carte-mère (mémoire rémanente - ROM) Le BIOS a un rôle essentiel pour le fonctionnement de la carte mère : Il initialise tous les composants de la carte mère, du chipset et de certain périphériques Il identifie tous les périphériques internes et externes qui lui sont connectés Si cela n'a pas déjà été fait il initialise l'ordre de priorité des périphériques d'entrée (choix de l'ordre modifiable par l'utilisateur) Il démarre le système d'exploitation présent sur le premier périphérique disponible (via le chargeur d'amorçage boot loader) Jacques Farré 2012 Informatique générale systèmes d'exploitation 13/44

Unified Extensible Firmware Interface (UEFI) A tendance à remplacer le BIOS (Mac OS depuis Tiger, Windows 8, Linux...) Vise à dépasser certaines limites du BIOS boot à partir de disques plus grands autorise beaucoup plus de partitions que le BIOS gestion intégrée du réseau, du graphique et de plusieurs systèmes d'exploitation sur une même machine un démarrage plus sûr (en particulier contre les virus de boot) A mi-chemin entre un firmware et un système d'exploitation Jacques Farré 2012 Informatique générale systèmes d'exploitation 14/44

Processus Jacques Farré 2012 Informatique générale systèmes d'exploitation 15/44

Notion de Processus Processus : programme en cours d exécution Composé : de ses instructions de ses données (variables, liste des ressources utilisées ) de l état du processeur La notion de processus est un service offert par l OS les données composant un processus varient suivant les OS Un processus a toujours besoin de deux ressources au moins le CPU et la mémoire Jacques Farré 2012 Informatique générale systèmes d'exploitation 16/44

CPU partagé Quand il peut y avoir plusieurs processus en cours d exécution, on parle de multitâches Il n y a souvent qu un CPU par machine 1 mais tous les processus en ont besoin et l OS aussi en a besoin Considérons le CPU comme une ressource chaque processus devrait avoir un peu de cette ressource si chaque processus utilise un peu le CPU par petites tranches de temps, on aura l impression que tout le monde l a (effet dessin animé) Le passage d un processus à un autre est appelé changement de contexte : Opération relativement coûteuse 1 le problème est analogue si plusieurs processus doivent se partager un même coeur Jacques Farré 2012 Informatique générale systèmes d'exploitation 17/44

Multitâche collaboratif Comment partager le CPU? Solution simple : l OS donne le CPU a un processus le processus utilise le CPU quand il a fini, il rend le CPU à l OS ou à un autre processus Facile à mettre en œuvre mais Problème si un processus ne rend pas le CPU (volontairement ou bug) Jacques Farré 2012 Informatique générale systèmes d'exploitation 18/44

Multitâche préemptif Il faut pouvoir limiter le temps que passe un processus sur le CPU chaque processus a le CPU pour une durée x s'il termine avant la durée x, il rend le CPU à l OS sinon le processus est interrompu et l OS est remis sur le CPU Ok, mais remis comment? On utilise un mécanisme du CPU appelé interruption Jacques Farré 2012 Informatique générale systèmes d'exploitation 19/44

Notion d'interruption Une interruption est un signal indiquant un évenement nécessitant une action Interruption logicielle Signal envoyé par un logiciel Interruption matérielle Signal envoyé par du matériel (clavier, souris, carte réseau, horloge, ) Quand une interruption est levée, elle arrive au CPU Le CPU doit la traiter Il exécute un programme (fonction) appelé gestionnaire d'interruption (interrupt handler) C est l OS qui enregistre son propre code comme interrupt handler Jacques Farré 2012 Informatique générale systèmes d'exploitation 20/44

Multitâche préemptif - suite Une horloge génère des interruptions régulières 100-1000 Hz L OS place un handler pour les interruptions de l horloge toutes les 1-10 ms, le CPU exécute ce handler donc l OS est remis sur le CPU même si un processus ne l avait pas rendu L OS peut ensuite décider quel processus aura le CPU c est l'ordonnancement (scheduling) Jacques Farré 2012 Informatique générale systèmes d'exploitation 21/44

Ordonnancement et états de processus Question : le processus P vient d avoir le CPU, quel sera le suivant? Une partie de l OS est chargé de cette décision : l'ordonnanceur (scheduler) Dans un système, chaque processus est dans un certain état, variant plus ou moins suivant l OS ; par exemple : Running : actuellement sur le CPU combien de running dans un système? Ready : attend le CPU pour continuer Blocked : attend la fin d une entrée/sortie Jacques Farré 2012 Informatique générale systèmes d'exploitation 22/44

Transitions d états Running 1 Blocked 4 3 2 Ready 1. Début I/O 2. Fin I/O 3. Sélection par le scheduler 4. Selection d un autre processus par le scheduler Jacques Farré 2012 Informatique générale systèmes d'exploitation 23/44

Principes pour l'ordonnancement Objectif possibles pour déterminer quel processus aura le CPU : Équité : chaque processus doit avoir la même durée de CPU Équilibre : maximiser l utilisation du système (alterner les I/O et le CPU) Temps de réponse : répondre rapidement aux demandes L utilisateur clique sur une fenêtre, rien ne se passe tant que le processus qui a créé la fenêtre n a pas le CPU Proportionnalité : être proche des attentes de l utilisateur Les utilisateurs ont souvent une idée de la durée d une opération (click = rapide) Contraintes temps réel Forte: il faut garantir que dans une durée x, le processus P aura eu le CPU Faible : ce serait bien que P ait le CPU avant une durée x Jacques Farré 2012 Informatique générale systèmes d'exploitation 24/44

Scheduling Round-Robin À chaque processus est associé un quantum Durée maximale durant laquelle il peut s exécuter S'il atteint son quantum, il est préempté S'il est bloqué avant, un autre processus est mis à sa place Quelle est la bonne valeur pour le quantum? Quantum long : meilleur efficacité Quantum court : meilleur réactivité En général entre 20 et 50 ms Exemple simple : P1 a besoin du CPU pendant 25ms, P2 pendant 20ms, P3 pendant 30ms, quantum de 15ms, pas d I/O : P1 P1 P1 P2 P2 P2 P3 P3 P3 P1 P1 P2 P3 P3 P3 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 Jacques Farré 2012 Informatique générale systèmes d'exploitation 25/44

Notion de priorité Limites du Round Robin Il peut y avoir beaucoup de processus en attente Dans ce cas, certains n auront pas le CPU avant plusieurs secondes Tous les processus sont-ils égaux? Un processus qui joue de la musique a besoin du CPU régulièrement Pour un processus qui affiche l heure, ce n est pas grave s'il n a pas le CPU de suite Des processus devraient avoir le CPU plus souvent que d autres Donnons leur une plus grande priorité La priorité est souvent un nombre entier ; 20 à -20 pour Linux Les processus sont organisés en file par priorité Jacques Farré 2012 Informatique générale systèmes d'exploitation 26/44

Round-Robin avec priorité Le scheduler regarde la file de plus haute priorité Si processus en attente, il lui donne le CPU Sinon il passe à la file de priorité plus basse Avantage Les processus prioritaires ont le CPU Problème Risque de famine pour les processus de basse priorité Le problème vient d une priorité statique : tant qu un processus haute priorité veut le CPU, il l a Il faudrait faire varier la priorité Pour favoriser les processus basse priorité, mais pas trop Toujours avoir plus de temps CPU pour les processus de priorité élevée Jacques Farré 2012 Informatique générale systèmes d'exploitation 27/44

Ordonnancement avec priorité dynamique On donne à chaque processus Une priorité de base et une priorité dynamique Les processus sont organisés en file de même priorité dynamique Objectif Donner du CPU à ceux qui n en ont pas eu Ne pas en donner trop à ceux qui en consomment déjà beaucoup Donner du CPU à ceux qui en ont besoin Favoriser les processus bloqués pour quand ils se débloqueront Algorithme Analogue au Round Robin avec priorité statique, ajoute juste une étape de calcul de priorité Si un processus consomme tout son quantum de temps, alors sa priorité diminue Si un processus devient bloqué, alors sa priorité augmente Globalement très difficile à faire correctement Jacques Farré 2012 Informatique générale systèmes d'exploitation 28/44

Exemple : Windows XP 6 classes de priorité (realtime, high, above normal, normal, below normal, idle) 32 priorités possibles Certaines sont dites priorité dynamiques Le système peut les augmenter/diminuer Augmente si le processus appartient à une fenêtre qui vient de passer en premier plan Un processus qui atteint la fin de son quantum a sa priorité courante diminuée de 1, jusqu à atteindre sa priorité initiale Un processus qui n a pas eu le CPU depuis longtemps passe en priorité 15 pour 2 quanta 15 est le max des priorités dynamiques Retour à son ancienne priorité courante ensuite Quantum 30ms pour un XP Pro, 120ms pour un XP Serveur Jacques Farré 2012 Informatique générale systèmes d'exploitation 29/44

Gestion de la mémoire Jacques Farré 2012 Informatique générale systèmes d'exploitation 30/44

Gestion de la mémoire L OS gère la mémoire Il en utilise une partie pour son fonctionnement Il décide ce qu il donne à chaque processus La façon dont l OS gère la mémoire est liée au CPU Support par le CPU (MMU)? Les processeurs empiètent de plus en plus sur les fonctionnalités des OS La protection mémoire est assurée en partie par le CPU Jacques Farré 2012 Informatique générale systèmes d'exploitation 31/44

Pagination Intel introduit la pagination dans le 80386 La mémoire est découpé en blocs, appelés pages 4Ko (x86) ou 4Mo (x86 avec pagination étendue) L OS ne peut pas donner moins qu une page à un processus Même si il n a besoin que de quelques octets Le processus manipule des adresses linéaires (virtuelles) : on parle de mémoire virtuelle La MMU les transforme en adresses physiques Utilisation de tables de pagination, maintenues par l OS Jacques Farré 2012 Informatique générale systèmes d'exploitation 32/44

Pagination Adresse linéaire (memoire virtuelle) Adresse physique (mémoire réelle) Programme MMU Table de Pagination Jacques Farré 2012 Informatique générale systèmes d'exploitation 33/44

Allocation mémoire Un processus ayant besoin de mémoire le demande à l OS Qui peut accepter ou refuser Quand accepter? Idéalement, il faut accepter le plus souvent possible Permet d avoir plein de processus, et donc utiliser au mieux l ordinateur La mémoire est implicitement rendue lorsque le processus termine, ou qu'il en rend explicitement une partie Allocation L allocation consiste à marquer la mémoire comme appartenant au processus Pas de nettoyage (on ne met pas la zone à 0), sauf demande explicite Jacques Farré 2012 Informatique générale systèmes d'exploitation 34/44

Allocation différée Si l OS accepte une demande d un processus, doit-il lui donner la mémoire de suite? Pas forcément car un processus : n utilise pas toujours la mémoire qu il demande (il a trop demandé par rapport à ses besoins) n utilise pas immédiatement la mémoire qu il demande (principe de localité) L OS fait de l allocation différée Il répond oui au processus, mais ne fait rien Quand le processus utilise la mémoire, la MMU râle, l OS est appelé, et il fait l allocation Jacques Farré 2012 Informatique générale systèmes d'exploitation 35/44

Mémoire Virtuelle Grâce à la pagination, chaque processus voit toute la mémoire comme si elle était à lui Mais il n a le droit d utiliser que les morceaux qu il a demandé à l OS Que se passe-t-il si il n y a plus de mémoire physique libre? L OS pourra refuser les demandes d un processus Mais pourquoi se limiter à la mémoire physique? On ajoute à la mémoire physique des disques Zone de swap (ou pagefile) Bien sûr ils sont beaucoup plus lents que la RAM On essaie de maintenir en RAM le maximum Jacques Farré 2012 Informatique générale systèmes d'exploitation 36/44

Swap Programm e Mémoire virtuelle Mémoire physique Granularité : on peut mettre dans le swap Le processus complet Seulement une partie de sa mémoire, celle qu il n utilise pas ou peu L OS décide quand mettre dans le swap (swap-in) Quand un processus accède à une zone mémoire dans le cache, elle est remise en RAM (swap-out) Si l OS n utilise pas le swap judicieusement, très mauvaises performances (Swap Storm) Quelle quantité de Swap faut-il avoir? Suffisamment Jacques Farré 2012 Informatique générale systèmes d'exploitation 37/44

Surengagement (overcommit) Combien de mémoire l OS peut-il allouer? À priori, autant que RAM + Swap Mais ça limite ce qu il est possible de faire Si un processus demande beaucoup de mémoire, il va bloquer tous les autres Un processus qui demande beaucoup de mémoire mais ne l utilise pas va gêner les autres L OS se comporte comme une banque Il promet (beaucoup) plus de mémoire que ce qu il a de disponible Dans la majorité des cas, pas de soucis (allocation différée et principe de localité) Mais si tout le monde a besoin de la mémoire demandée, alors c est la faillite Jacques Farré 2012 Informatique générale systèmes d'exploitation 38/44

Dénouer le noeud du surengagement Quand un processus réclame la mémoire promise par l OS, l OS doit en trouver, il l avait promis Que faire s'il n y en a plus? Solution : arrêter (tuer) un processus Lequel? Celui qui vient de demander? mais il n est pas responsable Il vaut mieux tuer un processus tel que le problème sera résolu Quelqu un qui consomme beaucoup de mémoire Et qui ne sert pas à grand chose Comment est choisie la victime? Voir par exemple http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html? page=2 Jacques Farré 2012 Informatique générale systèmes d'exploitation 39/44

Protection mémoire L'OS est prioritaire et n a pas de limite, sauf physique, pour l'allocation mémoire, ni de restriction pour l'accès en mémoire Mais si un processus peut lire/écrire la mémoire d un autre processus pas de confidentialité (un programme peut aller lire votre numéro de carte bleue) pas de stabilité (un programme peut modifier la mémoire d un autre et le faire planter) Dans un OS multitâche, il est vital d avoir une forme de protection mémoire Est-ce que l OS peut assurer la protection mémoire? Jacques Farré 2012 Informatique générale systèmes d'exploitation 40/44

OS et protection mémoire L'OS donne la mémoire aux processus Donc il sait qui a quoi Quand un processus accède à de la mémoire, l OS sait si c est la sienne ou celle d un autre Mais, ça arrive alors que le processus a le CPU, pas l OS, comment l OS pourrait-il savoir? L OS a recours à la Memory Management Unit (MMU) Lors du changement de processus sur le CPU (aussi dit changement de contexte), l OS indique à la MMU les zones mémoire appartenant au processus Si le processus essaie d accéder à une autre zone La MMU génère une interruption Un interrupt handler de l OS est exécuté En général, le processus est tué (segfault) Jacques Farré 2012 Informatique générale systèmes d'exploitation 41/44

Fragmentation mémoire Souvent un programme a besoin que la mémoire soit attribuée de manière contigüe Exemple : dans un tableau, une donnée en case i+1 est en mémoire à coté de la donnée de la case i Mais le garantir ne serait pas efficace. Par exemple Un programme réclame 200Mo Il y a 200Mo de libre, mais en plusieurs morceaux. Que faire? Défragmenter la mémoire? Efficace dans quelques rares cas, trop coûteux la plupart du temps Solution : séparer la mémoire vue par le processus de la mémoire physique D'où l'intérêt de la mémoire virtuelle Jacques Farré 2012 Informatique générale systèmes d'exploitation 42/44

Et si l'os perd la tête? L OS protège les processus entre eux Mais il ne se protège pas contre lui-même L OS contrôle tout, donc il doit pouvoir écrire/lire où il veut S'il écrit dans la mémoire d un processus, la MMU va le lui dire Que faire si la MMU râle? Vérifier si l action est volontaire Si oui, on ignore la MMU Si non, on a un problème, l OS fait n importe quoi suicide! http://aedena.over-blog.com Blue Screen of Death ou Kernel Panic Jacques Farré 2012 Informatique générale systèmes d'exploitation 43/44

Machines virtuelles - virtualisation La virtualisation fait fonctionner plusieurs OS simultanément sur une même machine ne pas confondre avec le dual-boot, qui permet d'utiliser plusieurs OS sur une même machine, mais 1 seul à la fois ni avec les machines virtuelles (par ex. la Java Virtual Machine JVM ), qui sont des logiciels émulant une machine abstraite (par ex. le Java Runtime Environment - JRE), pour permettre aux compilateurs de ne produire qu'un seul code «exécutable» sur des architectures variées (du smartphone au supercalculateur : write once, run anywhere) Nombreux intérêts installation, tests, développements, cassage et possibilité de recommencer sans casser le système d'exploitation hôte (TP système) sécurisation et/ou isolation d'un réseau (cassage malveillants des systèmes d'exploitation virtuels mais pas des systèmes d'exploitation hôtes, invisibles pour l'attaquant,...) allocation dynamique de la puissance de calcul en fonction des besoins... Jacques Farré 2012 Informatique générale systèmes d'exploitation 44/44