Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
d’exploitation
Références
[1] SGHAIER Imene, 2007-2008, Système d’exploitation, Institut Supérieur des
Etudes Technologique du Nabeul
[2] tutorialspoint.com, Operating system tutorial
[3] Abraham-Silberschatz, 2012.12, Operating System Concepts, 8th Edition
[4]https://rmdiscala.developpez.com/cours/LesChapitres.html/Cours1/Chap1.
6.htm
[5] https://fr.wikipedia.org/wiki/Virtualisation
Système informatique
• Un système informatique peut être divisé en quatre
composants:
les matériels informatiques: le processeur ou Central
Processing Unit(CPU), la mémoire et les
périphériques d’Entrée/Sortie qui fournissent les
ressources informatiques de base pour le système;
le système d’exploitation: contrôle les matériels et
coordonne son utilisation parmi les divers
programmes d’application pour les différents
utilisateurs;
les programmes d’application: tels que les
traitements de texte, les tableurs, et navigateurs Web
- définissent la manière dont ces ressources sont
utilisé pour résoudre les problèmes informatiques des
utilisateurs;
Système informatique
• Un système informatique moderne est constitué de:
une ou de plusieurs CPU.
et un certain nombre de contrôleurs de périphériques connectés via un bus
commun
• Chaque contrôleur de périphérique est en charge d’un type particulier de
périphérique (par exemple, lecteurs de disque, périphériques audio, ou
vidéo affiche).
• Le CPU et les contrôleurs de périphériques peuvent s'exécuter en parallèle,
en compétition,
• Pour assurer un accès ordonné à la mémoire partagée, un contrôleur de
mémoire synchronise l'accès à la mémoire.
Système informatique
Fonction de base d’un système informatique
Communication avec l'utilisateur
entrée : entrée des information à traiter : les données
sortie : communication des résultats
Calcul (ou traitement): élaboration des résultats à partir des données
Séquencement
Les opérations sont exécutées l'une après l'autre selon un certain plan
appelé un programme.
Le choix d'une opération peut éventuellement dépendre du résultat des
opérations précédentes
Mémorisation
Les données et les résultats doivent être mémorisés
La séquence des opérations à effectuer (programme) est également mémorisée
Exploitation d’un système informatique
Entrée Mémorisation
(clavier, Données (Mémoire
caméra, …) 1100001 centrale)
Traitement
(Processeur)
Sortie Mémorisation
(Ecran, (Mémoire Résultats
imprimante, …) centrale) 11011000
Exécution d’un programme
• Les étapes d’exécution d’un programme
sont:
1. Chargement des programmes dans la
mémoire centrale
2. Envoi séquentiel des instructions à
l’unité de contrôle
3. Analyse et interprétation des
instructions par l’unité de contrôle
4. Traitement des instructions par l’unité
arithmétique et logique
avec l’aide de la mémoire et de l’unité
d’entrée sortie
Définitions d’un Système d’exploitation
• Le système d'exploitation (OS pour operating system en Anglais) est
l'ensemble de programmes central d'un équipement informatique qui sert
d'interface entre le matériel et les logiciels applicatifs.
• C'est une couche logicielle (software) qui coordonne l'utilisation du matériel
(hardware) entre les différents programmes d'application.
• C’est le premier programme exécuté lors du démarrage de l’ordinateur.
• Un système d’exploitation est typiquement composé de: un noyau,
bibliothèques, un ensemble d’outils système et de programmes applicatifs
de base.
Place de SE dans le marché
• Actuellement les deux familles de systèmes d'exploitation les plus
populaires sont Unix (dont Mac OS X et Linux) et Windows.
• La gamme des systèmes Windows équipe aujourd'hui 38 % des serveurs et
90 % des ordinateurs personnels, ce qui la place en situation de monopole
notamment auprès du grand public.
• La famille de systèmes d'exploitation Unix compte plus de 25 membres et les
parts de marché de ces systèmes d'exploitation Unix sont de presque 50%
sur les serveurs. La famille Unix anime 60 % des sites web dans le monde et
Linux équipe 95 % des 500 super-ordinateurs du monde.
• On dénombre plus d'une centaine de systèmes d'exploitation dans le monde
Place de SE dans le marché
Typologie
• Un système d'exploitation est dit multi-tâches quand il permet l'exécution
simultanée de plusieurs programmes. Tous les systèmes d'exploitation actuels
sont multi-tâches.
• Il est dit multi-utilisateurs quand il est conçu pour être utilisé simultanément par
plusieurs usagers, souvent à travers un réseau informatique (notion de serveurs).
Ils sont multi-tâches et en général sécurisés, c'est-à-dire qu'il vont refuser
d'exécuter toute opération pour laquelle l'usager n'a pas préalablement reçu une
permission.
• Il est dit multi-processeurs quand il est conçu pour exploiter un ordinateur équipé
de plusieurs processeurs. Dans de tels systèmes d'exploitation, plusieurs
programmes sont exécutés simultanément par les différents processeurs.
• Il est dit temps réel quand il garantit que les opérations seront effectuées en
respectant des délais stricts, et ce quelles que soient les conditions d'utilisation
(charge du système). De tels systèmes d'exploitation sont utilisés dans l'industrie,
l'aéronautique ou l'électronique pour créer des systèmes temps réel (souvent
embarqué).
Besoins
• Un système d'exploitation est composé d'une large palette de programmes.
Sa composition exacte dépend de l'usage cible et du type d'équipement
informatique (ordinateur personnel, serveur, super-ordinateur ou encore
système embarqué) auquel le système est destiné.
• Par exemple, si le système d'exploitation est destiné à être utilisé :
sur un ordinateur personnel ou une console de jeu vidéo, il nécessitera une
interface graphique ergonomique
sur un serveur, il comprendra une large palette de protocoles et de pilotes
pour du matériel réseau, sera multi-tâches et muni de contrôles d'accès
sur un assistant personnel ou un téléphone portable, le nombre de pilotes
sera restreint au minimum et le système d'exploitation sera prévu pour être
enregistré sur une mémoire morte
sur des super-ordinateurs, ils sera alors massivement multiprocesseur
Rôles d’un SE
• Les fonctions importantes d’un système d’exploitation sont:
Gestion de la mémoire: gérer l'espace mémoire alloué à chaque application et, le
cas échéant, à chaque usager. En cas d'insuffisance de mémoire physique (RAM),
le système d'exploitation peut créer une zone mémoire sur le disque dur, appelée
mémoire virtuelle.
Gestion du processeur: l'allocation du processeur entre les différentes
applications grâce à un algorithme d'ordonnancement.
Gestion des E/S(périphériques): gérer l'accès des programmes aux ressources
matérielles par l'intermédiaire des pilotes.
Gestion de fichiers: gérer la lecture et l'écriture dans le système de fichiers et les
droits d'accès aux fichiers par les utilisateurs et les applications.
Gestion de l’exécution des applications: s'assurer de la bonne exécution des
applications en leur affectant les ressources nécessaires à leur bon
fonctionnement, mais aussi permettre de tuer une application ne répondant plus
correctement, par exemple.
Composants d’un SE
• Un système d'exploitation est typiquement composé de:
• Le noyau (kernel) représentant les fonctions fondamentales du système
d'exploitation telles que la gestion de la mémoire, des processus, des
fichiers, des entrées-sorties principales, et des fonctionnalités de
communication.
• Le système de fichiers (file system) permet d'enregistrer les fichiers dans
une arborescence.
• L'interpréteur de commande (shell ) permettant la communication avec le
système d'exploitation par l'intermédiaire d'un langage de commandes, afin
de permettre à l'utilisateur de piloter les périphériques en ignorant tout des
caractéristiques du matériel qu'il utilise, de la gestion des adresses
physiques, etc.
Architecture (exemple)
Bibliothèque
• Une bibliothèque ou librairie logicielle est un ensemble de fonctions
utilitaires, regroupées et mises à disposition afin de pouvoir être utilisées
sans avoir à les réécrire.
• Les bibliothèques logicielles se distinguent des exécutables dans la mesure
où elles ne sont pas complètes car elles ne possèdent pas de fonction
principale (main) et par conséquent elles ne peuvent pas être exécutées
directement.
• Les bibliothèques logicielles sont parfois regroupées en un framework, de
façon à constituer un ensemble cohérent et complémentaire de
bibliothèques.
• L'interface de programmation ou API (Application Programming Interface),
est la partie visible d'une bibliothèque ou d'un ensemble de bibliothèques..
Bibliothèque
• Une bibliothèque statique contient des fonctions qui seront intégrées au
code généré par le compilateur (édition de liens statique). L’inconvénient est
qu’un programme ainsi obtenu n’est pas mis à jour lorsque la bibliothèque
change. L’avantage est que le programme seul est autonome.
• Une bibliothèque dynamique est une bibliothèque qui contient des
fonctions qui seront intégrées au code au moment de son exécution (édition
de liens dynamique). L’avantage est que le programme (plus léger) est à jour
vis-à-vis de la mise à jour des bibliothèques. L’inconvénient est que
l’exécution dépend de l’existence de la bibliothèque sur le système cible.
• Une bibliothèque dynamique, Dynamic Link Library(.dll) pour Windows et
shared object(.so) sous UNIX/Linux, est un fichier de bibliothèque logicielle
utilisé par un programme exécutable, mais n'en faisant pas partie. Ce fichier
contient des fonctions qui pourront être appelées pendant l'exécution d'un
programme, sans que celles-ci soient incluses dans son exécutable.
Gestion de processus
Définition et caractéristiques
• Un processus est une entité dynamique correspondant à l’exécution
d’une suite d’instructions : un programme qui s'exécute (ou en cours
d’exécution). Il contient toute l'information qu’il est nécessaire de conserver
pour poursuivre l'exécution d'un programme interrompu.
Exemple: le navigateur web
• Un processus possède:
Identificateur du processus (PID) numéro unique (à un instant t, mais
réutilisable)
Informations de généalogie: processus parent (PPID), processus enfants
Information de droits: utilisateur propriétaire du processus
Information sur la mémoire utilisée
Information sur les fichiers ouverts ( ressources)
Définition et caractéristiques
•
Les interruptions
• Une interruption est une commutation de l’état (contexte) d’un
processus provoquée par un signal généré par le matériel. Ce signal est la
conséquence d'un événement interne à un processus, résultant de son
exécution, ou bien extérieur et indépendant de son exécution. Le signal va
modifier la valeur d'un indicateur qui est consulté par le SE. Celui-ci
est ainsi informé de l'arrivée de l'interruption et de son origine.
• A chaque cause d'interruption est associé un niveau d'interruption.
• 3 niveaux d'interruption :
les interruptions externes : panne, intervention de l'opérateur, ...
les déroutements qui proviennent d'une situation exceptionnelle ou d'une
erreur liée à l'instruction en cours d'exécution (division par 0, débordement
de mémoire, ...)
les appels système
Ressources
• On appelle ressource tout ce qui est nécessaire à l'avancement d'un
processus (continuation ou progression de l'exécution) : processeur,
mémoire, périphérique, bus, réseau, compilateur, fichier, message d'un
autre processus, etc...
• Un défaut de ressource peut provoquer la mise en attente d'un processus.
• Un processus demande au SE l'accès à une ressource. Le SE alloue une
ressource à un processus. Une fois une ressource allouée, le processus a
le droit de l'utiliser jusqu'à ce qu'il libère la ressource ou jusqu'à ce que le SE
reprenne la ressource: on parle dans ce cas de ressource préemptible, de
préemption.
• On dit qu'une ressource est en mode d'accès exclusif si elle ne peut être
allouée à plus d'un processus à la fois. Sinon, on parle de mode d'accès
partagé. Un processus possédant une ressource peut dans certains cas en
modifier le mode d'accès.
Table des processus
• C’est un tableau de structures contenant toute l’information sur chaque
processus en cours d’exécution sur le système
• Périodiquement, le système d'exploitation décide d'interrompre un
processus pour en exécuter un autre. Il doit alors:
Suspendre l'exécution d'un processus A
Sauvegarder l'information de A dans la table des processus
Choisir un nouveau processus B
Récupérer l'information du processus B
Démarrer l'exécution du processus B
Etat d’un processus
Un processus peut connaître 3 états possibles :
Élu (Actif) - Processus actif, traité par le CPU
Prêt (Suspendu) – processus actif, processeur occupé par un autre
processus
Bloqué (En attente d’un évènement extérieur) Processus non actif, même si
le processeur est disponible.
Zombie: a fini son exécution
Thread
• Afin de séparer les tâches d'un processus, il a été
mis en place la notion de processus léger. Chaque
processus peut fonctionner comme un SE en
lançant des sous tâches internes au processus: On
l’appelle le multithreading. Ces sous-tâches sont
nommées processus léger ou thread.
Un processus peut comporter plusieurs threads.
Un processus travaille et gère, pendant le quantum
de temps qui lui est alloué, des ressources et
exécute des actions sur ou avec ces ressources.
Les threads situés dans un même processus
partagent les mêmes variables générales( de
données) et les autres ressources allouées à ce
même processus.
Thread vs Multithreading
Rôles du SE
• Le SE est responsable de:
Allocation de ressources aux processus
Création, terminaison des processus
Suspension, reprise des processus
Synchronisation, communication entre processus
Ordonnancement de processus
Introduction
• Un ordinateur possède forcément plusieurs processus en concurrence
pour l’obtention du temps processeur, cette situation se produit lorsque 2
ou plusieurs processus sont en état prêt simultanément.
• L’ordonnanceur(planificateur, scheduler) est la partie (un programme) du
système d’exploitation responsable de régler les états des processus (Prêt,
Actif,…etc.) et de gérer les transitions entre ces états; c’est l’allocateur du
processeur aux différent processus, il alloue le processeur au processus en
tête de file des Prêts.
• Les objectifs d’un Ordonnanceur sont :
Maximiser l’utilisation du processeur
Présenter un temps de réponse acceptable
Respecter l’équité entre les processus selon le critère d’ordonnancement
utilisé.
Types d’ordonnancement
• Il existe 2 types d’ordonnancement
Ordonnancement préemptif : Avec réquisition où l’ordonnanceur peut
interrompre un processus en cours d’exécution si un nouveau processus de
priorité plus élevée est inséré dans la file des Prêts.
Ordonnancement coopératif :Ordonnancement jusqu’à achèvement: le
processus élu garde le contrôle jusqu’à épuisement du temps qui lui a été
alloué même si des processus plus prioritaires ont atteint la liste des Prêts
Algorithmes d’ordonnancement
• Six(06) principaux algorithmes d’ordonnancement:
Le premier arrivé, premier servi (FCFS: First Come First Serve ou FIFO: First
In First Out)
Le plus court en premier (SJF: Shortest Job First)
Le temps restant le plus court (SRT : Shortest Remaining Time)
Le plus priorité en premier (HPF: Highest Priority First)
Le tourniquet ou circulaire (RR: Round Robin)
Les files d'attente multi-niveaux (Multi queue ) ou files d’attente
Rétroactives
First Come First Serve (FCFS)
• Les tâches sont exécutées selon le
principe du premier arrivé,
premier servi.
• Facile à comprendre et à mettre
en œuvre.
• Faible performance car le temps
d'attente moyen est élevé.
• Wait Time : Service Time - Arrival
Time
Shortest Job First (SJF)
• Meilleure approche pour
minimiser le temps d'attente.
• Impossible à mettre en œuvre
• Le processeur doit savoir à
l’avance combien de temps le
processus prendra.
Shortest Remaining Time
• L’algorithme du temps restant le plus court, est la version préemptive de
l’algorithme SJF.
• Chaque fois qu’un nouveau processus est introduit dans la file des processus
à ordonnancer, l’Ordonnanceur compare la valeur estimée du temps de
traitement restant à celle du processus en cours d’ordonnancement.
• Si le temps de traitement du nouveau processus est inférieur, le processus
en cours est préempté. Tout comme l’algorithme SJF, l’algorithme SRT
favorise les travaux courts : les travaux longs en revanche peuvent être
victimes de famine.
Highest Priority First
• Chaque processus se voit attribuer
une priorité.
• Le processus avec la priorité la plus
élevée doit être exécuté en premier et
ainsi de suite.
• Les processus avec la même priorité
sont exécutés sur la base du premier
arrivé, premier servi.
• La priorité peut être déterminée en
fonction des besoins en mémoire, des
besoins en temps ou de tout autre
ressources nécessaires....
Round Robin
• Chaque processus est fourni un
temps fixe pour exécuter appelé
quantum.
• Une fois qu'un processus est
exécuté pour une période donnée.
Le processus est préempté et
autre processus s'exécute pour
une période donnée.
• La commutation de contexte est
utilisée pour enregistrer les états
des processus préemptés.
Multi Queue
• Plusieurs files d'attente sont
maintenues pour les processus.
• Chaque file d'attente peut avoir
ses propres algorithmes
d’ordonnancement.
• Les priorités sont attribuées à
chaque file d'attente.
Gestion de la mémoire
Contexte
• Plusieurs tâches sont présentes en mémoire centrale, à un instant donné.
Il faut que chacune dispose d'un espace mémoire qui lui est propre et qui soit
protégé de toute interaction avec une autre tâche.
Il est donc nécessaire de partitionner la mémoire centrale(RAM) en plusieurs
sous-ensembles indépendants.
• Plusieurs tâches s'exécutant en mémoire centrale utilisent généralement plus
d'espace mémoire que n'en contient physiquement la mémoire centrale.
il est alors indispensable de mettre en place un mécanisme qui allouera le
maximum d'espace mémoire physique utile à une tâche et qui libérera cet espace
dès que la tâche sera suspendue.
Le même mécanisme doit permettre de stocker, gérer et réallouer à une autre
tâche l'espace ainsi libéré.
• Pour répondre à ces problèmes, on utilise les techniques de segmentation et de
pagination.
Mémoire virtuelle
• On désigne par mémoire virtuelle, une méthode de gestion de la mémoire
physique permettant de faire exécuter une tâche dans un espace mémoire
plus grand que celui de la mémoire centrale MC.
• Par exemple dans Windows et Linux, un processus fixé se voit alloué un
espace mémoire de 4 Go
• Si la mémoire centrale physique possède une taille de 512 Mo, le
mécanisme de mémoire virtuelle permet de ne mettre à un instant donné
dans les 512 Mo de la MC, que les éléments strictement nécessaires à
l'exécution du processus, les autres éléments restant stockés sur le disque
dur, prêts à être ramenés en MC à la demande.
Segmentation
• Un segment de mémoire est un ensemble de cellules
mémoires contiguës.
• Le nombre de cellules d'un segment est appelé la taille
du segment, ce nombre n'est pas nécessairement le
même pour chaque segment, toutefois tout segment ne
doit pas dépasser une taille maximale fixée.
• La première cellule d'un segment a pour adresse 0, la
dernière cellule d'un segment adrk est bornée par la
taille maximale autorisée pour un segment.
• Un segment contient généralement des informations de
même type (du code, une pile, une liste, une table, ...),
sa taille peut varier au cours de l'exécution (dans la
limite de la taille maximale).
• Les cellules d'un segment ne sont pas toutes
nécessairement entièrement utilisées.
Segmentation
• L'adresse d'une cellule à l'intérieur d'un
segment s'appelle l'adresse relative (au
segment) ou déplacement.
• On utilise plus habituellement la notion
d'adresse logique permettant d'accéder à
une donnée dans un segment, par
opposition à l'adresse physique qui
représente une adresse effective en
mémoire centrale.
• Une adresse logique aussi nommée adresse
virtuelle comporte deux parties : le numéro
du segment auquel elle se réfère et
l'adresse relative de la cellule mémoire à
l'intérieur du segment lui-même.
Fragmentation
• Le partitionnement de la MC entre blocs
libres et blocs alloués se dénomme la
fragmentation mémoire.
• Au bout d'un certain temps, la mémoire
contient une multitude de blocs libres qui
deviendront statistiquement de plus en
plus petits jusqu'à ce que le système ne
puisse plus allouer assez de mémoire
contiguë à un processus.
• Dans ce cas , un algorithme de compactage
est lancé dès que cela s'avère nécessaire
afin de ramasser ces fragments de mémoire
libre éparpillés et de les regrouper dans un
grand bloc de mémoire libre.
Adresse virtuelle – adresse physique
• Le SE dispose d'une table dénommée table
des segments contenant une entrée par
segment actif et présent dans la MC,
utilisée par le système de gestion d’une
mémoire segmentée pour retrouver
l'adresse physique d’une donnée.
• Une entrée de la table des segments
comporte le numéro du segment, l'adresse
physique du segment dans la MC et la taille
du segment
Adresse virtuelle – adresse physique
• Exemple: Supposons que nous avons l'adresse virtuelle ( k , 8 ). Il s'agit de
référencer la cellule d'adresse 8 à l'intérieur du segment numéro k. Comme
le segment n° k est physiquement implanté en MC à partir de l'adresse
1005, la cellule cherchée dans le segment se trouve donc à l'adresse
physique 1005+8 = 1013.
Gestion des périphériques
Rôles
• Le SE a la tâche importante de contrôler les périphériques d’entrées/sorties
(E/S):
Emission des commandes vers les périphériques.
Interception des interruptions.
Gestion des erreurs.
• But :
Fournir une interface simple entre les périphériques et le système.
Interface identique pour tous les périphériques.
Unité d’entrées - Sorties
• Deux catégories :
périphériques par bloc : informations stockées par blocs de taille fixe,
chacun possédant sa propre adresse. (ex : disque)
périphériques par caractères : information circule sous la forme d’un flot de
caractères, sans aucune structure de bloc. (ex : clavier, imprimante, souris).
• Deux parties dans une unité :
un composant mécanique, le périphérique (ex : disque).
un composant électronique, le contrôleur de périphérique (ex : contrôleur
IDE)
Unité d’entrées - Sorties
• Deux catégories :
périphériques par bloc : informations stockées par blocs de taille fixe,
chacun possédant sa propre adresse. (ex : disque)
périphériques par caractères : information circule sous la forme d’un flot de
caractères, sans aucune structure de bloc. (ex : clavier, imprimante, souris).
• Deux parties dans une unité :
un composant mécanique, le périphérique (ex : disque).
un composant électronique, le contrôleur de périphérique (ex : contrôleur
IDE)
Gestion des fichiers
Fichiers
• La notion de fichier est l’abstraction fondamentale introduite dans les
systèmes d’exploitation pour gérer les données des utilisateurs acquises ou
produites via les divers périphériques connectés : disques, écran/clavier,
imprimantes, scanners, modems, etc.
• Le système de fichiers d’un système d’exploitation est la partie la plus
couramment sollicitée par l’utilisateur.
• La plupart des systèmes d’exploitation ne font pas de distinction entres ces
fichiers.
• Chaque fichier est associé à un nom qui sera utilisé ensuite pour l’identifier.
• A l’aide de ce nom, un programme peut demander au système d’exploitation
la lecture ou l’écriture du fichier.
Répertoires
• Un nommage « à plat » des fichiers serait peu pratique à gérer au-delà d’une
centaines de fichiers, ainsi tous les systèmes de fichiers permettent la création de
répertoires qu’un utilisateur utilisera pour rassembler un ensemble de fichiers.
• Pour rendre le classement encore plus efficace, ces répertoires peuvent contenir à
leur tour d’autres répertoires, ce qui donne une structure arborescente.
• Les opérations usuelles portant sur les répertoires sont les suivantes :
La création d’un répertoire ;
La suppression d’un répertoire ;
La lecture d’un répertoire, afin d’obtenir la liste des fichiers ; cette opération
nécessite généralement plusieurs opérations élémentaires, qui peuvent être
l’ouverture de répertoire, la lecture (répétée) d’un nom de fichier, et la fermeture.
Système de fichier
• Composante essentielle d’un système d’exploitation noté FS( ou File
System), il permet d’enregistrer les fichiers dans une arborescence
(Windows: FAT, NTFS – Linux: Ext2/3/4fs)
• Le système de fichier offre à l’utilisateur une vision structurée et organisée
des données et des ressources.
• Le système gère la création des fichiers, leur destruction, leur affectation
avec les dispositifs physiques, la gestion des droits sur les fichiers
• L’organisation du système de fichiers est donc primordiale et elle
conditionne l’utilisation efficace de la machine.
• Les fichiers sont organisés en une structure arborescente
Système de fichier
Linux Windows
Notions sur la virtualisation
Définitions
• La virtualisation consiste à exécuter sur une machine hôte, dans un
environnement isolé, des systèmes d'exploitation (virtualisation système),
ou des applications (virtualisation applicative).
• Ces ordinateurs virtuels sont appelés serveur privé virtuel (Virtual Private
Server ou VPS) ou encore environnement virtuel (Virtual Environment ou
VE).
Avantages
• Utilisation optimale des ressources d'un parc de machines (répartition des machines
virtuelles sur les machines physiques en fonction des charges respectives) ;
• Installation, déploiement et migration facile des machines virtuelles d'une machine
physique à une autre;
• Economie sur le matériel par mutualisation (consommation électrique, entretien
physique, surveillance, support, compatibilité matérielle, etc.)
• Installation et possibilité de recommencer sans casser le système d'exploitation hôte ;
• Sécurisation et/ou isolation d'un réseau (cassage des systèmes d'exploitation virtuels,
mais pas des systèmes d'exploitation hôtes qui sont invisibles pour l'attaquant, tests
d'architectures applicatives et réseau) ;
• Diminution des risques liés au dimensionnement des serveurs lors de la définition de
l'architecture d'une application, l'ajout de puissance (nouveau serveur, etc.) étant alors
transparent.
Inconvénients
•L'accès aux ressources des serveurs hôtes via la couche d'abstraction matérielle nuit aux
performances, et l'exécution de n'importe quel logiciel virtualisé consommera davantage
de ressources qu'en mode natif ;
•En cas de panne d'un serveur hôte, l'ensemble des machines virtuelles hébergées sur
celui-ci seront impactées. Mais la virtualisation est souvent mise en œuvre avec des
redondances
•La mise en œuvre est complexe et demande un investissement initial ;
•Il y a des contraintes d'administration spécifiques (déploiement, sauvegarde…).
Inconvénients
• L'accès aux ressources des serveurs hôtes via la couche d'abstraction
matérielle nuit aux performances, et l'exécution de n'importe quel
logiciel virtualisé consommera davantage de ressources qu'en mode
natif ;
•En cas de panne d'un serveur hôte, l'ensemble des machines
virtuelles hébergées sur celui-ci seront impactées. Mais la virtualisation
est souvent mise en œuvre avec des redondances, qu'elle facilite ;
•La mise en œuvre est complexe et demande un investissement initial ;
•Il y a des contraintes d'administration spécifiques (déploiement,
sauvegarde…).
Différentes techniques: Isolateur
• Un isolateur est un logiciel permettant d'isoler
l'exécution des applications dans ce qui est appelé
des contextes, ou bien zones d'exécution.
•Il permet ainsi de faire tourner plusieurs fois la
même application dans un mode multi-instance
(plusieurs instances d’exécution).
•Cette solution est très performante mais les
environnements virtualisés ne sont pas
complètement isolés.
•Exemple : Linux-VServer (isolation des processus
en espace utilisateur) ; chroot (isolation
changement de racine) ; BSD Jail (isolation en
espace utilisateur) ; OpenVZ : libre,
(partitionnement au niveau noyau sous Linux) ;
LXC : libre, (usage des Cgroups du noyau Linux);
Docker.
Différentes techniques: Noyau en espace utilisateur
• Un noyau en espace utilisateur (user-space) tourne
comme une application en espace utilisateur de l'OS
hôte.
• Le noyau user-space a donc son propre espace
utilisateur dans lequel il contrôle ses applications.
• Cette solution est très peu performante, car deux
noyaux sont empilés et l’isolation des environnements
n’est pas gérée et l’indépendance par rapport au
système hôte est inexistante. Elle sert surtout au
développement du noyau.
• Exemple : User Mode Linux (noyau tournant en espace
utilisateur) ; Cooperative Linux ou coLinux (noyau
coopératif avec un hôte Windows)
Différentes techniques: Hyperviseur de type 2
• Un hyperviseur de type 2 est un logiciel (généralement
assez lourd) qui tourne sur l'OS hôte.
• Ce logiciel permet de lancer un ou plusieurs OS invités. La
machine virtualise ou/et émule le matériel pour les OS
invités, ces derniers croient dialoguer directement avec
ledit matériel.
• L’unité centrale de calcul (CPU), la mémoire système (RAM)
ainsi que la mémoire de stockage (via un fichier) sont
directement accessibles aux machines virtuelles.
• Cette solution isole bien les OS invités, mais elle a un coût
en performance. Cette solution permet de faire cohabiter
plusieurs OS hétérogènes sur une même machine grâce à
une isolation complète.
• Exemple: Oracle VM VirtualBox (libre), logiciels Vmware
(VMware Player, etc), logiciels libres (QEMU : émulateur de
plateformes x86, etc).
Différentes techniques: Hyperviseur de type 1
• Un hyperviseur de type 1 est comme un noyau
système très léger et optimisé pour gérer les
accès des noyaux d'OS invités à l'architecture
matérielle sous-jacente.
• Actuellement l’hyperviseur est la méthode de
virtualisation d'infrastructure la plus
performante mais elle a pour inconvénient
d’être contraignante et onéreuse, bien que
permettant plus de flexibilité dans le cas de la
virtualisation d'un centre de données.
• Exemple : Citrix Xen Server (libre), VMware
vSphere (anciennement VMware ESXi et
VMware ESX), Microsoft Hyper-V Server,
Parallels Server Bare Metal, Oracle VM (gratuit),
KVM (libre).
Installation d’un Système
d’exploitation
Partitionnement
• C’est une opération qui consiste à scinder un disque physique pour obtenir un ou
plusieurs disques logiques (partitions)
• Utilités:
isoler les données du système d’exploitation
Sécurité
• Sous Windows, chaque partition possède une étiquette: C (partition système) D, E, etc
(racine)
• Sous Linux, chaque répertoire du SF peut correspondre à une partition mais on doit avoir
une partition racine (/) et swap.
Partitionnement
C: /
D: /home
E: swap
Windows Linux
Formatage
• Pour pouvoir enregistrer des fichiers sur un support, ce dernier doit avoir un
système de fichier.
• On peut citer:
FAT et NTFS pour Windows
Extfs (2, 3 et 4) pour Linux
• Le formatage est donc une opération qui consiste à inscrire un nouveau
système de fichier sur une partition.
Installation de Windows avec VirtualBox
• Installer le logiciel Virtual Box
• Il faut créer une machine virtuelle en cliquant sur le menu Nouveau, donner
un nom, la taille de la mémoire et du disque dur (fichier)
• Utiliser un CD ou clé USB système bootable(créé par exemple avec l’outil
PowerISO) ou un fichier image système pour démarrer l’installation
• Sélectionner la machine virtuelle à installer puis cliquer le menu Démarrer
• Suivre les instructions affichées sur l’écran
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox
Installation de Windows avec VirtualBox