Vous êtes sur la page 1sur 74

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 Cmd.exe.
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 nomprocessus.exe : 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)
 « svchost.exe » 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

Vous aimerez peut-être aussi