You are on page 1of 88

Introduction

Aux
Systèmes d’Exploitation

Introduction aux Systèmes d’Exploitation 1


Copyright C.Deblangy V1-J v
PLAN GENERAL

 I) Présentation générale
 II) Gestion des tâches
 III) Gestion des fichiers
 IV) Gestion de la mémoire centrale
 V) Machines Virtuelles
 VI) Architecture / supervision des applications
 VII) Sécurité des applications

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 2


I) Présentation générale
Matériel / Logiciels
TAXI ORDINATEUR AUTO-ECOLE
1) VEHICULE MATERIEL VEHICULE

2) CHAUFFEUR LOGICIEL DE BASE MONITEUR

3) CLIENT LOGICIELS ELEVE


D’APPLICATION

 Le matériel (hardware) obéit aux logiciels en exécutant leurs


instructions
 Un logiciel (software) est un ensemble de programmes
 Le logiciel de base qui est le maître gère les ressources
matérielles et logicielles
 Les logiciels d’application sont les « clients-roi »
Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 3
I) Présentation générale
Architectures Applicatives N-tiers

 Notion de serveur multiclient


 Notion de client
 Notion de « tier » (couche)
 Notion de redondance pour une couche

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 4


I) Présentation générale
Architectures des applications en réseau (1/4)

2 Tiers

Client ===== Serveur et Serveur


d’Application de données

3 Tiers

Client ===== Serveur ====== Serveur


d’Application de données

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 5


I) Présentation générale
Architectures des applications en réseau (2/4)

4 Tiers avec stockage en réseau

L’ajout d’un serveur Web entre le serveur d’application et le client


permet d’avoir un client Web (navigateur)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 6


I) Présentation générale
Architectures des applications en réseau (3/4)

4 Tiers sans stockage en réseau mais avec client Web

Client ===== Serveur ====== Serveur ====== Serveur


WEB WEB d’Application de données

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 7


I) Présentation générale
Architectures des applications en réseau (4/4)

5 Tiers avec stockage en réseau et avec client Web

Client === Serveur === Serveur === Serveur ==== Serveur


WEB WEB d’Application de données de stockage

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 8


I) Présentation générale
Architecture simplifiée d’un ordinateur

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 9


I) Présentation générale
Structure d’une instruction élémentaire
 Mémoire et registres
 Les registres (rapides et peu nombreux) sont dans l’unité centrale

 Une instruction élémentaire est composée de deux parties


Code opération Opérande

 Le code opération détermine la nature de l’opération


Que faire : addition/saut …
 L’opérande indique la nature d’une des données à manipuler
(valeur, N° registre, adresse d’une case de la mémoire centrale
 l’autre donnée est dans le registre accumulateur

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 10


I) Présentation générale
Algorithme / Programme
 Algorithme
 Solution abstraite d’un problème indépendante des langages de
programmation
 Programme
 Forme concrète (compréhensible par un ordinateur) d’un algorithme
 Un programme répond à la question « comment résoudre un
problème à l’aide d’un ordinateur
 Un logiciel (software) est un ensemble de programmes
 Pour pouvoir être exécuté par un ordinateur un programme écrit par un
programmeur doit être traduit ( compilateur / assembleur interpréteur) en
un langage binaire compréhensible par un ordinateur (unité centrale de
l’ordinateur)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 11


I) Présentation générale
Structure d’un programme
 Structure d’un Programme
 Exemples d’actions de base
– lire le PrixAchat et le Bénéfice
– PrixVente = PrixAchat + Bénéfice
– Exécuter le sous programme de calcul des statistiques
 Structure de contrôle
– Alternative : Exemple
 si PrixVente > 1000 alors remise = PrixVente * 0,20
– Répétitive : Exemple
 Répéter 10 fois
l’impression de l’état des ventes
 Tant qu’il reste des commandes à lire
traiter une commande

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 12


I) Présentation générale
Exécution d’un programme

 Un ordinateur obéit à des programmes


 un programme doit être chargé en mémoire centrale pour
pouvoir être exécuté par l’unité centrale
 Un programme est composé
– des instructions (le code)
– des données manipulées
 En entrée : données lues depuis un périphérique et placées en mémoire
 En cours d’exécution et conservées en mémoire
 En sortie : données écrite de la mémoire vers un périphérique
 Les instructions sont exécutées par l’unité centrale

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 13


I) Présentation générale
Tâche (processus)

 Une tâche (processus) est l’environnement nécessaire à


l’exécution d’un programme
 Espace mémoire centrale pour stocker le code et les données
 Code exécutable
 Espace disque
 Etat d’une tâche en fonction de son utilisation de l’unité centrale
– Une seule tâche exécutable à un instant donné par « processeur
physique » = unité centrale ou cœur d’une unité centrale
 Une tâche est identifiée par un Numéro, le PID
(processus identifier)
 Ce pid est le N° du descripteur de tâche dans une table système
(répertoire /proc en mémoire pour Unix)
Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 14
I) Présentation générale
Etats d’une Tâche

ELU ELIGIBLE

BLOQUE

 Le passage élu < = > éligible est nécessaire car il y toujours


plus de processus demandeurs que de processeurs disponibles

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 15


I) Présentation générale
Langages de commande/programmation
 Rappel : Un programme répond à la question « comment résoudre
un problème à l’aide d’un ordinateur »
 Mise en œuvre d’un programme
Répond à la question « comment quand et avec quelles
données exécuter le programme »
 Soit depuis un autre programme
 Soit par un ordre donné dans un langage de commande au
logiciel de base
 Cet ordre est pris en charge par un interpréteur de commandes
(Shell unix/ PowerShell Windows)
 Exemple : ProgPaye 30/09/2018 22h fichier_Septembre
– En mode interactif/ En mode script

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 16


I) Présentation générale
Matériel : Mode privilégié/Mode Utilisateur (1/2)

 Notions matérielles : modes de l’unité centrale


 Mode Maître=système=privilégié.
 Mode Esclave=asservi=applicatif.
 Le système se charge (boot) en mode maître et lance les
applications en mode asservi
 En mode maître
 aucun interdit,
 mais il y a des impossibilités (Exemple Division par zéro; Accès à
un périphérique éteint …)
 Les instructions élémentaires au niveau machine, exécutables
uniquement en mode maître sont des instructions privilégiées

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 17


I) Présentation générale
Matériel : Mode privilégié/Mode Utilisateur (2/2)

 En mode esclave,
 toute action qui touche à l'intégrité de la machine ou des
applications est interdite
 Il y a donc des impossibilités applicatives (division par zéro)
 mais aussi des interdits notamment les instructions privilégiées
 Exemples d’interdits
– Toutes les entrées/sorties physiques
– Accès à la mémoire d’autres utilisateurs par l’opérande erroné d’une
instruction dont le code opération est licite (exemple addition)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 18


I) Présentation générale
Interruption/déroutement
 Le matériel désobéit au logiciel en cours si l’un des évènements suivant se
produit :
 Déroutement (trap) : L’instruction en cours tente d’exécuter une action Interdite
(mode asservi) ou impossible (en mode maître ou en mode asservi)
 Interruption horloge : Le temps imparti à la tâche / programme en cours (temps
total ou temps partiel) est atteint
 Autre Interruption : Un évènement extérieur à la tâche en cours est à traiter de
manière prioritaire (Exemple buffer d’E/S plein)
 Le matériel exécute de manière prioritaire un programme système de
traitement de cet évènement puis le système :
 Soit reprend l’exécution de la tâche interrompue
 Soit tue la tâche interrompue
 Soit exécute une autre tâche plus prioritaire

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 19


I) Présentation générale
Appel Système
 Il existe des instructions dans les processeurs qui permettent de demander au
maître de faire des actions interdites aux applications. Ce sont les appels système.
 L'appel système exécuté par un programme en mode asservi permet de basculer le
processeur en mode maître et le système exécute cette action pour le compte du
programme demandeur
 Une instruction machine permet au système de poursuivre l’exécution de
l’application après avoir basculé le processeur en mode esclave (retour d’appel
système)
 Exemple d’appel système : augmentation de l’espace mémoire allouée à
l’application
 Applicatif : Appel système (passage en mode maître)
 Le gestionnaire système de la mémoire accorde / refuse cette augmentation
et rend un code de retour qui précise l’accord/le refus
 L’applicatif se poursuit (passage en mode asservi) et DOIT analyser le code de retour de
l’appel système pour savoir si sa demande a été acceptée ou non et doit engager la suite
de ses actions en conséquence

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 20


I) Présentation générale
Rôles d’un système d’exploitation

 Interface entre les programmes d’application et le matériel


 Le système est composé de gestionnaires de ressources
 Par exemple gestionnaire de mémoire centrale
 Gestionnaire de ressources
 Création/Allocation, destruction, modification (de la ressource)
 Droits d’usage de la ressource
 Gestion des conflits d’accès à la ressource
 Statistiques sur l’utilisation de la ressource
 Un gestionnaire de ressource est utilisable par un appel système
depuis un programme d’application ou un programme système
 Cas particulier d’application : l’interpréteur de commandes

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 21


I) Présentation générale
Applications Système d’exploitation Matériel

Application/Interpréteur de commande

Système d’exploitation composé de


Gestionnaires de ressources

Matériel

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 22


I) Présentation générale
Les gestionnaires de ressources
 Gestion des utilisateurs
 Gestion des processus/tâches/thread (sous processus particuliers)
 Gestion de la mémoire
 Gestion des fichiers (E/S logiques)
 Gestion des E/S physiques sur les périphériques locaux
(Drivers/Pilotes)
 Gestionnaire d’échanges à travers les réseaux
 Gestion des interruptions et des déroutements

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 23


I) Présentation générale
Traitement E/S logique

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 24


I) Présentation générale
Portabilité des PROGRAMMES

 Un logiciel est portable s’il est utilisable sur un autre ordinateur


en partant d’un code source unique écrit dans un langage de
programmation évolué/de haut niveau
 C Java Cobol etc
 Sur chaque ordinateur, les programmes de ce logiciel devront
néanmoins être compilés ou interprétés pour être exécutables
par un processeur

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 25


I) Présentation générale
Compatibilité des PROCESSEURS

 Deux processeurs sont compatibles s’ils peuvent exécuter le


même programme binaire
 Les processeurs ont donc le même jeu d’instructions binaires
 Compatibilité ascendante des processeurs
 Un processeur possède un sur ensemble du jeu d’instructions
d’un autre processeur (Exemple processeurs I3 I5 I7 d’Intel)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 26


I) Présentation générale
Moyens d’exécution d’un programme

 Compilation Edition de liens (linker) Chargement (loader)

 Interprétation (Script shell / JVM Java)

 Emulation
 Ancien programmes de consoles de jeux
 Anciens processeurs (Z80 etc)
 Processeurs en conception

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 27


I) PRESENTATION GENERALE
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 28


II) Gestion des tâches
Réentrance / Récursivité

 Programme réentrant
 Exécutable simultanément par plusieurs tâches / thread
 Exemple : l’interpréteur de commande
 Programme récursif
 Programme qui se rappelle lui-même
 Exemple factorielle
fact(n) = n* fact(n-1) avec fact(1) qui vaut 1

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 29


II) Gestion des tâches
Tâches : Arrière plan Avant plan
 Tâche d’arrière plan / Background) (daemon Unix)
 S’exécute de manière silencieuse et joue souvent un rôle de surveillance
 Est sollicitée par des requêtes d’autres tâches
 Notion de serveur
 Tâche d’avant plan (Foreground)
 S’exécute de manière visible et souvent interactive
 Notion de client

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 30


II) Gestion des tâches
Boot d’un système d’exploitation
 Architecture d’un disque dur (ou ssd)
 Notion de partition bootable et de partition non bootable
 Boot matériel en mode maître
 Boot logiciel par le chargeur spécifique du système à booter
 Mise en place des tâches d’arrière plan
 Démarrage d’un (des) interpréteur(s)
 Notion d’Utilisateur / Administrateur / droits associés
 Notion de session utilisateur / Administrateur

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 31


II) Gestion des tâches
Boot : Exemple Unix

 Démonstration du boot d’Unix


 Notion de tâche père / fils
 Mise en évidence du démarrage des daemons
 Ouverture de sessions Utilisateur
 Notion de shell de session

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 32


II) Gestion des tâches
Boot : Exemple Unix (1/2)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 33


II) Gestion des tâches
Boot : Exemple Unix (2/2)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 34


II) Gestion des tâches
Temps partagé

 Temps partagé
 Notion de tranche de temps
 Rôle de l’ordonnanceur (scheduler)
 Notion de commutation de contexte
 Rappel de l’état d’une tâche
 Exemple avec 3 tâches T1 T2 T3

T1 / T2 / T1 /T2 / T1 / T3
T1 : ½
T2 : 1/3
T3 : 1/6
Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 35
II) Gestion des tâches
Multiprocessing

 Exécution en vraie simultanéité de tâches


 sur plusieurs processeurs
 sur plusieurs cœurs
 L’ordonnanceur répartit les tâches sur les différents
processeurs/coeurs

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 36


II) Gestion des tâches
Changement de contexte processeur

 Quand le processeur est attribué à une autre tâche, il faut


sauver le contexte processeur (registres)
 Sauvegarde en général dans le descripteur de la tâche
interrompue
 Ratio Temps de Changement de contexte/Temps d’une tranche

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 37


II) Gestion des tâches
Ordonnanceur (scheduler)

 Une des fonction du gestionnaire des tâches


 Choix de la tâche (à l’état élu) qui a un processeur à un instant
donné. Ce choix est effectué parmi les tâches éligibles
 Il existe de nombreux algorithmes d’ordonnancement
 Tourniquet
 Plus court d’abord
 Par politique de performance

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 38


II) Gestion des tâches
Moniteur

 Ensemble de procédures, de variables et de structures de


données regroupées dans un module spécifique pour remplir
des fonctions
 Un moniteur est étanche par rapport au monde extérieur
 La communication avec l’extérieur s’effectue par des fonctions
avec paramètres

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 39


II) Gestion des tâches
Services

Ensemble de programmes
 Gèrent des ressources ou des évènements
Comptes utilisateurs, réseaux, imprimantes
 Lancés manuellement ou automatiquement par exemple au
démarrage du système
 En tâche d’arrière plan
 Réveillés par des évènements (courrier électronique; Maj
automatiques …)
 Implémentation des services applicatifs (exemple oracle par
processus sous Unix mais par service et thread sous Windows

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 40


II) Gestion des tâches
Gestionnaire de Services Windows

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 41


II) Gestion des tâches
Threads
 Sous processus qui partagent les données en mémoire centrale
 Possède un état et un descripteur
 Multithreading
 Plusieurs Threads à partir d’un même processus père
 Exemple : serveur http : un thread par client connecté
 Exemple : explorateur windows : un thread par fenêtre ouverte
 Accède aux ressources du père et des autres threads du même père
 Crée à partir d’un processus ou d’un autre thread
 Création plus rapide que la création d’un processus
 Synchronisation possible comme pour les processus
 Adapté au parallélisme (machine muticoeur/Multiprocesseur)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 42


II) Gestion des tâches
Synchonisation et gestion des conflits
 Attente active
 Un processus se met dans une boucle infinie d’attente
 Un évènement fait sortir ce processus de la boucle pour exécuter une procédure
 Utilisation des sémaphores
 Une file d’attente
 Un compteur
– > 0 : nombre de tâches qui peuvent franchier P(Sémaphore)
– < 0 : nombre de tâches bloquées sur un P(Sémaphore) et répertoriées dans la file
d’attente
 Des appels système
– Création du sémaphore/destruction du sémaphore
– Initialisation du compteur
– P(sémaphore) : décrémente le compteur de 1
appel système bloquant si le compteur est < 0
– V(sémaphore): incrémente le compteur (et libère un processus bloqué sur un
P(sémaphore) si le compteur est <0)
Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 43
II) Gestion des tâches
Famille de sémaphores : sémaphore privé
 Sémaphore privé
 Initialisé à 0
 Synchronise deux sections différentes de programmes

Exemple dans une mémoire partagée,


une lecture doit être précédée par une écriture

Programme Ecriture Programme lecture

Ecrire P(sémaphore
V(sémaphore) Lecture

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 44


II) Gestion des tâches
Famille de sémaphores : sémaphore mutex/partage

 Sémaphore de partage initialisé à n > 1


 Sémaphore d’exclusion mutuelle (mutex) initialisé à 1
 Gère le nombre de processus qui tentent d’exécuter de manière
concurrente la même partie d’un code réentrant (section critique)
Exemple dans un pilote de cassette numérique
Un seul périphérique : Initialisation du compteur à 1
Plusieurs périphériques : Initialisation du compteur avec le nombre
P(sémaphore) de périphériques
Début de la section critique
TRAITEMENT DE L’E/S
Fin de la section critique
V(Section critique)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 45


II) Gestion des tâches
Gestionnaire des tâches Windows

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 46


II) Gestion des tâches
Gestionnaire des Applications Windows

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 47


II) Gestion des tâches
Gestionnaire des tâches Linux

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 48


II) Gestion des tâches
Systèmes temps réel

 Les applications ont des contraintes de temps de


réponse fortes
 Gestion de machine outil
 Pilotage d’un missile
 La contrainte temps est plus importante que le
résultat
 Si le résultat est obtenu trop tard l’application n’a pas
rempli sa mission

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 49


II) Gestion des tâches
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 50


III) Gestion de fichiers
Présentation

 Le système de fichiers est l’interface entre le monde


logique des applicatifs et le monde physique du
stockage sur un périphérique
 Gestion des droits
 Gestion des opérations d’E/S physiques qui sont
réalisées par les pilotes (drivers)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 51


III) Gestion de fichiers
Rappel : Traitement E/S logique

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 52


III) Gestion de fichiers
Accès aux données des fichiers

 Mode d’accès physique lié au support


 Séquentiel
 Non séquentiel
 Notion d’article vu par l’applicatif (record)
Un employé / Une pièce dans un stock
 Mode d’accès logique lié à l’applicatif
 Séquentiel (sans clé pour retrouver un article)
 Non séquentiel (clé qui identifie un article)

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 53


III) Gestion de fichiers
Accès à une piste d’un disque

Notions de cylindre, tête, piste

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 54


III) Gestion de fichiers
Vision applicative et stockage physique
 Un disque dur a une architecture en partitions repérées par une table en tête
du disque
 Un applicatif ne connait que des articles sans notion d’adresse physique de
stockage
 Les supports physiques ne connaissent que des adresses physiques
(Exemple : Adresse Cylindre/Tête/Secteur liée à l’architecture physique des
disques)
 La correspondance entre la vue « article » et les adresses physiques est
gérée par le système de fichiers, elle figure dans le descripteur de chaque
fichier
 Les articles sont stockés dans des adresses physiques disponibles pas
forcément contiguées

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 55


III) Gestion de fichiers
Organisation des fichiers
 Les applicatifs décident de la manière dont ils veulent accéder à
chaque fichier et de la technique mise en œuvre pour faire
correspondre un article et son adresse physique
 Organisation séquentielle
 Organisation séquentielle indexée
 Organisation à base d’arbres

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 56


III) Gestion de fichiers
Fichiers et SGBD
Applicatifs

SGBD

Système de fichiers

Drivers

Disques

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 57


III) Gestion de fichiers
Gestion des Droits d’accès
 Géré par le système de fichiers en fonction de l’utilisateur pour le
compte duquel s’exécute le logiciel qui veut faire un accès au
fichiers/répertoires
 La liste des droits et la manière de les gérer dépend du système
 Les droits peuvent être attribués (par le propriétaire et par
l’administrateur) par utilisateur ou par groupe d’utilisateurs

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 58


III) Gestion de fichiers
Les systèmes de fichiers
 Windows
 FAT32
 NTFS
 Unix
 Ext3

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 59


III) Gestion des fichiers
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 60


IV) Gestion de la mémoire centrale
Adresses mémoire

 Un programme a une vue de la mémoire linéaire et relative au début


du programme
 Les adresses se suivent et commencent à zéro
 En mémoire physique le rangement des informations d’un applicatif
(code et données) est différent de la vue linéaire de l’applicatif

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 61


IV) Gestion de la mémoire centrale
Mémoire segmentée

 Le programme est découpé en segments de tailles inégales dont les


adresses vues du programme sont, pour chaque segment, relatives
au début du segment
 Il y a au moins deux segment (code et données)
 Chaque segment est implémenté en mémoire dans des adresses qui
se suivent au sein d’un segment
 Adresse physique = adresse relative dans le segment + adresse
physique du début du segment en mémoire

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 62


IV) Gestion de la mémoire centrale
Mémoire paginée
 Le programme est découpé en pages logiques de taille constante dont les adresses
vues du programme sont, pour chaque page, relatives au début de la page
 La mémoire physique est découpée en pages physiques de même taille que les
pages logiques vues du programme
 Chaque page logique est implémentée en mémoire dans une page physique. Du
coup l’adresse relative au sein d’une page est identique dans la page logique et la
page physique.
 Adresse physique = adresse relative dans la page + adresse physique du début de
la page en mémoire ou plus simplement il suffit de substituer le N° de page logique
par le N° de la page physique dans laquelle a été chargée la page logique
 Les pages physiques allouées à un même programme ne sont pas forcément
consécutives
 La correspondance entre le N° d’une page logique et le N° d’une page physique est
stockée dans une table système

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 63


IV) Gestion de la mémoire centrale
Mémoire segmentée et paginée
 Le programme est découpé en segmentts et chaque segment est découpé en pages logiques
consécutives de taille constante dont les adresses vues du programme sont pour chaque page
relatives au début de la page
 La mémoire physique est découpée en pages physiques de même taille que les pages logiques
vues du programme
 Chaque page est implémentée en mémoire dans des adresses qui se suivent au sein d’une
page
 Adresse physique = adresse relative dans la page + adresse physique du début de la page en
mémoire ou plus simplement il suffit de
 substituer le couple (N° de segment;N° de page logique) par le N°de la page physique qui accueille la
page logique
 Une page logique est en mémoire dans une page physique et les pages allouées à un même
programme ne sont pas forcément consécutives
 La correspondance entre le couple (N° de segment et N° de page logique) et le N°de la page
physique qui l’accueille utilise 2 tables système
 La table des segments du programme
 La table des pages par segment

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 64


IV) Gestion de la mémoire centrale
Principe de la Mémoire Virtuelle
 L’espace de toutes les pages d’un programme est dit virtuel et les
pages logiques s’appellent pages virtuelles
 En partant de la mémoire segmentée paginée, on décide que seules
certaines pages logiques/virtuelles sont en mémoire physique, les
autres pages étant stockées sur disque dans un espace « virtuel «
qui comprend toutes les pages dans l’état où elles étaient lors de
leur dernière venue en mémoire physique
 La recherche de la correspondance entre le couple (N° segment
et N° de page logique) et le N° de page physique peut ne pas
fournir de réponse : il y a « défaut de page » et la tâche est mise
à l’état bloqué tant que la page virtuelle n’a pas été chargée
dans une page en mémoire physique

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 65


IV) Gestion de la mémoire centrale
Mémoire Associative
 Mémoire de technologie spécifique permettant une recherche très
rapide
 La recherche dans une table associative s’effectue en UN cycle
mémoire car
 Chaque ligne de la table possède un comparateur entre la valeur
recherchée et la valeur présente dans la ligne
 La recherche s’effectue donc en parallèle sur toutes les lignes de la
table

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 66


IV) Gestion de la mémoire centrale
Gestion des pages en Mémoire Virtuelle
 Quand il y a défaut de page, il faut
 Attribuer/Allouer une page physique à la page virtuelle en choisissant
éventuellement la page qui doit quitter la mémoire physique (algorithme LRU least
recently uused)
 Eventuellement sauver en espace virtuel la page physique si elle n’était pas libre et a
été modifiée
 Charger la page virtuelle en mémoire physique
 La correspondance entre le couple (N° de segment et N° de page logique) et le N°de
la page physique qui accueille la page logique est dans une table système, dans une
mémoire très rapide et très spéciale : une mémoire associative
 Il y a deux tables de correspondance
 Correspondances (segment + page virtuelle)  adresse disque en espace virtuel
Cette table de correspondance est implémentée en mémoire centrale classique
 Correspondances (segment + page virtuelle)  page physique
Cette table de correspondance est implémentée en mémoire associative

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 67


IV) Gestion de la mémoire centrale
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 68


V) Machines virtuelles
Principe
 Objectifs
 utiliser un système d’exploitation « indépendant » de la machine physique
d’accueil
 déplacer facilement les partitions d’un OS d’une machine physique à une
autre
 exécuter simultanément plusieurs systèmes sur la même machine
physique
 Le système virtualisé croit avoir une machine physique pour lui tout seul
 Il y a donc un super-système qui
 Crée et gère l’environnement virtuel de chaque système virtualisé
 Gère l’exécution des systèmes des machines virtuelles
 Fait l’interface entre la machine virtuelle et la machine physique
 Plusieurs implémentations possibles

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 69


V) Machines virtuelles
Implémentation des VM
 L’implémentation dépend de la nature du super-système de gestion des machines virtuelles
 Le super-système peut ne servir qu’à gérer les machines virtuelles
 Le super-système peut être un système classique (système hôte) qui utilise un logiciel de gestion des
machines virtuelles
 Logiciel intégré au système hôte (Hyper V sous Windows Server)
 Logiciel d’un éditeur indépendant (VMWare ou VirtualBox sous Windows7/8/10; Unix ; Mac OS )
 La machine virtuelle boote dans un environnement virtuel qui est spécifié dans un « faux » bios
et fait croire au système virtualisé qu’il boote sur une machine physique
 Une machine virtuelle est vue du système hôte comme un fichier qui est une image du disque
virtuel sur lequel la machine virtuelle boote comme s’il était un disque physique
 Tous les accès de la machine virtuelle aux périphériques physiques s’effectuent via des pilotes
virtuels gérés par le super système de la machine hôte qui convertissent les E/S virtuelles du
système virtualisé en E/S physiques
 Possibilité de faire dans ma machine virtuelle un « montage » d’un répertoire de la machine
hôte pour rendre son contenu accessible en lecture ou lecture/Ecriture dans la VM
 Possibilité d’activer un presse papier partagé entre la VM et la machine Hôte

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 70


V) Machines virtuelles
Avantages / inconvénients / limites
 Avantages
 Souplesse d’utilisation
 Portabilité des OS virtualisés
 Inconvénients
 Le super système (nommé hyperviseur dans certaines implémentations)
consomme des ressources (Mémoire centrale , Temps UC …)
 Le passage des E/S virtuelles aux E/S physiques peut considérablement ralentir
les E/S virtuelles donc le système virtualisé et les applications qu’il exécute
 Limites
 Les ressources physiques de la machine physique doivent supporter la somme
des charges des systèmes virtuels actifs et du système hôte
 Difficulté si le processeur physique est différent du processeur pour lequel le
système virtualisé a été initialement installé

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 71


V) Machines virtuelles
Exemple VirtualBox

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 72


V) Machines virtuelles
Exécution d’un Linux dans une VM VirtualBox

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 73


V) Machines virtuelles
Exécution d’un Windows7 dans une VM VirtualBox

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 74


V) Machines virtuelles
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 75


VI) Architecture des Applications
Cloud Computing
 Objectif
 Déplacer les traitements informatiques sur systèmes distants
 La machine initiale devient un client de la machine serveur qui
exécute l’applicatif

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 76


VI) Architecture des Applications
Architecture Supervision et performances applicatives

 Surveillance des charges des différentes machines mises en


œuvre
 Ponctuellement dans chaque machine
 De manière centralisée par des outils de supervision système et/ou
applicative
 Il existe des outils qui permettent de simuler la charge de
plusieurs milliers d’utilisateurs pour procéder à des tests de
charge

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 77


VI) Architecture des Applications
Architecture Supervision et performances applicatives

 Surveillance ponctuelle de la charge dans une machine par le


gestionnaire de tâche de windows

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 78


VI) Architecture des Applications
Architecture Supervision et performances applicatives

 Surveillance des charges par un outil de tests de charge

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 79


VI) Architecture des Applications
Architecture Supervision et performances applicatives

 Surveillance des charges par un outil de tests de charge

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 80


VI) Architecture des Applications
Architecture et performances applicatives

 Surveillance des charges par un outil de tests de charge

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 81


VI) Architecture des Applications
Architecture Supervision et performances applicatives

 Surveillance des charges par un outil de tests de charge

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 82


VI) Architecture des Applications
Les ERP et la supervision des applications
 ERP (Enterprise Ressource Planning)
En français PGI (Progiciel de gestion intégrée)
 Colonne vertébrale de l’entreprise qui permet de gérer les processus opérationnels
d’une entreprise
 Gestion de commandes
 Gestion des stocks
 Gestion de la comptabilité
 Gestion de la paie
 Solutions de e-commerce
 Gestion (automatisée ou non) de la production
 Modules indépendants pour chaque grande fonction mais stockage centralisé dans
une base de données unique et commune
 Permet d’éviter les saisies/conversions multiples de données
 Tableaux de bord de synthèse et de détail des fonctions

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 83


VI) Architecture des Applications
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 84


VII) Sécurité des applications
Présentation
 Intégrité et cohérence des données (notion de transaction
applicative)
 Sauvegardes
 Pannes machines
 Cryptage/Chiffrement
 Attaques
 Architectures sécurisées
 Clefs symétriques et asymétriques
 Architectures PKI

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 85


VII) Sécurité des applications
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 86


VII) Sécurité des applications
Synthèse
 Echange de vue avec les participants
 Questions / Réponses complémentaires
 Points Retenus / Points à Retenir

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 87


VIII) Bibliographie
Présentation
 Architecture des machines et des systèmes informatiques
Cazes / Delacroix Dunod 2015 530 Pages
 Faculté des sciences de Tunis Section IF3 Systèmes d’exploitation
Y Slimani 571 Slides
 Architectures PKI et communications sécurisées
Dumas/Lafourcade/Redon Dunod 2015 380 Pages

Copyright C.Deblangy V1-J Introduction aux Systèmes d’Exploitation 88

You might also like