Vous êtes sur la page 1sur 52

SYSTÈME D’EXPLOITATION

Introduction
PRESENTATION GENERALE DU
SYSTÈME D’EXPLOITATION
EL YOUSFI ALAOUI HACHEM
FI-GBM / FI-GE

1
Introduction

 SE Anglais: « Operating System (OS) »


 Qu'est-ce que c'est?
« Programme assurant la gestion de l'ordinateur et de ses
périphériques »
 A quoi ca sert?
à simplifier la vie des utilisateurs et des programmeurs
 à gérer les ressources de la machine d'une manière efficace

 Son évolution est lié à celle de l’ordinateur

HACHEM ELYOUSFI ALAOUI 2 ENSET DE RABAT


Qu’est ce qu’un système d’exploitation

 C’est le logiciel le plus important de la machine


puisqu’il permet de:
 Gérer les ressources de celle-ci: Processeurs, mémoires,
disques, horloges, périphériques, communication
interprocessus et inter machines.
 Une base pour le développeur et l’exécution des
programmes et les applications.
L’efficacité de tout programme en dépond 
Facilite la tâche au programmeur.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Qu’est ce qu’un système d’exploitation
 Cacher la complexité des machines pour l'utilisateur
afin d'utiliser la machine sans savoir ce qui est
derrière
 Abstraction du terme « Machine » selon Coy:
 machine réelle = Unité centrale + périphériques
 machine abstraite = machine réelle + système
d'exploitation
 machine utilisable = machine abstraite + application

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Exigences des utilisateurs/Programmeurs
 Besoins en général
 Satisfaire les utilisateurs et les programmeurs
 Gérer 2D, 3D, vidéo, audio, réseau, CD, DVD, clé USB, ...
 Plusieurs utilisateurs (itinérants) --> multiutilisateurs
 être extensible

 Ces besoins de plus en plus grands et complexes


 Utilisateur: Faut que ça marche comme j’ai envie
 Programmeur: Simplifier l’accès à aux ressources

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Rôle d’un système d’exploitation

 Faciliter la tâche au programmeur  S’intéresse uniquement à ses


propres programmes.
 Protéger le système (fausses manipulations).
 Offrir une vue simple et cohérente de la machine et ses composantes
L’ OS peut être considéré de deux points de vue

• Machine virtuelle

• Gestionnaire de ressources

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Machine virtuelle

Elle fournit à l’utilisateur:


 Une vue uniforme des entrées/sorties.
 Une mémoire virtuelle et partageable.
 La gestion des fichiers et des répertoires.
 La gestion des droits d’accès, sécurité et traitement
des erreurs.
 La gestion des processus.
 La gestion des communication inter processus.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Le gestionnaire de ressources

 Il permet:
 D’assurer le bon fonctionnement des ressources dans le
respect des délais.
 D’identification de l’usager d’une ressource.
 De contrôler l’ l’accès aux ressources.
 L’interruption de l’utilisation d’une ressource.
 La gestion des erreurs.
 D’ éviter les conflits.

Un SE: Alloue les ressources aux utilisateurs Problème: Fiabilité, efficacité,


Contrôle leur bonne utilisation Equité, etc..

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Quelques définitions

 Processus
 Traitement par lots
 Systèmes Multitâches
 Systèmes Multiutilisateurs
 Systèmes Multiprocesseurs
 Systèmes temps réel
 Systèmes distribués

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Modèle d’un SE
 Modèle processus – ressources: C’est un intermédiaire entre offrant un
ou plusieurs niveau d’abstraction entre les usagers et un ensemble de
ressources: UCT, Mémoire, Disque, périphériques.
Usager(s)
Et applications

Ressources

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Modèle d’un SE
 L’utilisateur demande l’accès à l’une des ressources
suivantes:
 L’UCT pour effectuer des opérations arithmétiques et logiques
 La mémoire pour charger temporairement des informations.
 Des disques  Stockage.
 Clavier, souris  entrée des infos
 Ecran, imprimantes  Résultats
Ces demandes peuvent êtres effectués de deux manières:
 Directement (Copie, destruction de fichier…)
 A traves l’exécution d’une application…

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Modèle d’un SE
 Modèle révisé: Le système d’exploitation est un intermédiaire présentant
un ensemble d’abstraction entre un ensemble de processus et les ressources
du système que ces processus utilisent.
Processus

Ressources

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Modèle d’un SE
 Le SE offre une ensemble de services aux processus Ce
qui nécessite la résolution d’un certains nombre de
problèmes de partages de ressource:
 Amélioration:  charger plusieurs programmes en
mémoire // partage de ressource.
 Libérer les contraintes de la mémoire:  mémoire
virtuelle.
 Accès simultané:  plusieurs utilisateurs // temps
partagé.
 Contrôle physique et dynamique des systèmes:  temps
réel.
 Plusieurs utilisateurs:  sécurité.
 Etc. …

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


SE-Composants et fonctions
 Gestion de l’UCT: Gestion des processus
 L’UCT est la principale ressource du système, le SE doit
optimiser son utilisation.
 Le SE devrait pouvoir: activer, suspendre et réactiver, tuer et
surveiller un processus.
 Gestion des fichier
 Qu’est-ce qu’un fichier
 Organisation, gestion…
 Gestion de la mémoire
Allouer, libérer, et gérer la mémoire (virtuelle)
 Gestion des entrées/sortie
 Système de protection des ressources et sécurité des usagers.
 Connexion au réseau

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Types de SE
 Mono-utilisateur.
 Contrôle de processus. (temps réel)
 Serveur de fichiers.
 Transactionnel.
 Général.
 Système monolithique.
 Structure en couche.
 Système client-serveur.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Structure d’un système d’exploitation

I - Structure simple (Système monolithiques)


 Pas de structure
 Le SE est un ensemble de procédures dont chacune
peut appeler n’importe quelle autre, sans aucune
restriction
Exemples:
 Premières versions d’Unix
 Mac Os
 MS-DOS
HACHEM ELYOUSFI ALAOUI ENSET DE RABAT
Structure d’un système d’exploitation
II - Structure en couches
La communication se fait entre couches adjacentes.
Principe conçu par Djikstra (1968) qui désigne 6 niveau,
du matériel à l’opérateur.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


II -Structure en couches (suite)

Application (Logiciel, p.ex. Microsoft Word)

Gestion des fichiers

Gestion des périphériques (entrées/sorties)

Gestion des processus

Gestion de la mémoire

Noyau du Système d’exploitation

Pilote Pilote Pilote

Matériel

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Structure d’un système d’exploitation
=>La structure en couches est conceptuellement élégante, mais
peu efficace (Au min 5appels de fonctions en cascade pour
chaque accès au matériel
III - Structure à noyau
(Kernel)

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


PRESENTATION GENERALE DU SYSTÈME D’EXPLOITATION

III - Structure à noyau (suite)


 Le kernel regroupe un ensemble de fonction du système qui
sont indépendantes du matériel.
 Il gère l’accès à l’UCT et aux ressources ainsi que le système
de fichiers.
 Les processus communiquent avec le kernel via des API qui
définissent la syntaxe et la sémantique des appels système.
 La communication avec les entrées sortie est faites à traves
des drivers.
 Idéalement le kernel devrait être de taille réduite et compter un
petit nombre de fonctions.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Exemples de systèmes d'exploitations

 CP/M (depuis 1974), Digital Research


 UNIX (depuis 1969-1979), premier par AT&T
 MS-DOS (depuis 1981), Microsoft
 MacOS (depuis 1984), Apple
 Windows (depuis 1991), Microsoft
 Linux (depuis 1992), OpenSource
 Android (juin 2007)-Smartphone – noyau linux

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Système d’exploitation

Gestion des processus


I – Ordonnancement
Concepts élémentaires
 Programme: Un programme est une suite figée d'instructions,
un ensemble statique.
 Processus: c’est l'instance d'exécution d'un programme dans
un certain contexte pour un ensemble particulier de données.
 Espace adresse d’un processus: ensembles des locations en
mémoire auxquelles le processus est autorisé à accéder = = =
> Espace virtuel
 Temps partagé: dans un espace multiprogrammé, les
différents processus doivent se partager l’accès aux
ressources (UCT, mémoire et périphériques)
 Une fraction de temps doit être accordé à chacun des
processus

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Contexte d’un processus
 Contexte d'un processus: Le contexte d'un évènement inclut
les circonstances et conditions qui l'entourent
 C’est l’ensemble des conditions sous lesquelles un dispositif
est en train d'être utilisé.
 Il existe deux contextes : le contexte matériel et le contexte
logiciel.
 Le contexte matériel: Etat des registres à un instant t :
 Le contexte logiciel: contient des informations sur les
conditions et droits d'accès aux ressources de la machine .
 Le bloc de contrôle d'un processus (en anglais Process Control
Block ou PCB) est une structure de données qui contient
toutes les informations relatives au contexte d'un processus.
HACHEM ELYOUSFI ALAOUI ENSET DE RABAT
PCB - Détails
 Le PCB est composé des éléments fondamentaux suivants:
 Un état
 Un espace d'adressage
 Gestion de la mémoire
 Table de fichiers ouverts
 Un ou plusieurs contexte(s)
d'exécution
 Un compteur ordinal (PC)
 Des registres de données
 Une pile

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Etats d’un processus
 Un processus peut être dans l’un des cinq :états différents:
nouveau, prêt, élu(en exécution), en attente, fini.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Processus – Etats et transitions

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Mécanisme de changement de contexte

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Mécanisme de gestion des processus

 Un processus est constitué d’une alternance de sections


durant lesquelles il est actif, en contrôle de l’UCT et en
attente d’E/S.
 Nous allons nous intéresser à deux mécanismes de
gestion des processus
 Ordonnancement (Scheduling): Effectué par un répartiteur
qui décide quels processus doivent être admis, lequel doit
être activé; etc.
 Synchronisation: certains procesus peuvent avoir à accéder
aux mêmes ressources et il faut gérer les droits d’accès.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnanceurs (schedulers)

 Programmes qui gèrent l’utilisation de ressources de


l`ordinateur
 Dans un système multiprogrammé, n processus sont en
concurrence pour l’accès aux ressources.
 Un (au plus) de ces processus peut être dans l’UCT
 Plusieurs processeurs pourront être en attente d’E/S
 D’autres seront prêts à occuper l’UCT.
File d’attente :
Une file d’attente pour les processus prêts pour accéder à l’UCT.
Une file d’attente pour les processus en attente d’un périphérique ou E/S

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement de processus (court terme)

Dans le cas 1 et 4 il y a ordonnancement de processus et


l'ordonnancement est dit non-préemptif
Dans le cas 2 et 3il peut y avoir ordonnancement de processus et
l'ordonnancement est dit préemptif

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement à moyen terme
 Le manque de ressources peut parfois forcer le SE à
suspendre des processus
 ils seront plus en concurrence avec les autres pour
des ressources
 ils seront repris plus tard quand les ressources
deviendront disponibles
 Ces processus sont enlevés de mémoire centrale et
mis en mémoire secondaire, pour être repris plus
tard
 ‘swap out’, ‘swap in’ , va-et-vient

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnanceurs à court et moyen terme

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement Processus : Concepts de base

 La multiprogrammation est conçue pour obtenir une


utilisation maximale des ressources, surtout l’UCT
 L’ordonnanceur UCT est la partie du SE qui décide quel
processus dans la file ready/prêt obtient l ’UCT quand
elle devient libre
 doit viser à une utilisation optimale de l ’UCT
 l’UCT est la ressource la plus précieuse dans un
ordinateur, donc nous parlons d’elle
 Cependant, lesprincipes que nous verrons s’appliquent aussi à
l ’ordonnancement des autres ressources (unités E/S, etc).

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Quand invoquer l’ordonnanceur
 L ’ordonnanceur doit prendre sa décision chaque fois que le
processus exécutant est interrompu, c-à.-d.
 un processus se se présente en tant que nouveau ou se termine ou
 un processus exécutant devient bloqué en attente
 un processus change d’exécutant/running à prêt/ready
 un processus change de attente à prêt/read
 en conclusion, tout événement dans un système cause une interruption de
l’UCT et l’intervention de l’ordonnanceur, qui devra prendre une décision
concernant quel proc ou fil aura l’UCT après
 Préemption: on a préemption dans les derniers deux cas si on
enlève l’UCT à un processus qui l’avait et peut continuer à s’en
servir
 Dans les 1ers deux cas, il n’y a pas de préemption

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement : Critères

 Utilisation UCT: pourcentage d’utilisation


 Débit = Throughput: nombre de processus qui
complètent dans l ’unité de temps
 Temps de rotation = turnaround: le temps pris par le
processus de son arrivée à sa terminaison.
 Temps d’attente: attente dans la file prêt (somme de
tout le temps passé en file prêt)
 Temps de réponse (pour les systèmes interactifs): le
temps entre une demande et la réponse

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement : Critères
 Utilisation UCT: pourcentage d’utilisation
 ceci est à maximiser
 Débit = Throughput: nombre de processus qui complètent dans l ’unité
de temps
 ceci est à maximiser
 Temps de rotation (turnaround): temps terminaison moins temps
arrivée
 à minimiser
 Temps d’attente: attente dans la file prêt
 à minimiser
 Temps de réponse (pour les systèmes interactifs): le temps entre une
demande et la réponse
 à minimiser

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Ordonnancement: Algorithmes

 FCFS ou PAPS
First Come First Served
 SJF ou Plus court d’abord
Shortest Job First
 RR ou le tourniquet
Round-Robin
 Ordonnancement par priorité avec/sans files d'attente
multiples

1° I.B HACHEM ELYOUSFI ALAOUI ENSET DE RABAT 2014-2015


Etat processus vs CPU

NB: Un processus à l’état prêt ou à l’état bloqué est en dehors de la CPU

HACHEM ELYOUSFI ALAOUI 39 ENSET DE RABAT


Etat processus vs CPU

NB: Le temps de changement de contexte doit être réduit

HACHEM ELYOUSFI ALAOUI 40 ENSET DE RABAT


Premier arrive, premier servi
(First come, first serve, FCFS)
 Exemple: Processus Temps de cycle
 P1 24
 P2 3
 P3 3
 Si les processus arrivent au temps 0 dans l’ordre: P1 , P2 , P3
Le diagramme Gantt est:

P1 P2 P3

0 24 27 30

 Temps d’attente pour P1= 0; P2= 24; P3= 27


 Temps attente moyen: (0 + 24 + 27)/3 = 17

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Premier arrive, premier servi

 Utilisation UCT = 100%


 Débit = 3/30 = 0,1
 3 processus complétés en 30 unités de temps
 Temps de rotation moyen: (24+27+30)/3 = 27

P1 P2 P3

0 24 27 30

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Tenir compte du temps d’arrivée!

 Dans le cas où les processus arrivent à moment


différents, il faut soustraire les temps d’arrivée
 Exercice: répéter les calculs si:
 P0 arrive à temps 0
 P1 arrive à temps 2
 P3 arrive à temps 5

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


FCFS
Si les mêmes processus arrivent à 0 mais dans l’ordre
P2 , P3 , P1 .
Le diagramme de Gantt est:

P2 P3 P1

0 3 6 30

 Temps d’attente pour P1 = 6 P2 = 0 P3 = 3


 Temps moyen d’attente: (6 + 0 + 3)/3 = 3
 Beaucoup mieux!
 Donc pour cette technique, le temps d’attente moyen peut
varier grandement
HACHEM ELYOUSFI ALAOUI ENSET DE RABAT
Plus Court d’abord = Shortest Job First (SJF)

 Le processus le plus court part le premier


 Optimal en principe du point de vue du temps
d’attente moyen
 (v. le dernier exemple)
 Mais comment savoir lequel des processus est
court?

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


SJF avec préemption (réquisition) ou
non
 Avec préemption: si un processus qui dure moins
que le restant du processus courant se présente plus
tard, l’UCT est donnée à ce nouveau processus
  Il est retourné à l’état prêt
 Sans préemption: on permet au processus courant
de terminer son cycle quelque soit la taille du
nouveau processus.
  cette solution parait plus logique.

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Example de SJF sans preemption
Processus Arrivée Cycle
P1 0 7
P2 2 4
P3 4 1
P4 5 4

 SJF (sans préemption)

P1 P3 P2 P4

0 3 7 8 12 16

P2 arr. P3 arr. P4 arr


 Temps d’attente moyen = (0 + 6 + 3 + 7)/4 = 4
HACHEM ELYOUSFI ALAOUI ENSET DE RABAT
Exemple de SJF avec préemption SRTF
Processus Arrivée Cycle
P1 0 7
P2 2 4
P3 4 1
P4 5 4
 SJF (préemptive)

P1 P2 P3 P2 P4 P1

0 2 4 5 7 11 16

P2 arr. P3 arr. P4 arr


 Temps moyen d`attente = (9 + 1 + 0 +2)/4 = 3
 P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7

48 HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Le plus court d’abord SJF: critique

 Difficulté d’estimer la longueur à l’avance


 Les processus longs souffriront de famine lorsqu’il y
a un apport constant de processus courts
 La préemption est nécessaire pour environnements
à temps partagé
 Un processus long peut monopoliser l’UCT s’il est le 1er à entrer dans
le système et il ne fait pas d’E/S
 Il y a assignation implicite de priorités: préférences aux
travaux plus courts

HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


Tourniquet = Round-Robin (RR)
Le plus utilisé en pratique
 Chaque processus est alloué un quantum de temps (p.ex. 10-100
millisecs.) pour s’exécuter
 (tranche de temps)
 S’il s’exécute pour un quantum entier sans autres interruptions, il
est interrompu par la minuterie et l ’UCT est donnée à un autre
processus
 Le processus interrompu redevient prêt (à la fin de la file)
 Méthode préemptive
P[0] P[1] La file prêt est un cercle
(dont RR)
P[7] P[2]

P[6] P[3]

P[5] P[4]
50 HACHEM ELYOUSFI ALAOUI ENSET DE RABAT
Exemple: Tourniquet Quantum = 20

Processus Cycle
P1 53
P2 17
P3 68
P4 24

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162


 Normalement,
 temps de rotation (turnaround) plus élévé que SJF
 mais temps attente moyen meilleur – contrôlez!

51 HACHEM ELYOUSFI ALAOUI ENSET DE RABAT


En pratique...

 Les méthodes que nous avons vu sont toutes


utilisées en pratique (sauf plus court servi pur qui est
impossible)
 Les SE sophistiqués fournissent au gérant du système
une librairie de méthodes, qu’il peut choisir et
combiner au besoin après avoir observé le
comportement du système
 Pour chaque méthode, plusieurs params sont
disponibles: p.ex. durée du quantum, coefficients,
etc.
HACHEM ELYOUSFI ALAOUI ENSET DE RABAT

Vous aimerez peut-être aussi