Introduction aux Systèmes d'Exploitation
Introduction aux Systèmes d'Exploitation
D’EXPLOITATION
2
PLAN
01 Généralités sur les Systèmes d’exploitation
03 Gestion de la mémoire
04 Gestion de fichiers
05
3
Chapitre 1
Généralités sur les systèmes
d’exploitation
4
Objectifs spécifiques
Pré-requis
Eléments de contenu
I. Définition de système d’exploitation
II. Rôles d’un système d’exploitation
III. Eléments de base des systèmes d’exploitation
IV. Types des systèmes d’exploitation
5
Pré-requis
Composants de l’ordinateur
6
Structure générale d'un
ordinateur
Les composants matériels de l'ordinateur sont structurés et soudés sur une carte appelée
carte mère. Cette carte mère est logée dans un boîtier (ou châssis).
7
Structure générale d'un
ordinateur
8
Structure générale d'un
ordinateur
L’unité centrale: est constitué d’une Unité Centrale de traitement (CPU ou le microprocesseur et
la mémoire centrale.
Les périphériques: composés de périphériques d'entrée, périphériques de sortie et périphérique
de sauvegardes(Mémoires externes).
Les entités citées ci-dessus sont reliées par des bus
9
Structure générale d'un
ordinateur
La mémoire principale se devise en 2 types de mémoire :
10
Structure générale d'un
ordinateur
Le CPU(central processing unit) possède sa propre mémoire de petite taille appelé registre, ou la lecture
et l’écriture se font très rapidement.
Les registre sont chargé de stoker des résultats temporaires ou des informations de commande. Parmi
les quelles on cite :
11
Structure générale d'un
ordinateur
La taille des données qu’il est capable de traiter en bits (32 bits ou 64 bits)
12
Structure générale d'un
ordinateur
Les périphériques sont composés de:
périphériques d'entrée,
périphériques de sortie et
13
Exemples d’ordinateurs
1
4
Langage de l’ordinateur et
langage de l’utilisateur
15
Comment peut-on
assurer une bonne
Exploitation des
performances des
ordinateurs ?
16
Intermédiaire entre ordinateur et
utilisateur
Une suite d’opérations prédéterminées destinées à être exécutées de manière automatique par
un appareil informatique en vue d’effectuer des travaux, des calculs arithmétiques ou logiques.
17
18
La nécessité d’un SE
Deux besoins majeurs :
Point de vue utilisateur
Comment un utilisateur (ou plusieurs) peut exploiter les ressources matérielles.
20
Description d’un système
d’exploitation
21
Les différents systèmes
d'exploitation
MsDos : Quelques versions les plus connues : 2.2, 3.2, 4.0, 5.0, 6.00, 6.20, 6.22
Windows : Quelques versions les plus connues :2.0, 3.1, 3.11, 95, NT4 et NT4 serveur, 98,
98se, Me, 2000 et 2000 serveur, XP, 2003 serveur, Vista,seven,8
GNU / Linux : Quelques distributions parmi les plus connues : Red-Hat, Mandrake /Mandriva,
Slackware, Knoppix, Debian
OpenBeOS / Haïku : version libre de BeOS, puis remplaçant de BeOS lors de son extinction
et son rachat en 2001 Systémes d’exploitation - Généralités 18
22
Les différents systèmes
d'exploitation
LynxOS : , souvent appelé Lynx, est un système d'exploitation temps réel. Il ressemble à Unix et
est surtout employé pour des applications critiques comme l'aviation, l'armée... Il est aussi employé
dans l'industrie et les télécommunications.
Atheos, Système d'exploitation reprenant celui de Amiga et son interface graphique. En stagnation
depuis 2001, un autre projet a vu le nom s'en inspirant : Syllabe
23
Rôle du système
d’exploitation
Gestion du processeur :
Gérer l'allocation du processeur entre les différents programmes grâce à un algorithme.
24
Rôle du système
d’exploitation
Gestion de la mémoire vive :
Le SE est chargé de gérer l'espace mémoire alloué à chaque application et, le cas
échéant, à chaque usager.
En cas d'insuffisance de mémoire physique, le SE peut créer une zone mémoire sur
le disque dur, appelée «mémoire virtuelle».
25
Rôle du système
d’exploitation
26
Rôle du système
d’exploitation
Le SE gère la lecture et l'écriture dans le système de fichiers et les droits d'accès aux
fichiers par les utilisateurs et les applications.
27
Eléments de base des systèmes
d’exploitation
GUI
environnement « graphical user interface »
un environnement graphique (un environnement de
bureau ou un écran d'accueil.)
CLI
interface en ligne de commande « command
line interface » permet à l'utilisateur d'interagir avec le
système à partir de commandes
API
Application Programming Interface: Interface de
Programmation d'application c'est un moyen pour faire
communiquer une application avec ce qui peut être en
interaction avec elle
28
Eléments de base des systèmes
d’exploitation
29
Eléments de base des systèmes
d’exploitation
[Link] système de fichiers (en anglais «file system», noté FS), permettant
d'enregistrer les fichiers dans une arborescence.
30
Types d’un SE
31
Types d’un SE
1- Systèmes multitâches
32
Types d’un SE
1- Systèmes multitâches
33
Types d’un SE
1- Systèmes multitâches
Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque
processus par l'ordonnanceur. Pour ce faire, le système alloue à chaque utilisateur
une tranche de temps.
34
Types d’un SE
2- Systèmes multi-processeurs
35
Types d’un SE
2- Systèmes multi-processeurs
36
Chapitre 2
Gestion des processus
3
7
Partie 1
Notion de processus
3
8
Objectifs spécifiques
Connaître la notion de processus
Connaître les caractéristiques d’un processus ainsi que son contexte
Connaître la notion d’interruptions
Connaître les étapes du cycle de vie d’un processus
Eléments de contenu
I.Définition d’un processus
[Link] d’un processus
[Link]éristique d’un processus
[Link] d’interruptions
Définition d’un processus
Processus # Programme
Définition d’un processus
Un programme est statique: c’est un fichier contenant une suite d’instructions qui
lorsqu’elles sont exécutées modifient l’état du processeur et de la mémoire afin de réaliser
une tâche donnée.
Un processus est dynamique: c’est une instance d’exécution d’un programme sur
une machine de son lancement jusqu’à sa fin.
Etat d’un processus
En exécution: Les instructions sont en cours d’exécution (en train d’utiliser la CPU).
Un seul processus peut être en exécution sur n’importe quel processeur à tout moment.
Chaque processus est représenté dans le SE par un PCB (process control block )
Caractéristique d’un processus
PCB: contient plusieurs informations concernant un processus spécifique, comme par
exemple:
L’état du processus.
Informations sur la gestion de la mémoire: valeurs des registres base et limite, des
tables de pages ou des tables de segments.
Informations sur l’état des E/S: liste des périphériques E/S allouées à ce processus,
une liste des fichiers ouverts, etc.
Interruption
Interruption
arrêt temporaire de l’exécution
Interruption Matérielle :
Générée par les périphériques (clavier, disque, USB,…)
On utilise les interruptions d’horloge pour commuter les tâches dans les systèmes
multitâches.
4
9
Objectifs spécifiques
Eléments de contenu
[Link]âche et ordonnancement des processus
[Link]ères et types d’ordonnancement
[Link] d’ordonnancement
Motivation
→ S’il n’y a qu’un seul processus, un choix doit être fait quant au prochain processus
à exécuter
Motivation
La partie du système d’exploitation qui effectue ce choix se nomme l’ordonnanceur
(scheduler) et l’algorithme qu’il emploie s’appel algorithme d’ordonnancement (scheduling
algorithm)
Temps de
changement de
contexte
Temps
d’exécution
•Le taux d’utilisation de l’unité centrale: le rapport entre la durée pendant laquelle
l’unité centrale est active et la durée totale.
Le diagramme de Gantt est un outil utilisé (souvent en complément d'un réseau PERT) en
ordonnancement et en gestion de projet et permettant de visualiser dans le temps les
diverses tâches composant un projet.
Gestion des priorité
Types d’ordonnancement
FIFO traite les processus dans l’ordre de leur soumission (date d’arrivée) sans aucune
considération de leur temps d’exécution.
L’organisation de la file d’attente des processus prêts est donc tout simplement du “First In
First Out”.
L’algorithme FIFO consiste à choisir à un instant donné, le processus qui est depuis le plus
longtemps dans la file d’attente, ce qui revient à choisir celui disposant du temps d’arrivée
minimal et l’exécuter pendant un temps d’exécution bien définit.
Ce procédé est répété jusqu’à épuisement des processus dans la file d’attente.
Algorithme non-préemptif: FIFO
FIFo est une stratégie qui peut engendrer des temps d’attentes moyens
importants et très variables
Algorithme non-préemptif: FIFO
Exemple
Étant donnés trois processus P1, P2 et P3 dont les durées d'exécution sont données dans le
tableau suivant (Ces processus arrivent tous au temps 0) :
P1 24
P2 3
P3 3
Algorithme non-préemptif: FIFO
Exemple
Si les processus arrivent dans l’ordre P1, P2, P3, on aura le diagramme de Gantt suivant
Le temps d’attente de P1 est de 0ms, celui de P2 est de 24ms et enfin celui de P3 est 27ms
Le temps d'attente moyen = (0+24+27)/3 = 17ms.
L'algorithme d'ordonnancement FIFO possède l'avantage d'être simple à réaliser. Alors que, le temps
d'attente pour l'allocation du processeur au processus n'est pas optimal puisque les processus en
tête de la file peuvent être les processus les plus longs à exécuter.
Algorithme non-préemptif: FIFO
Exemple
Supposons que les processus arrivent dans l’odre P2, P3, P1, on aura la diagramme de Gantt
suivant :
SJF choisit de façon prioritaire les processus ayant le plus court temps d’exécution sans réellement
tenir compte de leur date d’arrivée.
Ce procédé est répété jusqu’à épuisement des processus dans la file d’attente.
Algorithme non-préemptif: SJF
Exemple Les processus P1, P2, P3 et P4 arrivent tous au temps 0 et ont les temps
d’exécution suivant:
P1 6
P2 8
P3 7
P4 3
Algorithme non-préemptif: SJF
Exemple
Au temps 1 le processus B arrive mais il doit attendre que le processus A termine son
exécution car il a encore 2 unités de temps.
Il y a cinq tâches exécutées dans 16 unités de temps, alors 16/5=3.2 unité de temps
par processus en moyenne
Ordonnancement non-préemptif: Exercice 1
Il y a cinq tâches exécutées dans 16 unités de temps, alors 16/5=3.2 unité de temps par
processus
Algorithme non-préemptif: Algorithme
basé sur la priorité
Les algorithmes fondés sur les priorités attribuées par le système d’exploitation aux processus
choisissent les processus les plus prioritaires sans prise en considération d’une manière générale des
données durée d’exécution et date d’arrivée des processus.
Le principe de cet algorithme consiste à associer à chaque processus une priorité. Le processeur est
alloué au processus ayant la plus grande priorité. Ce procédé est répété jusqu’à épuisement des
processus se trouvant dans la file d’attente.
Algorithme non-préemptif: Algorithme
basé sur la priorité
Algorithme non-préemptif: Algorithme
basé sur la priorité
Exemple:
Le Round Robin (RR) décrit une stratégie dite du tourquinet où on procède à un recyclage des
processus sur le processeur tant que ceux-ci ne se sont pas terminés.
Lorsqu’un processus est élu, on lui attribue une tranche de temps fixe, appelé quantum, pendant
laquelle il s’exécute. Au bout de ce temps, on ne poursuit plus l’exécution du processus, on lui
retire et on le réinsère dans la file des processus prêts.
Algorithme préemptif: Algorithme du
tourniquet
Si le processus ne se termine pas au bout de son quantum, son exécution est suspendue.
Quantum = 4ms
Algorithme préemptif: Algorithme du
tourniquet
Algorithme préemptif: Algorithme du
tourniquet
Impact de la valeur du quantum dans RR
Un quantum trop élevé augmente le temps de réponse des courtes commandes en mode interactif.
•SRT choisit le processus dont le temps d’exécution restant est le plus court.
•On procède comme dans le cas de la stratégie du tourquinet à l’attribution d’un quantum
fixe au delà duquel on cherche à élire le processus le plus court en terme de temps
d’exécution restant pour atteindre sa terminaison.
•Le SRT est une généralisation avec réquisition de l’algorithme SJF. L’algorithme choisit la
tâche pour laquelle le temps d’exécution est minimal et l’affecte au processeur pendant un
quantum temps Q. Le passage d’un processus à un autre se fait en fonction du temps
d’exécution restant associé au processus se trouvant dans la file d’attente.
Algorithme préemptif: SRT
Algorithme préemptif: SRT
P1 commence à t=0, il est le seul processus dans la file d’attente P2 arrive à t=1ms
Le temps restant à P1 est de 7ms > temps demandé par P2, 4ms
→ P2 est exécuté et P1 retourne dans le file d’attente
Le temps moyen d’attente = [(10 -1) + (1-1) +(17-2) +(5-3)] /4 =6.5ms < 7.75ms le temps moyen
d’attente de SJF
Algorithme préemptif: SRT
Soient deux processus A et B prêts tels que A est arrivé en premier suivi de B, 2 unités de
temps après. Les temps de processeur nécessaires pour l'exécution des processus A et
B sont respectivement 15 et 4 unités de temps.
Considérons cinq Processus P1, P2, P3, P4, P5, dont les temps d'exécution et leurs temps
d’arrivée respectifs sont les suivants
Eléments de contenu
Un programme doit être chargé dans la mémoire centrale pour être
exécuté.
Allocation non contigüe (le processus peut être stocker sur des
zones mémoires éparpillées)
- Pagination et segmentation
Allocation contigüe : Partitions Fixes/ Variable
La mémoire est divisée en partitions fixes dés le démarrage du
système ou bien de différents tailles.
On peut définir une file d’attente par partitions, ou une file commune à
toutes les partitions.
Allocation contigüe : Partitions Fixes
Algorithme de placement pour partitions
fixes : cas de plusieurs files :
Assigner chaque processus à la
partition de la plus petite taille pouvant le
contenir.
Un processus de
taille 18Mo
Exercice:
Soit une mémoire centrale composé de 5 partitions: P1, P2, P3, P4 et
P5 ces partitions sont pour tailles respectives 100, 500, 200, 300 et
600 K (dans cet ordre) . Soient 4 processus A, B, C et D
De tailles respectives 212, 417, 112 et 426K.
Inconvénients:
Temps de transfert programmes
La page virtuelle 2 n'est pas mappée. Une adresse virtuelle comprise entre 8192 et
12287 donnera lieu à un défaut de page.
Allocation non contigüe : La pagination
Principe de l’algorithme de remplacement de page:
Allocation non contigüe : La pagination
Algorithme de remplacement de page:
Allocation non contigüe : La pagination
Algorithme de remplacement de page:
Allocation non contigüe : La pagination
Algorithme de remplacement de page:
Merci de votre attention
14
0