ATELIER
SYSTÈME D’EXPLOITATION
- GÉNÉRALITÉS-
Rania MZID KEBEILI
(2015 - 2016)
DÉFINITIONS
INFORMATIQUE
Le mot informatique a été crée par Philippe Dreyfus en 1962 à partir
de deux mots : information – automatique.
C’est le traitement automatique des informations sur ordinateur:
Traitement : opérations effectuées sur les données.
Information : est une donnée collectée susceptible d’être codée, traitée
ou communiquée. Elle est caractérisée par : la précision, la pertinence,
l’intégralité.
Automatique : qui se produit sans intervention humaine
Ordinateur : dispositif électronique programmable de traitement de
l’information
28/10/2015 Cours Atelier Système d’exploitation 2
DÉFINITIONS
SYSTÈME INFORMATIQUE
Un système informatique se compose généralement du: matériel
et logiciel
Le matériel (hardware) : l’unité centrale (UC), la mémoire , les bus
de communication et les périphériques d’entrée/sortie, fournit les
ressources informatiques de bases : la machine physique
Le logiciel (software) : les programmes exécutés sur un ordinateur
et qui sont classés selon leur fonction sous deux rubriques :
• logiciel d’application : comme les systèmes de base de données, les
jeux, les programmes caractérisent le solutions offertes aux
utilisateurs afin de réaliser les tâches voulues
28/10/2015 Cours Atelier Système d’exploitation 3
DÉFINITIONS
SYSTÈME INFORMATIQUE
• Logiciel de base : a l’intérieur d’un logiciel de base, on distingue
habituellement deux niveaux :
– Outils et services : tels que les compilateurs, interpréteurs
– Système d’exploitation : qui contrôle et coordonne l’utilisation du
matériel afin de réaliser les tâches applicatives
28/10/2015 Cours Atelier Système d’exploitation 4
DÉFINITIONS
SYSTÈME INFORMATIQUE: ARCHITECTURE EN COUCHES
Navigateur Système de Système
Logiciel
web réservation bancaire
d’application
Le logiciel Compilateurs Interpréteurs
Logiciel de
base
Système d’exploitation
Le matériel
28/10/2015 Cours Atelier Système d’exploitation
5
DÉFINITIONS
INTERPRÉTEUR
Les instructions sont lues les unes après les autres et sont convertis
immédiatement en langage machine par l’interpréteur qui les fait
exécuter au fur et à mesure (en une seule étape)
Exemples d’interpréteurs
Command, l’interpréteur des systèmes compatibles MS-DoS. Cet
interpréteur se lance avec l’utilitaire [Link].
PowerShell, interpréteur de commande fourni par Microsoft , intégré à
partir de Windows 7 (Rq: proposé comme mise à jour pour XP et vista)
Shell (sh) : interpréteur sous Unix
28/10/2015 Cours Atelier Système d’exploitation 6
DÉFINITIONS
COMPILATEUR
Il génère à partir d’un programme source, un programme objet
équivalent au programme source mais codé en langage Machine
(exécutable), qui peut être exécuté rapidement, en une deuxième
étape, autant de fois que nécessaire
Exemples de compilateur : compilateur C (gcc) , compilateur java
(javac), etc.
28/10/2015 Cours Atelier Système d’exploitation 7
CODAGE D’INFORMATION
CHANGEMENT DE BASE
Différentes représentation (selon la base) d’une même donnée
Habitude de travailler en base 10 (système décimal): 10 symboles
distincts, qui sont les chiffres
En base b, on utilise b chiffres
Un nombre α en base b se note :
28/10/2015 Cours Atelier Système d’exploitation 8
CODAGE D’INFORMATION
PASSAGE D’UNE BASE QUELCONQUE EN DÉCIMAL
Exemple : donner les représentations en décimal des nombres 1010 (binaire) et 3E8
(hexadécimal)
28/10/2015 Cours Atelier Système d’exploitation 9
CODAGE D’INFORMATION
PASSAGE DU DÉCIMAL À UNE BASE QUELCONQUE
Exemple : Donner la représentation du nombre 46 dans la base 2 et la
base 16
28/10/2015 Cours Atelier Système d’exploitation 10
CODAGE D’INFORMATION
LE CODE ASCII
Codage adopté comme standard dans les années 60 permettant de
représenter les caractères sur 8 bits, soit 256 caractères possibles
ASCII : « American Standard Code for Information Interchange »
Grossièrement :
Les codes 0 à 31 sont des caractères de contrôle ; ils permettent de faire des
actions t.q. le retour à la ligne
Les codes 65 à 90 représentent les majuscules
Les codes 97 à 122 représentent les minuscules (il suffit d’ajouter 32 au code
ASCII en base décimale)
28/10/2015 Cours Atelier Système d’exploitation 11
DÉFINITIONS
SYSTÈME INFORMATIQUE: ARCHITECTURE EN COUCHES
Navigateur Système de Système
Logiciel
web réservation bancaire
d’application
Le logiciel Compilateurs Interpréteurs
Logiciel de
base
Système d’exploitation
Le matériel
28/10/2015 Cours Atelier Système d’exploitation
12
LE MATÉRIEL
Interaction
Périphériques d’entrée/sortie
Carte mère
Communication
(bus)
Stockage Traitement
(mémoires) (processeur)
28/10/2015 Cours Atelier Système d’exploitation 13
LE MATÉRIEL : LE PROCESSEUR
A PROPOS…
CPU = Central Processing Unit soit Unité Centrale de Traitement
Cerveau de l’ordinateur cadencé au rythme d’une horloge interne
(fréquence F)
Une action à chaque cycle d’horloge = une instruction ou une partie
d’instruction
CPI (Cycles Par Instruction): représente le nombre moyen de cycles
d’horloge nécessaire à l’exécution d’une instruction
La puissance du processeur = nombre d’instructions traitées par
seconde exprimé en MIPS (Millions d’Instructions Par Seconde)
La puissance du processeur = F / CPI (MIPS)
28/10/2015 Cours Atelier Système d’exploitation 14
LE MATÉRIEL : LE PROCESSEUR
ORGANISATION DU CPU
Supports d’information:
codes d’instruction, données, adresses
=========================================
Unité arithmétique et logique:
opérations arithmétique +, - , / …
opérations logiques AND, OR, XOR, …
=========================================
Décodage d’instructions
Supervision temporelle du processing
28/10/2015 Cours Atelier Système d’exploitation 15
LE MATÉRIEL : LE PROCESSEUR
REGISTRES
MDR :Memory Data register (Rx)
MAR :Memory address register (PC, SP, LR)
State Register (PSR): indique le status des
opérations ALU (/ 0, dépassement de capacité,
>, <, = 0, …)
Instruction Register (IR): contient le code de
l’opération exécutée
Program counter (PC): contient l’@ de
l’instruction suivante
Link Register (LR): contient l’@ de l’instruction
juste avant le changement de contexte
28/10/2015 Cours Atelier Système d’exploitation 16
LE MATÉRIEL : LE PROCESSEUR
ALU
Opérations arithmétiques
Addition / Soustraction / Division / Multiplucation /
Comparaison / …
Opérations logiques
NOT / AND / OR / XOR / …
Certaines ALU (super ordinateurs)
Inverse
Racine carrée
Logarithme
Fonctions trigonométriques (sin, cos)
Calcul vectoriel
28/10/2015 Cours Atelier Système d’exploitation 17
LE MATÉRIEL : LE PROCESSEUR
UNITÉ DE CONTRÔLE
Fonction: Superviser les opérations CPU
Etapes d’exécution d’une instruction
Extraction du code de l’instruction depuis la mémoire et transfert vers
le décodeur d’instructions
Décodage et décomposition des instructions en opérations
élémentaires (µ-Instruction)
Exécution séquentielle des µ-Instruction
Passage à l’instruction suivante
28/10/2015 Cours Atelier Système d’exploitation 18
LE MATÉRIEL
Interaction
Périphériques d’entrée/sortie
Carte mère
Communication
(bus)
Stockage Traitement
(mémoires) (processeur)
28/10/2015 Cours Atelier Système d’exploitation 19
LE MATÉRIEL : LA MÉMOIRE
A PROPOS…
Une mémoire est un dispositif capable d’enregistrer, conserver et
restituer des informations (codées en binaire).
On peut caractériser une mémoire par le temps d’accès , sa capacité,
son coût, etc.
Temps d’accès : le temps qui s’écoule entre le lancement de l’opération (L ou E)
vers la mémoire et son accomplissement
Unités de capacité :
• Le bit (pas de notation)
L’octet = 2^3 bits = 8 bits. (noté 1 o)
Le Kilo-octet = 2^10 octets =1024 (noté 1 Ko)
Le Méga-octet = 2^20 octets =(1024)^2 o (noté 1 Mo)
Le Giga-octet = 2^30 octets =(1024)^3 o (noté 1 Go)
Le Téra-octet = 2^40 octets =(1024)^4 o (noté 1 To)
28/10/2015 Cours Atelier Système d’exploitation 20
LE MATÉRIEL : LA MÉMOIRE
LES TYPES DE MÉMOIRES
Les mémoires auxiliaires (mémoires de masses): ce sont des mémoires de grande
capacités et de coûts relativement faible. Elles servent d’éléments de stockage
permanent
La mémoire centrale (MC): c’est l’organe principal de rangement des informations
utilisées par le CPU. Afin d’exécuter un programme, il faut qu’il se charge dans la MC
(instruction + données). Son temps d’accès est supérieur à celui des registres et des
caches. (mémoire volatile)
La mémoire cache : c’est une mémoire rapide de faible capacité (par rapport à la
mémoire centrale) utilisée comme tampon entre le CPU et la MC. Cette
mémoire permet un gain de temps puisqu’elle permet au CPU de faire moins d’accès
à la MC.
Les registres : sont caractérisés par une grande vitesse et servent essentiellement au
stockage des opérandes et aux résultats intermédiaires.
28/10/2015 Cours Atelier Système d’exploitation 21
LE MATÉRIEL : LA MÉMOIRE
LA MÉMOIRE CENTRALE (MAIN MEMORY)
Formée par un ensemble de mots mémoire, à chaque case ou mot
mémoire est associée:
un numéro nommé adresse permettant de la distinguer des autres cases;
Un contenu (instruction /donnée sous forme binaire),
Les informations contenues dans la MC sont de deux types :
Les instructions dictant le traitement des tâches sous forme de commandes
élémentaires à CPU
Les opérandes qui sont les données sur lesquelles sont effectués le traitement
dicté par les instructions.
Le CPU est relié à la Mémoire centrale: toutes les instructions à exécuter sont
stockées dans la MC.
28/10/2015 Cours Atelier Système d’exploitation 22
LE MATÉRIEL : LA MÉMOIRE
LA MÉMOIRE CENTRALE (MAIN MEMORY)
La capacité d’une mémoire s’exprime en fonction du nombre de mots
mémoire ainsi que du nombre de bits par mot.
La taille d’un mot-mémoire (langueur du mot)
Le nombre de bits élémentaires regroupés sous une même adresse et formant
le mot
Le cycle mémoire (langueur du cycle)
C’est le temps qui s’écoule entre le stockage de l’adresse du mot à sélectionner
et l’obtention de la donnée
Le débit binaire (d’une mémoire) : Il permet de mesurer le nombre de bits
transférés par unité de temps:
28/10/2015 Cours Atelier Système d’exploitation 23
LE MATÉRIEL
Interaction
Périphériques d’entrée/sortie
Carte mère
Communication
(bus)
Stockage Traitement
(mémoires) (processeur)
28/10/2015 Cours Atelier Système d’exploitation 24
LE MATÉRIEL : LES BUS
A PROPOS…
Un bus est un chemin physique entre un émetteur et un récepteur
Un bus se compose de fils parallèles permettant de transporter des
bits en parallèle
Le nombre de bits pouvant être transmis parallèlement est appelé
largeur de bande de la ligne
Des données codées sur 8 bits ne peuvent être transmises que sur une
ligne dont la largeur de bande est 8.
28/10/2015 Cours Atelier Système d’exploitation 25
LE MATÉRIEL : LES BUS
LES TYPES DE BUS
Les bus d’adresse
Unidirectionnel
Permet d’identifier un emplacement en mémoire
Si la largeur de bande des bus d’adresse est N, on peut coder 2^N valeurs possibles.
Ainsi, les adresses mémoire varient de 0 (2^N) -1
La capacité mémoire maximum accessible par le processeur
Les bus de données
Bidirectionnel
Transfert des données
de et vers le CPU (aussi I/o interfaces)
Les bus de contrôle
Transport des commandes de contrôle (read , write, demande accès bus, etc)
28/10/2015 Cours Atelier Système d’exploitation 26
LE MATÉRIEL
Interaction
Périphériques d’entrée/sortie
Carte mère
Communication
(bus)
Stockage Traitement
(mémoires) (processeur)
28/10/2015 Cours Atelier Système d’exploitation 27
DÉFINITIONS
SYSTÈME INFORMATIQUE: ARCHITECTURE EN COUCHES
Navigateur Système de Système
Logiciel
web réservation bancaire
d’application
Le logiciel Compilateurs Interpréteurs
Logiciel de
base
Système d’exploitation (noyau)
Le matériel
28/10/2015 Cours Atelier Système d’exploitation
28
LES SYSTÈMES D’EXPLOITATION
DÉFINITIONS
Système
Ensemble de composants qui interagissent;
Exemples: système d’exploitation , système de communication : gérer
l’échange d’information entre les éléments
Propriétés des systèmes
Les systèmes cachent la complexité du matériel et des communications,
Ils fournissent des services communs de plus haut niveau d’abstraction
Le système d’exploitation (noté SE ou OS, abréviation du terme
anglais Operating System), est une couche logicielle chargée d’assurer
la liaison entre les ressources matérielles, l’utilisateur et les
applications
28/10/2015 Cours Atelier Système d’exploitation 29
LES SYSTÈMES D’EXPLOITATION
DÉFINITIONS
La double fonction d’un SE : Un SE
permet de répondre à deux besoins:
Gestion les ressources : Enrober le
matériel avec une couche de logiciel qui
gère l'ensemble du système.
Adaptation d’interface : Présenter au
programmeur une API (Application
Programming interface) pour la création
des programmes applicatives, et fournir à
l’utilisateur une interface homme-
machine (IHM) plus simple à utiliser
28/10/2015 Cours Atelier Système d’exploitation 30
LES SYSTÈMES D’EXPLOITATION
DÉFINITIONS
Adaptation d’interface : définir, sur architecture matérielle donnée,
une machine virtuelle plus facile à programmer cacher les détails
de mise en œuvre du matériel
Offrir une vue simple de fichiers nommés qui peuvent être lus et
écrits.
Dissimuler les limitations physiques (taille mémoire) et le partage
des ressources entre plusieurs utilisateurs.
Masquer beaucoup d’aspects fastidieux en ce qui concerne les
interruptions, les horloges, la gestion de la mémoire et les autres
tâches de bas niveau
28/10/2015 Cours Atelier Système d’exploitation 31
LES SYSTÈMES D’EXPLOITATION
DÉFINITIONS
Gestion des ressources : le SE doit assurer deux tâches essentielles :
Le partage des ressources
La protection de l’accès aux ressources
Pour chacune des ressources d’un ordinateur, le système d’exploitation
doit :
connaître à tout moment l’utilisateur de la ressource
en accorder l’usage de manière équitable
éviter les conflits d’accès entre les différents programmes ou utilisateurs
28/10/2015 Cours Atelier Système d’exploitation 32
LES SYSTÈMES D’EXPLOITATION
DÉFINITIONS
Deux critères de bonne gestion
Efficacité : le processeur ne doit pas être inactif pendant une attente d
’E/S
Partage sécurisé et équitable
Séparation stricte entre utilisateurs (Ne pas détruire les données des autres)
Partage équitable de ressources (CPU, mémoire, disque) entre utilisateurs.
28/10/2015 Cours Atelier Système d’exploitation 33
LES SYSTÈMES D’EXPLOITATION
LES TYPES DES SE
Les systèmes personnels
Leur rôle est de fournir à l’utilisateur une interface conviviale. Ils sont
principalement dédiés à l’utilisation d’outils bureautique. Ex:
Windows(XP, VISTA 7, 8), MacOS, Linux.
Les systèmes d’exploitation « serveurs »
Ils fonctionnent sur des machines serveurs qui sont soit de gros micro-
ordinateurs, soit des stations de travail
Ils servent en parallèle de nombreux utilisateurs à travers le réseau et
permettent de partager des ressources matérielles et logicielles
Exemple: Windows Server (un système d’exploitation orienté serveur de
Microsoft)
28/10/2015 Cours Atelier Système d’exploitation 34
LES SYSTÈMES D’EXPLOITATION
LES TYPES DES SE
Les systèmes Multiprocesseurs
Le multi-processing est une technique consistant à faire fonctionner
plusieurs processeurs en parallèle
Un SE Multiprocesseur permet :
d'obtenir une puissance de calcul plus importante que celle obtenue avec un
processeur haut de gamme
d'augmenter la disponibilité du système (en cas de panne d'un processeur).
Basé sur une architecture matérielle à mémoire partagée
Il doit donc être capable de gérer le partage de la mémoire entre plusieurs
processeurs mais également de distribuer la charge de travail.
28/10/2015 Cours Atelier Système d’exploitation 35
LES SYSTÈMES D’EXPLOITATION
LES TYPES DES SE
Les systèmes embarqués
Ce sont des systèmes d'exploitation prévus pour fonctionner sur des
machines de petite taille (appelé systèmes embarqués) , qui d’ordinaire
indépendant d’un ordinateur, comme télévision, téléphone portable, etc.
Une caractéristique essentielle des systèmes embarqués est leur gestion
avancée de l'énergie et leur capacité à fonctionner avec des ressources
limitées.
Remarque: Même la taille du SE doit être réduit
Exemples : Android, windows mobile, iOS, etc.
28/10/2015 Cours Atelier Système d’exploitation 36
LES SYSTÈMES D’EXPLOITATION
LES TYPES DES SE
Les systèmes temps réel
Les systèmes temps réel (real time systems), essentiellement utilisés
dans l'industrie, sont des systèmes dont l'objectif est de fonctionner
dans un environnement contraint temporellement.
Un système temps réel doit ainsi fonctionner de manière fiable selon
des contraintes temporelles spécifiques, c'est-à-dire qu'il doit être
capable de délivrer un traitement correct des informations reçues à des
intervalles de temps bien définis (appelées échéance ou deadline en
anglais) .
Exemples : RTLinux (Real-Time Linux), VxWorks, FreeRTOS, etc.
28/10/2015 Cours Atelier Système d’exploitation 37
LES SYSTÈMES D’EXPLOITATION
CARACTÉRISTIQUES D’UN SE
Les interfaces
Interface caractère (ligne de commande): mode texte
L’interface graphique (GUI pour Graphical User Interface) : mode
graphique
Le nombre d’utilisateurs
Les systèmes mono utilisateurs , Exemples : MS-DOS, Windows NT
Les systèmes d’exploitation multi utilisateurs, Exemples: UNIX,
Windows à partir de la version 2000
Peuvent supporter plusieurs sessions en même temps.
28/10/2015 Cours Atelier Système d’exploitation 38
LES SYSTÈMES D’EXPLOITATION
CARACTÉRISTIQUES D’UN SE
Le nombre de bits des instructions des programmes qui sont
développés pour fonctionner avec un tel système:
Les applications 16 bits, Les applications 32 bits, Les applications 64 bits
Le nombre d’applications qui tournent en simultané:
Les systèmes mono tâche, Exemple : MS-DOS
Il ne gère qu'une seule tâche à la fois (un seul programme). Quand le
programme est lancé, il utilise seul les ressources de la machine et ne rend la
main au système d'exploitation qu'en fin d'exécution, ou en cas d'erreur
Les systèmes multitâches qui peuvent exécuter plusieurs applications en
même temps, Exemples : OS/2 d’IBM, Windows 95, etc.
28/10/2015 Cours Atelier Système d’exploitation 39
LES SYSTÈMES D’EXPLOITATION
CARACTÉRISTIQUES D’UN SE
28/10/2015 Cours Atelier Système d’exploitation 40
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTITÂCHES
La plupart des systèmes d'exploitation modernes permettent
l'exécution de plusieurs tâches à la fois
Un ordinateur peut, pendant qu'il exécute le programme d'un
utilisateur, lire les données d'un disque ou afficher des résultats sur un
terminal ou une imprimante.
On parle des systèmes d’exploitation multitâches ou
multiprogrammés
28/10/2015 Cours Atelier Système d’exploitation 41
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTITÂCHES
PROCESSUS
La notion fondamentale des systèmes d'exploitation multitâches est celle
de processus
Un processus est un programme qui s'exécute
Un processus est dynamique par opposition à un programme qui lui est
statique.
Exemple illustratif : Différence entre processus et programme
Imaginez un informaticien qui prépare un gâteau d’anniversaire pour sa fille.
Recette : programme
Informaticien : processeur
Ingrédients : données
Activité cuisine = Processus
28/10/2015 Cours Atelier Système d’exploitation 42
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTITÂCHES
PROCESSUS
Supposez maintenant que le fils de l'informaticien arrive en pleurant parce qu'il
a été piqué par une abeille.
Le processeur “ informaticien ” basculera du processus “ Activité cuisine ” à un
processus plus prioritaire “ 1er soins ‘’
L'idée clé est qu'un processus est une activité d'un certain type qui
possède :
un programme (recette, livre de premier soin),
des données (ingrédients, trousse de soin)
ainsi qu'un état courant (un point précis dans la recette).
28/10/2015 Cours Atelier Système d’exploitation 43
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTITÂCHES
PROCESSUS
Les principaux états d’un processus
Un processus peut être élu (actif), prêt
ou bloqué
A un instant donné un seul processus peut
être actif (Elu) (pour une architecture
monoprocesseur)
Les autres processus pourront être :
soit en attente d’exécution (PRET)
soit bloqué en attente de ressources (BLOQUÉ)
28/10/2015 Cours Atelier Système d’exploitation 44
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTITÂCHES
TEMPS PARTAGÉ OU PSEUDO-PARALLÉLISME
Le processeur à un instant donné ne peut exécuter réellement qu’un seul
programme (sauf multicoeurs/multiprocesseurs !).
Un système d’exploitation doit en général traiter plusieurs tâches en même
temps (multi tâches).
Il résout ce problème en passant d’un programme à un autre en exécutant
chaque programme pendant quelques dizaines ou centaines de
millisecondes (quantum de temps)
Ceci donne aux utilisateurs l'impression que tous les programmes sont
exécutés en même temps
28/10/2015 Cours Atelier Système d’exploitation 45
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTIUTILISATEURS
Un système multiutilisateurs est capable d'exécuter de façon (pseudo-)
concurrente et indépendante des applications appartenant à plusieurs
utilisateurs
Concurrente signifie que les applications peuvent être actives au même
moment et se disputer l'accès à différentes ressources comme le processeur,
la mémoire, les disques durs...
Indépendante signifie que chaque application peut réaliser son travail sans se
préoccuper de ce que font les applications des autres utilisateurs.
Un système multiutilisateurs est nécessairement multitâches mais la
réciproque est fausse :
les systèmes MacOS 6.1 et Windows 3.1 sont mono-utilisateur mais
multitâches.
28/10/2015 Cours Atelier Système d’exploitation 46
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTIUTILISATEURS
Comme pour les systèmes multitâches, la multi-utilisation est
émulée en attribuant des laps de temps à chaque utilisateur.
Naturellement, le fait de basculer d'une application à l'autre ralentit
chacune d'entre elles et affecte le temps de réponse perçu par
les utilisateurs.
Lorsqu'ils permettent la multi-utilisation, les systèmes d'exploitation
doivent prévoir un certain nombre de mécanismes :
Un mécanisme d'authentification permettant de vérifier l'identité
de l'utilisateur ;
28/10/2015 Cours Atelier Système d’exploitation 47
LES SYSTÈMES D’EXPLOITATION
SYSTÈMES MULTIUTILISATEURS
Un mécanisme de protection contre les programmes utilisateur
erronés, qui pourraient bloquer les autres applications en cours
d'exécution sur le système
Un mécanisme de comptabilité pour limiter le volume des
ressources allouées a chaque utilisateur.
28/10/2015 Cours Atelier Système d’exploitation 48
LES SYSTÈMES D’EXPLOITATION
LES FONCTIONS D’UN SYSTÈME D’EXPLOITATION
28/10/2015 Cours Atelier Système d’exploitation 49
LES SYSTÈMES D’EXPLOITATION
GESTION DU PROCESSEUR
Plusieurs processus peuvent être présents en mémoire centrale en
attente d’exécution
Si plusieurs processus sont prêts, le système d’exploitation doit gérer
l’allocation du processeur aux différents processus à exécuter.
C’est l’ordonnanceur qui ‘occupe de cette tâche.
L’ordonnanceur d’un système d’exploitation n’a de sens qu’en système
multitâche.
L’ordonnanceur est le cœur d’un système d’exploitation multitâche
28/10/2015 Cours Atelier Système d’exploitation 50
LES SYSTÈMES D’EXPLOITATION
ORDONNANCEUR
Il gère l’ordre dans lequel les
instructions de différentes tâches
sont exécutée
Cet ordre dépend de la politique
d’ordonnancement (il existe plusieurs
politique comme RR (Round Robin), RM
Rate Monolithic, etc)
L’ordonnanceur est responsable de la
sauvegarde et de la restauration du
contexte des tâches, appelée également
commutation de contexte.
28/10/2015 Cours Atelier Système d’exploitation 51
LES SYSTÈMES D’EXPLOITATION
COMMUTATION DE CONTEXTE
Une commutation de contexte (context switch) consiste à
sauvegarder le contexte d'un processus pour restaurer à sa place celui
d'un autre
Le contexte du processus contient tous les éléments nécessaires au
système d’exploitation pour l’exécution d’un processus à un instant
donné
l’état des registres, l’état des fichiers ouverts, le contenu de la mémoire
principale ( le segment de code, le segment de données, la pile) , etc.
Cet ensemble de données doit permettre au système de reprendre l’exécution
d’un processus qui a été interrompu.
28/10/2015 Cours Atelier Système d’exploitation 52
LES SYSTÈMES D’EXPLOITATION
COMMUTATION DE CONTEXTE
La commutation de contexte invoque au moins trois étapes. Par exemple,
en présumant que l'on veut commuter l'utilisation du processeur par le
processus P1 vers le processus P2 :
Sauvegarder le contexte du processus P1 quelque part en mémoire
Retrouver le contexte de P2 en mémoire
Restaurer le contexte de P2 dans le processeur, la dernière étape de la
restauration consistant a reprendre l'exécution de P2 a son point de
dernière exécution.
28/10/2015 Cours Atelier Système d’exploitation 53
LES SYSTÈMES D’EXPLOITATION
COMMUTATION DE CONTEXTE
28/10/2015 Cours Atelier Système d’exploitation 54
LES SYSTÈMES D’EXPLOITATION
ORDONNANCEUR
Dans un système multiprocesseur, l’algorithme d’ordonnancement
détermine quelle tâche doit s’exécuter en priorité et sur quel
processeur
L’ordonnancement peut être de type coopératif
les tâches doivent être écrites de manière a coopérer les unes avec les autres et
ainsi accepter leur suspension pour l’exécution d’une autre tâche.
L’ordonnancement peut être également de type préemptif
L’ordonnanceur a la responsabilité de l’interruption des tâches et du choix de
la prochaine à exécuter.
28/10/2015 Cours Atelier Système d’exploitation 55
LES SYSTÈMES D’EXPLOITATION
GESTION DES PROCESSUS SOUS WINDOWS
Gestionnaire des tâches : CTRL+ALT+ SUPPR
Nom du processus, description, le processeur qu’il l’exécute, consommation
mémoire et le nom de l’utilisateur
Ligne de commande : les commandes TASKLIST, TASKKILL
La commande TASKLIST fournit la liste des processus, en plus le PID de chaque
processus
TASKLIST /? : spécifie les options relatives à cette commande
La commande TASKLIST accepte une liste des paramètres , par exemple :
• TASKLIST /S system : permet d’afficher la liste des processus d’une machine distante
connectée au même réseau (system est @ IP de la machine ou nom de la machine)
• TASKLIST /FO format : le format d’affichage des détails processus (TABLE, LIST, CVS)
28/10/2015 Cours Atelier Système d’exploitation 56
LES SYSTÈMES D’EXPLOITATION
GESTION DES PROCESSUS SOUS WINDOWS
• TASKLIST /v : affiche les informations des tâches détaillées
Exemple: La quantité totale de temps processeur utilisé par le processus depuis son
démarrage + état du processus (running, Not Responding, ou Unknown)
• TASKLIST /FI critère : affiche l’ensemble des processus qui correspond au critère
spécifié par le filtre
La commande TASKKILL permet d'arrêter un ou plusieurs processus
• TASKKILL /IM [Link] : permet d’arrêter le processus en spécifiant son
nom
• TASKKILL /FI critère : arrêter l’ensemble des processus qui correspond au critère
spécifié par le filtre
• Remarque : la combinaison des paramètres est possible
28/10/2015 Cours Atelier Système d’exploitation 57
LES SYSTÈMES D’EXPLOITATION
GESTION DES PROCESSUS SOUS WINDOWS
Opérateurs de comparaison pour les filtres
28/10/2015 Cours Atelier Système d’exploitation 58
LES SYSTÈMES D’EXPLOITATION
GESTION DES PROCESSUS SOUS WINDOWS
Opérateurs des filtres et valeurs autorisées
28/10/2015 Cours Atelier Système d’exploitation 59
LES SYSTÈMES D’EXPLOITATION
GESTION DES PROCESSUS SOUS WINDOWS
Exemples
Afficher sous forme de liste détaillée des processus qui ne répondent pas
Afficher sous forme de table, la liste des processus qui consomment trop de
mémoire (par exemple, plus que 40 MO)
« [Link] » est processus générique utilisé par Windows pour exécuter
différents services. Plusieurs occurrences de ce processus sont possibles, écrire
la commande qui permet de les afficher. Interprétez !!
Afficher en plus les services exécutés par chaque occurrence de ce processus
(utiliser l’option svc)
Arrêter les processus qui consomment 80 M0 de mémoire et plus
28/10/2015 Cours Atelier Système d’exploitation 60
LES SYSTÈMES D’EXPLOITATION
GESTION DE LA MÉMOIRE
La tâche la plus basique d’un gestionnaire de mémoire dans un SE est
d’allouer de la mémoire à des processus lorsqu’ils en ont besoin.
Cette mémoire allouée est par défaut propre au processus qui en fait la
demande.
Si un processus tente d’utiliser des zones de mémoire ne lui appartenant
pas, il est évincé automatiquement.
Ce mécanisme d’éviction repose sur un mécanisme du processeur, appelé
une unité de gestion de la mémoire (ou MMU) qui signale au noyau
l’existence d’un accès fautif.
C’est le noyau lui-même qui prend la décision de suspendre ou détruire
immédiatement le processus fautif.
28/10/2015 Cours Atelier Système d’exploitation 61
LES SYSTÈMES D’EXPLOITATION
GESTION DE LA MÉMOIRE
Sur les noyaux récents, le gestionnaire
de mémoire masque la localisation
physique de la mémoire et présente
au programme une mémoire globale
uniforme dite virtuelle
Ainsi, tout processus croit manipuler
une mémoire "logique"
peut être étendue jusqu’aux capacités
théoriques de la machine
est privée (protégée), un processus ne
peut pas accéder à la mémoire d’un
autre processus (sauf allocations et
autorisations spécifiques)
28/10/2015 Cours Atelier Système d’exploitation 62
LES SYSTÈMES D’EXPLOITATION
GESTION DE LA CONCURRENCE
Afin de s’exécuter, un processus peut être dépendent ( ou peut faire
appel) d’un autre processus. Cette dépendance peut se traduire par :
Un partage de données
Un échange d’information
Un SE doit fournir des mécanismes de gestion de concurrence (ou
dépendance)
Des mécanismes de synchronisation : assurer un accès sécurisé aux données
partagées entre processus (Exemples : sémaphores, mutex, etc)
Des mécanismes de communication : permettre l’échange d’information entre
processus (Exemples : boite aux lettres, envoi messages, etc)
28/10/2015 Cours Atelier Système d’exploitation 63
LES SYSTÈMES D’EXPLOITATION
GESTION DE FICHIERS
Un SE offre une vue des données plus conviviale et facile à utiliser au
travers la manipulation des fichiers
il existe des fichiers programmes et des fichiers de données
Les fichiers programmes contiennent des ordres utilisables (instructions) par
l’ordinateur
Les fichiers de données contiennent des informations utilisables par un fichier
programme spécifique.
La gestion des fichiers comprend la création d’un fichier, consultation, modification,
suppression ou classement dans un dossier (répertoire)
La gestion des données comprend les fonctions liées à l’utilisation des fichiers et
leur partage ainsi que la sécurité (mot de passe) et la confidentialité (cryptage) des
informations qu’ils contiennent
28/10/2015 Cours Atelier Système d’exploitation 64
LES SYSTÈMES D’EXPLOITATION
AUTRES FONCTIONS D’UN SE
Gestion D’E/S : Le système doit gérer l'accès aux périphériques
Faire la liaison entre les appels de haut niveau des programmes
utilisateurs (scanf(...)) et les opérations de bas niveau de l'unité d'entrée
(clavier).
C ’est le pilote d ’E/S (driver) qui assure cette correspondance.
Gestion de la protection
Le système doit fournir des mécanismes garantissant que ses
ressources (CPU, mémoire, fichiers) ne peuvent être utilisées que par
les programmes auxquels les droits nécessaires ont été accordés.
Protéger le système et la machine des programmes utilisateurs
(mode d'exécution utilisateur et superviseur).
28/10/2015 Cours Atelier Système d’exploitation 65
LES SYSTÈMES D’EXPLOITATION
LES MÉCANISMES D’INTERRUPTION
La notion d’interruption se base sur un mécanisme par lequel certaines
composantes physiques (horloge, E/S, mémoire, processeur) peuvent
interrompre le traitement normal du processeur
Une interruption est la commutation d’un processus à un autre provoquée
par un signal du matériel.
Il existe différents types de signaux provoquant une interruption :
Logiciel : division par zéro, référence mémoire en dehors de l’espace
autorisé au processus, appel système, etc.
Temporisateur : le processeur permet au SE d’effectuer régulièrement
certaines fonctions (ordonnancement, mise à jour)
E/S : Un signal provenant d’un périphérique d’E/S
défaillance matérielle : coupure d’alimentation par exemple
28/10/2015 Cours Atelier Système d’exploitation 66
LES SYSTÈMES D’EXPLOITATION
APPELS SYSTÈME
Un appel système est un mécanisme de communication direct avec le
noyau de la machine
Le noyau regroupe toutes les opérations vitales de la machine: Par
exemple, il est impossible d'écrire directement sur le disque dur.
L'utilisateur doit passer par des appels systèmes qui contrôlent les actions
qu'il fait afin de garantir la sécurité et l’intégrité des données
Les appels système sont des fonctions :
appelées depuis un programme de l’espace utilisateur ;
dont l’exécution (le traitement) est effectuée dans l’espace noyau ;
dont le retour est effectué dans le programme appelant dans
l’espace utilisateur
28/10/2015 Cours Atelier Système d’exploitation 67
LES SYSTÈMES D’EXPLOITATION
MODE NOYAU VS MODE UTILISATEUR
Le noyau est généralement exécuté dans un espace mémoire séparé de
l’espace des applications: mode noyau. Par opposition au mode utilisateur.
Le passage entre ces deux modes se fait via des appels systèmes et
s’accompagne d’une commutation de contexte (sauvegarde du contexte
utilisateur- changement de mode d'exécution - restauration du contexte
utilisateur)
Le mode superviseur (mode noyau) est le mode d'exécution du système
Mode privilégié, qui autorise notamment l’appel à des instructions interdites en
mode utilisateur (Ex.: manipulation des interruptions)
L’intérêt de cette séparation est que le système ne crash/se plante pas si
une application plante.
28/10/2015 Cours Atelier Système d’exploitation 68
LES SYSTÈMES D’EXPLOITATION
DIFFÉRENTS TYPES DE NOYAUX
Différents types de noyaux
Monolithiques
Monolithiques Modulaires / Multicouches
Micronoyaux
Hybrides
28/10/2015 Cours Atelier Système d’exploitation 69
LES SYSTÈMES D’EXPLOITATION
NOYAUX MONOLITHIQUES
Un seul bloc contenant l’ensemble
des services système (mode noyau)
Facilité de conception
Performance : excellente vitesse
d’exécution
Exemples : Dos, très vieux UNIX et
Linux, quelques OS embarqués, etc.
Difficile à maintenir : code augmenté
en taille avec l’évolution des
fonctionnalités
28/10/2015 Cours Atelier Système d’exploitation 70
LES SYSTÈMES D’EXPLOITATION
NOYAUX MONOLITHIQUES MODULAIRES / MULTICOUCHES
OS organisé en hiérarchie de
couches. Chacune construite sur la
base des services offerts par la
couche inférieure.
Conserve les avantages du noyau
monolithiques : performance
(vitesse d’exécution), facilité de
conception )
Code plus organisé
Exemples : Linux, BSD, SOLARIS
28/10/2015 Cours Atelier Système d’exploitation 71
LES SYSTÈMES D’EXPLOITATION
NOYAUX MICRONOYAUX
Déplace plusieurs fonctions de l’OS vers des « processus serveur »
s’exécutant en mode utilisateur réduction au maximum de la taille
du code privilégié (en mode noyau)
(+) Fiabilité augmentée: si un processus serveur « crash », le système
continue à fonctionner et il est possible de relancer ce service sans
redémarrer
28/10/2015 Cours Atelier Système d’exploitation 72
LES SYSTÈMES D’EXPLOITATION
NOYAUX MICRONOYAUX
(-) La plupart des services sont a l’extérieur du noyau et génèrent un
très grand nombre d’appels système
(-) Les mécanismes de communication (IPC), qui deviennent
fondamentaux pour assurer le passage de messages entre les
serveurs, sont très lourds et peuvent limiter les performances.
Exemples: MAC OS X, WindowsNT
28/10/2015 Cours Atelier Système d’exploitation 73
LES SYSTÈMES D’EXPLOITATION
NOYAUX HYBRIDES
Des noyaux qui reprennent des concepts à
la fois des noyaux monolithiques et des
micronoyaux combiner les avantages des
deux
Principe : certaines fonctions non critiques,
mais très génératrices d’appels système,
sont réintégrées dans l’espace noyau
Ce compromis permet d’améliorer
considérablement les performances en
conservant de nombreuses propriétés des
systèmes a micronoyaux.
Exemple: XNU de Mac OS X
28/10/2015 Cours Atelier Système d’exploitation 74