Vous êtes sur la page 1sur 15

13/04/2017

Filière : Informatique 2éme Semestre

Cours : Système d’exploitation

Enseignant Responsable : Prof M.IKERMANE

Email : ikermane.mohamed@gmail.com

Ordinateur : Présentation Logique d’un ordinateur :

L’ordinateur est une machine électronique qui


permet de collecter des données, de réaliser des
calculs, de stocker des informations et de
communiquer avec d’autres machines.
L’ordinateur est composé de deux parties :

Hardware X Software

1
13/04/2017

Systéme d’exploitation • En anglais « Operating System (OS) »

Le système d’exploitation est le logiciel qui


prend en charge les fonctionnalités élémentaires
du matériel et qui propose une plateforme plus
efficace en vue de l’exécution des programmes.
Il gère les ressources matérielles, offre des
services pour accéder à ces ressources et crée des • A quoi ca sert?
éléments abstraits de niveau supérieur, tels que Cacher la complexité des machines pour
l'utilisateur afin d'utiliser la machine sans savoir ce
des fichiers, des répertoires et des processus. qui est derrière.

Rôle et définition
Abstraction du terme « Machine » Un SE résout les problèmes relatifs à l’exploitation de l’ordinateur en
garantissant :
selon Coy:
 Une gestion efficace, fiable et économique des ressources physiques de l’ordinateur

• machine réelle = Unité centrale + périphériques (processeur, mémoire…) : il ordonne et contrôle l'allocation des processeurs, des

mémoires, des icônes et fenêtres, des périphériques, des réseaux entre les programmes

• machine abstraite = machine réelle + système d'exploitation des utilisateurs qui les utilisent.

 Il propose à l'utilisateur une abstraction plus simple et plus agréable que le matériel : une

• machine utilisable = machine abstraite + application machine virtuelle permettant l’interaction avec les utilisateurs en leur présentant une

machine plus simple à exploiter que la machine réelle.

2
13/04/2017

Définitions:
Classes de systèmes d’exploitation Systèmes Multi-tache
ues définitions Multi-tache (Multitasking)
• Assurer l'éxécution de plusieurs
 Systèmes Multi-tache
programmes en meme temps (c-à-d.
 Systèmes Multi-utilisateurs plusieurs processus)

 Systèmes Multi-processeurs •L’inverse de Mono-tâche


• Chaque processus a besoin du
 Systèmes temps réel processeur
• situation concurrente
 Systèmes distribués
• solution: « Ordonnoncement »

Définitions: Définitions:
SSystèmes Multi-processeurs Systèmes Multi-utilisateurs
ulti-utilisateurs (« time-sharing » Systèmes Multi-processeurs
• système avec plusieurs processeurs
• permettre a différentes personnes de travailler avec
• parallèle
un ordinateur en même temps
• vrai multi-tache
• doit assurer qu'il y a l'éxecution d'autant de processus que • connexion par
processeurs en meme temps • via le terminal de l'ordinateur lui-même
• contrairement: système avec un seul processeur • à distance (telnet, ssh, ftp, ...)
• quasi-parallèle • donner l'impression à chaque utilisateur qu'il est seul
• arreter et reprendre les différentes processus • exige une géstion des droits
• Gestion avec le « scheduler » (ordonnancement des processus) • de fichiers (pour éviter la destruction des fichiers etc.)
• de processus

3
13/04/2017

Définitions:Systèmes temps réel


Systèmes distribués
• Login
• Sert pour le pilotage et le contrôle des déroulements
externes (p.ex. centrale électrique)
• Type:
• doit garantir des temps de réactions données pour des
• Administrateur (« root ») signaux extérieur urgents
• Groupes
• Utilisateurs • plusieurs systèmes d'exploitations n'y arrivent pas car
l'interruption de certaines activités met le système dans
un état instable
• pour gérer les droits

Définitions:
SySystèmes distribués Traitement par lots
stèmes Temps réels ment par lots (Batch processing)
• doit permettre l'éxecution d'un seul • Un utilisateurs donne plusieurs
programme sur plusieurs machines commandes (« Jobs ») dans une queue
d'éxécution de programmes
• distribuer les processus et les remettre • Entièrement séquentielle
ensemble
• p.ex. pour faire plusieurs calculs pendant
la nuit
• pour gros calculs, p.ex. inversion de grandes
matrices
• p.ex. autoexec.bat

4
13/04/2017

S.E : Modèle en couche :


• 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

DéfiProcessus Le système d’exploitation manipule deux types de processus :


Définition
Processus - Processus système : processus lancé par le système (init processus père des tous les

Un processus est un programme lors de processus du système)

l'éxécution - Processus utilisateur : processus lancée par l’utilisateur (commande utilisateur)

(aspect dynamique d'un programme) Dès sa création, un processus reçoit les paramètres suivants :

 PID : identificateur du processus (numéro unique)

Attention : ne pas confondre un processus (exécution qui  PPID : identificateur du processus père
peut être suspendue, puis reprise), avec le texte d'un
 UID : identificateur de l’utilisateur qui a lancé le processus
programme exécutable (aspect statique).
 GID : identificateur du groupe de l’utilisateur qui a lancé le processus

5
13/04/2017

Etats d’un processus


 Les instructions à exécuter sont stockées dans une pile de données contenant les Dans les systèmes multiprogrammés et temps-
valeurs des variables du programme partagé, un processus peut se trouver dans l’un
 Un contexte d’exécution : contenant entre autre le compteur ordinal qui indique
des états suivants :
l’adresse de l’instruction qui va être exécuté

 Les adresses des ressources utilisées

Création : chargement des instructions, allocation de mémoires et des ressources


(statiquement), il passe directement à l’état prêt.
Il existe 4 événements pour créer un processus :
L’état prêt : Le processus est prêt à être exécuté.
 L’initialisation du système : au chargement du système il y’a création automatique
du processus racine père de tous les processus utilisateurs (id=0).
Il est mis en attente jusqu’à ce qu’on lui libère le
 Un processus peut lancer un autre processus, il en devient le parent, l’autre dernier
processeur (dispatch de l’Ordonnanceur), il
sera désigné comme processus fils. (Un processus père ne se termine que lorsque
tous ses fils sont terminés. On a donc une structure arborescente de processus). passera alors à l’état Actif.
 Une requête de l’utilisateur

 Initiation d’un travail en traitement par lot

6
13/04/2017

L’état actif ou élu : Le processus est en cours L’état bloqué : Le processus est en attente d’une ressource pour
d’exécution par le processeur.
terminer. Dès sa libération il repasse à l’état Prêt.
 Si le processus épuise le temps qui lui est alloué
par le SE, il est remis en file d’attente des Prêts. L’état zombie : Le processus a terminé son exécution et il ne peut

 Si il a besoin d’une ressource non disponible plus évoluer mais les ressources qu’il a allouées ne sont pas encore
(opérations sur les périphériques), il est mis en
libérées
attente prolongée (Interruption : état bloqué)
jusqu’à la libération de la ressource nécessaire.
 Si le processus atteint son terme (se termine) il
passe à l’état Zombie

Bloc de contrôle d’un processus


(PCB)
La destruction d’un processus : Lors de la destruction le
processus libère les ressources allouées.
Il y a quatre causes possibles de la destruction d’un • Lorsqu’un processus est temporairement
processus : suspendu, il faut qu’il puisse retrouver l’état où
Arrêt normal : volontaire, lorsque le processus termine sa
tâche. il se trouvait au moment de suspension, il faut
Arrêt pour erreur : volontaire suite à une erreur pour une que toutes les informations dont il a besoin
instruction illégale soient sauvegardées pendant sa mise en attente
Arrêt pour erreur fatale : involontaire tel que les mauvais
paramètres de l’exécution du processus pour continuer son exécution .
Arrêt volontaire par un autre processus

7
13/04/2017

Les BCP sont rangés dans une table (table des


processus) qui se trouve dans l’espace mémoire
Les informations en general du BCP :
du système
• L'ID du processus (PID), l'ID du processus parent (PPID) et
l'ID de l'utilisateur du processus (UID) ;
• Les valeurs des registres correspondant au processus (l'état
courant du processus, selon qu'il est élu, prêt ou bloqué) ;
• Le compteur ordinal du processus ;
• L'espace d'adressage du processus ;
• La liste des descripteurs de fichiers ;
• La liste de gestion des signaux ;
• D'autres informations telles que le temps CPU accumulé par
le processus, etc.

Ordonnancement des processus Le Dispatcheur

Chaque fois, que le processeur devient inactif, le Il s’occupe de l’allocation du processeur à un processus
sélectionné par l’Ordonnanceur du processeur. Une fois
système d’exploitation doit sélectionner un allouer, le processeur doit réaliser les tâches suivantes :
processus de la file d’attente des processus prêts, Commutation de contexte : sauvegarder le contexte du
et lui passe le contrôle. D’une manière plus processus qui doit relâcher le processeur et charger le
concrète, cette tâche est prise en charge par deux contexte de celui qui aura le prochain cycle processeur
routines système en l’occurrence le Dispatcheur • Commutation du mode d’exécution : basculer du mode
Maître (mode d’exécution du dispatcheur) en mode
et le Scheduleur (Ordonnanceur). utilisateur (mode d’exécution du processeur utilisateur)
• Branchement : se brancher au bon emplacement dans le
processus utilisateur pour le faire démarrer.

8
13/04/2017

L’Ordonnanceur
Ordonnanceur de travail : ou Ordonnanceur
Certains systèmes d’exploitation utilisent une long terme, utilisé en cas d’insuffisance de
technique d’ordonnancement à deux niveaux qui mémoire, son rôle est de sélectionné le sous
intègre deux types d’Ordonnanceurs : ensemble de processus stockés sur un disque et
• Ordonnanceur du processeur : c’est un qui vont être chargés en mémoire. En suite, il
Ordonnanceur court terme opère sur une retire périodiquement de la mémoire les
ensemble du processus présents en mémoire. Il
processus qui sont restés assez longtemps et les
s’occupe de la sélection du processus qui aura
le prochain cycle processeur, à partir de la file remplace par des processus qui sont sur le disque
d’attente des processus prêts. depuis trop de temps.

Algorithmes d’ordonnancement

L'ordonnancement est la partie du système d'exploitation qui


détermine dans quel ordre les processus prêts à s'exécuter
Algorithmes (présents dans la file des prêts) seront élus. Ses objectifs sont :

d’ordonnancement - Assurer le plein usage du CPU (agir en sorte qu’il soit le moins

souvent possible inactifs);

- Réduire le temps d'attente des utilisateurs.

- Assurer l'équité entre les utilisateurs.

9
13/04/2017

- Le temps de réponse moyen décrit la moyenne des dates de


fin d’exécution :

Nous distinguons plusieurs algorithmes d’ordonnancement, les plus

répandus sont :
- Le temps d’attente moyen est la moyenne des délais
d’attente pour commencer une exécution :
• Ordonnancement Premier Arrivé Premier Servi

• Ordonnancement du plus court d’abord

• Ordonnancement circulaire : Tourniquet Les algorithmes d’ordonnancement se distinguent les uns des autres du
fait que certains autorisent la réquisition de l’unité centrale alors que d’autres
• Ordonnancement circulaire à plusieurs niveaux l’interdisent. La réquisition est la possibilité de retirer à n’importe quel instant le

• Ordonnancement avec priorité processeur à un processus même si ce dernier est en cours d’exécution.

Ordonnancement FCFS (first come first Served)

Dans cet algorithme ; connu sous le nom FIFO (First In, First Out) ;
les processus sont rangés dans la file d’attente des processus prêts selon leur
ordre d’arriver. Les règles régissant cet ordonnancement sont :
1. Quand un processus est prêt à s’exécuter, il est mis en queue de la file
Ordonnancement FCFS (first d’attente des processus prêts.

come first Served) 2. Quand le processeur devient libre, il est alloué au processus se trouvant en
tête de file d’attente des processus prêts.
3. Le processus élu relâche le processeur s’il se termine ou s’il demande une
entrée sortie

10
13/04/2017

Caractéristiques de l’Ordonnanceur
Exemple d’algorithme FCFS :
• Ordonnanceur sans réquisition

• Ordonnanceur non adapté à un système temps partagé car dans un

système pareil, chaque utilisateur obtienne le processeur à des intervalles

réguliers.

Remarque : Pour représenter schématiquement l’évolution dans le temps

des processus, on recourt habituellement à des diagrammes de Gantt.

Short Job First


SJF choisit de façon prioritaire les processus ayant le plus

Ordonnancement SJF (Shortest Job First) court temps d’exécution sans réellement tenir compte de leur

(Plus Cours temps d'Exécution en date d’arrivée.


Premier)
Dans cet algorithme les différents processus sont rangés dans

la file d'attente des processus prêts selon un ordre croissant de

leur temps d'exécution (cycle de calcul).

11
13/04/2017

Les règles régissant cet ordonnancement sont :

1. Quand un processus est prêt à s’exécuter, il est inséré dans la file d’attente

des processus prêts à sa position approprie.


Caractéristiques de l’Ordonnanceur
2. Quand le processeur devient libre, il est assigné au processus se trouvant en

tête de la file d’attente des processus prêts (ce processus possède le plus petit • Cet Ordonnanceur peut être avec ou sans
cycle processeur.). Si deux processus ont la même longueur de cycle, on réquisition
applique dans ce cas l’algorithme FCFS.
• Implémentation difficile, car il n’existe aucune
3. Si le système ne met pas en oeuvre la réquisition, le processus élu relâche le
manière pour connaître le cycle suivant du
processeur s’il se termine ou s’il demande une entrée sortie. Dans le cas
processeur.
contraire, le processus élu perd le processeur également.

Exemple d’algorithme SJF :

Ordonnancement RR (round robin)

12
13/04/2017

Ordonnancement RR (round robin)


Caractéristiques de l’Ordonnanceur
Dans cet algorithme les processus sont rangés dans une file d'attente des éligibles, le • Avec réquisition
processeur est alloué successivement aux différents processus pour une tranche de temps fixe Q appelé
• Adapté aux systèmes temps partagé.
Quantum.
• La stratégie du tourniquet garantit que tous processus est servis
Cet Ordonnancement est régit par les règles suivantes :
au bout d’un temps fini. Son avantage est d’éviter la famine. •
1. Un processus qui rentre dans l’état éligible est mis en queue de la file d'attente des prêts.
L’efficacité de cet ordonnanceur dépend principalement de la
2. Si un processus élu se termine ou se bloque avant de consommer son quantum de temps, le processeur

est immédiatement alloué au prochain processus se trouvant en tête de la file d'attente des prêts.
valeur du quantum Q:

3. Si le processus élu continue de s'exécuter au bout de son quantum, dans ce cas le processus sera o Le choix d'un Q assez petit augmente le nombre de
interrompu et mis en queue de la file d'attente des prêts et le processeur est réquisitionné pour être commutation.
réalloué au prochain processus en tête de cette même file d’attente.
o Le choix d'un Q assez grand augmente le temps de réponse du
système

Ordonnancement basé sur les priorités

13
13/04/2017

Ordonnancement basé sur les priorités


Caractéristiques de l’Ordonnanceur
Dans cet algorithme, les processus sont rangés dans la file d’attente des
Les principales caractéristiques sont :
processus prêt par ordre décroissant de priorité. L’ordonnancement dans ce cas est régit
par les règles suivantes : • Peut être avec ou sans réquisition
1. Quand un processus est admis par le système, il est inséré dans la file d’attente des
• Un processus de priorité basse risque de ne pas être servi
processus prêts à sa position approprie (dépend de la valeur de priorité).
2. Quand le processeur devient libre, il est alloué au processus se trouvant en tête de file (problème de famine) d’où la nécessité d’ajuster périodiquement
d’attente des processus prêts (le plus prioritaire). les priorités des processus prêts. L’ajustement consiste à
3. Un processus élu relâche le processeur s’il se termine ou se bloque (E/S ou autre).
incrémenter graduellement la priorité des processus de la file
➢ Remarque :
d’attente des éligibles (par exemple à chaque 15 mn on
Si le système met en oeuvre la réquisition, quand un processus de priorité supérieure à
celle du processus élu entre dans l’état prêt ; le processus élu sera mis dans la file incrémente d’une unité la priorité des processus prêts) .
d’attente des éligibles à la position approprie, et le processeur est alloué au processus qui
vient d’entrer.

Ordonnacement SRTF (Shortest Remaining


Time first)

14
13/04/2017

Ordonnacement SRTF (Shortest Remaining Time


first) (plus court temps d’exécution restant PCTER)
SRTF choisit le processus dont le temps
d’exécution restant est le plus court. C’est une
variante de l’algorithme SJF.
Cet algorithme est non implantable parce qu’il
suppose, entre autres, connu le temps d’exécution réel
de chaque processus pour pouvoir calculer le temps
restant

15

Vous aimerez peut-être aussi