Cours- Systèmes d’exploitation 1 LFSI1
Systèmes d’exploitation
Asma NAJJAR
ISTIC-LFSI1
2018-2019
Plan du cours
• Chapitre 1 : Introduction générale aux
systèmes d’exploitation
• Chapitre 2: Gestion des processus
• Chapitre 3: Gestion de la mémoire
• Chapitre 4: Gestion des fichiers
2
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Systèmes d’exploitation
Chapitre 1 : Introduction générale
aux systèmes d’exploitation
Plan du chapitre
1. Définitions
2. Historique des SEs
3. Fonctionnalités d’un SE
4. Catégories d’un SE
5. Composantes d’un SE
6. Architectures d’un SE
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Définitions
Les logiciels se répartissent en deux grandes classes:
1. Les programmes d’application (Logiciels utilisateur)
2. Les programmes systèmes (Logiciels de base).
Applications utilisateurs
Structure en couche
Système d’exploitation
Matériel
Le système d’exploitation (SE) est le programme fondamental des logiciels
systèmes (Logiciel de base); il fournit la base sur laquelle seront
construit les logiciels utilisateurs.
Un même logiciel d’application ne peut pas être compatible avec toutes les
plates-formes et il existe une version par système d'exploitation. 5
Définitions
• L’ordinateur est formé par un ensemble complexe de
composantes électroniques fournies par divers constructeurs
avec beaucoup de technologies différentes.
Il faut disposer un outil qui facilite l’accès et la programmation
de cette machine.
Le système d’exploitation (SE
SE) permet de faire abstraction de la
complexité de manipulation du matériel et de masquer ses aspects
fastidieux.
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Définitions
• L’ordinateur peut être vue, aussi, comme étant un
ensemble de ressources matérielles (processeur, mémoires,
périphériques, …) et logicielles (programmes, fichiers,
interfaces, …).
Le système d’exploitation est défini donc comme étant un
ensemble de programmes permettant de gérer les
ressources de l’ordinateur.
Historique
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Historique
1. Premières réalisations : avant l’apparition des
ordinateur
– Premières machines à calculer
• La pascaline (Pascal, 1642)
• La métier à tisser (Leibniz, 1674)
• La machine analytique (Babbadge, 1834)
Historique
2. Premiers systèmes informatiques (1945 1955)
• Prototypes d’ordinateurs à base de tubes électroniques à
vide
• Des grandes machines à principe de fonctionnement
mécanique
• La programmation se fait directement en langage machine.
• Pas de systèmes d’exploitation.
• Exemple : ENIAC effectue ses calculs en décimal. Les
données sont lues au moyen d'un lecteur de cartes
perforées, et les résultats sont fournis sur cartes perforées.
10
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Historique
•Les cartes perforées
Une ligne de données ou de programme était
codée dans des trous qui pouvaient être lus par la
machine
11
Historique
3. Mainframes (1955 1965)
• L’apparition des transistors a permis la construction grandes
machines enfermées dans des salles et utilisées par les
grandes entreprises et les grands centres de recherche.
• Les systèmes d'exploitation sont apparus avec l'apparition du
transistor
• Programmation en Assembleur et Fortran. Apparition des deux
premiers SE: FMS (Fortran Montor System) et IB-Sys d’IBM.
• Traitement par lots
Désormais la machine devient un ordinateur et on dissocie le
programmeur du constructeur de cette dernière.
12
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Historique
• Le traitement par lots
– Automatisation des travaux.
– Collecter un ensemble de travaux, les enregistrer sur bande
magnétique, puis faire lire la bande par l’ordinateur chargé des
calculs.
– Récupérer les résultats sur une autre bande pour être imprimés.
– Chaque programme de la bande était lu, exécuté et ensuite
l’ordinateur passait automatiquement au suivant.
– Cet automatisme était possible grâce à un programme résident
en mémoire appelé moniteur système qui permettait de passer
le contrôle d'un programme à un autre.
13
Historique
• Le traitement par lots
- Le problème est que le processeur restait inutilisé pendant les opérations d’entrée et
sortie (E/S)
14
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Historique
4. Mini-ordinteurs (1965 1980) et Micro-ordinteurs
(1980-?)
- Diminution de la taille des ordinateurs et l’augmentation de
leurs capacités de calcul grâce aux circuits intégrés.
Plusieurs SE ont parus et ont dominés tels que DOS,
Windows et dérivés, Linux, Solaris, Mac OS, …
15
Historique
5. Les systèmes parallèles et répartis (1990-?)
• Les SE réseaux et les Systèmes Répartis ou distribués sont
apparus grâce à l’évolution des réseaux
• Un système réparti est composé de plusieurs sites chacun
comportant une ou plusieurs machines reliées à travers un réseau
de communication.
• Un système parallèle permet de gagner en capacité de
traitement.
• Un programme constitué de n procédures plus ou moins
indépendantes peut être exécuté par n processeurs, chacun se
.
chargeant d'une procédure
16
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Fonctionnalités d’un SE
17
Fonctionnalités d’un SE
• Les principales fonctionnalités d’un SE sont reliées
aux différentes ressources manipulés par l’ordinateur
1. Gestion des processus
2. Gestion de la mémoire
3. Gestion des fichiers (gestion du disque)
4. Gestion des périphériques (Entrées / Sorties)
5. Gestion de l’interface Homme / Machines
6. Gestion du réseau
18
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Fonctionnalités d’un SE
• Gestion de processus
– Quel processus s’exécute à un moment donné?
– A quel moment interrompre le processus?
– Quel sera le suivant?
– De quoi le processus a besoin comme ressources
pour son exécution?
– Le système d'exploitation doit gérer deux types de
processus : les siens et ceux des utilisateurs
– Ordonnancement , Synchronisation, Communication,
…
19
Fonctionnalités d’un SE
• Gestion de la mémoire
– Allocation de la mémoire aux programmes
– Libération de mémoire
– Gestion des règles d’adressage pour que les
processus en mémoire ne puissent pas interférer
entre eux.
– Gestion de la mémoire virtuelle
20
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Fonctionnalités d’un SE
• Gestion des fichiers
– Gestion du disque
– Créer, copier, lire, supprimer… les fichiers
– Gérer l'espace occupé par les fichiers ainsi que
l’espace libre.
– Prendre en charge le partage et la protection des
fichiers dans un environnement multi-utilisateurs.
21
Fonctionnalités d’un SE
• Gestion des périphériques
– Partage efficace des ressources entre les
programmes
– Configuration, Accès et utilisation des différents
périphériques
– Détecter et gérer les erreurs d’E/S
22
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Fonctionnalités d’un SE
• Gestion de l’interface Homme/Machine
– Fournir un interface conviviale, transparente et
facile à utiliser
23
Fonctionnalités d’un SE
• Gestion du Réseau
– Partage des fichiers utilisateurs
– Protection de ces fichiers
– Identification des machines et des utilisateurs
connectés au réseau
24
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SEs
25
Catégories des SE
Les SE peuvent être classés selon plusieurs
critères. Exemples :
Le nombre de processus exécutés en parallèle
SE Mono-tâche / SE Multitâches
Le nombre d’utilisateurs connectés en même moment
SE Mono-utilisateur / SE Multiutilisateurs
Le nombre de processeur que contient la machine
SE Monoprocesseur / SE Multiprocesseurs
26
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SE
• Système Mono-tâche
– Ne permet d’avoir à un moment donné en MC qu’une seule
tâche un seul programme peut être actif
– Lorsque un programme est lancé il mobilise toutes les
ressources de la machine et ne les libère que à sa
terminaison
– Exemple: MS-DOS
27
Catégories des SE
• Système Mono-tâche
28
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SE
• Système Multitâches
- Plusieurs tâches peuvent être présentes et simultanément
active à un moment donné dans la mémoire centrale.
- Ces tâches sont totalement indépendantes les unes des
autres
- Le SE peut partager le temps du processeur entre plusieurs
tâches qui semblent s’exécuter simultanément.
29
Catégories des SE
• Système Multitâches
30
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SE
• Mono-utilisateur
• Un seul utilisateur à la fois
• Période t machine individuelle
– Pendant une période t il n’y a pas de partage de ressource
(usage exclusif)
31
Catégories des SE
• Multiutilisateurs
– Architecture différente = Architecture réseau
• Une machine qui va être partagée (serveur)
– Une machine avec ressources qui peuvent supportés plus d’un
utilisateur (Processeur rapide, RAM assez grande, disque de
capacité élevé..)
• Moyen d’accès au serveur (terminaux)
– Terminaux esclaves: (clavier +écran)
– Terminaux intelligents (machine qui peut fonctionner en
mode mode local ou distant.
• Liens physiques de connexion entre serveur et terminaux
dépendant de la distance (cable, Réseau, satellite, …)
Le SE est installé sur le serveur
32
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SE
• Un système multiutilisateurs est un système à temps
partagé
– Le processeur est alloué, à tour de rôle, pendant un certain
temps à chacun des travaux en attente d’exécution.
– Au bout de ce temps, même si le travail en cours ne s’est pas
terminé, son exécution est suspendue.
– Le processeur est alloué à un autre travail.
– Si plusieurs utilisateurs lancent à partir de leurs terminaux leurs
programmes simultanément, ce mode d’exploitation donne
l’impression que les programmes s’exécutent en parallèle
33
Catégories des SE
• Système à temps partagé
34
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SEs
• Systèmes Monoprocesseur
– Installés sur des machines qui sont équipés par un seul
processeur
• Systèmes Multiprocesseurs
– Capables de faire fonctionner plusieurs processeurs en
parallèle afin d'obtenir une puissance de calcul plus
importante
– Un système multiprocesseur doit donc être capable de
• gérer le partage de la mémoire entre plusieurs processeurs
• distribuer la charge de travail.
– Exemples: Windows NT et UNIX
35
Catégories des SEs
Il existe d’autres types de systèmes d’exploitation
Systèmes embarqués
Systèmes temps-réels
Systèmes mobiles
36
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SEs
• Systèmes embarqués
– SE qui sont destiner pour des machines de petite
taille ou des appareils électroniques autonomes.
• 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.
• Il sont partout : Voiture, Machine à laver, Télévision,
Téléphone portable, Robot, …
37
Catégories des SEs
• Systèmes temps réel
– Un type de système embarqué qui doit :
• Fonctionner de manière fiable selon des contraintes
temporelles spécifiques
• Etre capable de délivrer un traitement correct des
informations reçues à des intervalles de temps bien
définis (réguliers ou non).
• Exemple d’utilisation dans l’aéronautique (avions,
satellites, …), trains, …
38
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Catégories des SEs
• Systèmes mobiles
– Un type de système embarqué utilisés sur des appareils
mobiles tels que PDA, tablettes, téléphones cellulaires,
téléphones intelligents,…
– Exemples : Android, BlackBerry OS, iOS Windows Mobile,…
39
Composantes
40
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Composante d’un SE
• Le noyau (kernel) d’un système d’exploitation est l’ensemble
logiciel indivisible minimal qui est systématiquement chargé
au démarrage (toujours en mémoire centrale: MC)
• Les autres parties sont amenées en MC au besoin.
• Le noyau contient les fonctionnalités critiques du SE: elles
doivent toujours être prêtes à l ’utilisation.
– gestion du processeur
– gestion mémoire vive
– communication entre processus
– traitement d’interruptions
– etc.
41
Les appels système
• Un appel système est un moyen de communiquer
directement avec le noyau de la machine.
– Certains traitements ne peuvent pas être exécutés et contrôlés
directement par un programme utilisateur car le système ne le
permet pas.
– Le programmeur doit faire explicitement appel aux services du
système d'exploitation pour accéder à certains ressources.
– Exemple: il 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.
42
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Les appels système
• Quelques appels systèmes classiques :
– Manipulations sur les systèmes de fichiers
• open, read, write et close
– Allouer et libérer de la mémoire.
• alloc et free
43
Les appels système
44
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Les appels système
• Afin de protéger l'exécution du système d'exploitation et
celles des programmes utilisateurs, les processeurs
proposent deux modes de fonctionnement:
– Le mode utilisateur
• Dans lequel les programmes utilisateurs sont exécutés.
– Le mode protégé ou superviseur (également appelé mode
noyau)
• Il est réservé à l'exécution des fonctions du système
d'exploitation.
• Dans ce mode le processeur peut exécuter toutes les
instructions.
• Les appels système s'exécutent dans ce mode, même si le
programme ayant demandé son exécution est exécuté en mode
utilisateur.
45
Les appels système
46
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures
(Structures des SE)
47
Architectures des SE
• Le SE peut être organisé de diverses manière:
1. Les systèmes monolithiques
2. Les systèmes en couches
3. L’architecture client/serveur
4. La machine virtuelle
48
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures des SE
1. Les systèmes monolithiques
– Constituer d’un ensemble de procédure.
– Chaque procédure pouvant appeler à tout instant
n’importe quelle autre.
– Exemple: Le système MS-DOS, les premières version de
UNIX.
– L’exécution d’une procédure de fait de la manière
suivante
1. Le programme utilisateur passe du mode utilisateur au mode
supervisé, suite à sa demande.
2. Le SE détermine le numéro du service requis
3. Le SE localise les services requis. Ceux-ci s’exécute en plaçant le
résultat à un endroit bien définit.
4. Le contrôle est rendu au programme de l’utilisateur. 49
Architectures des SE
1. Les systèmes monolithiques
50
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures des SE
2. Les systèmes en couches
- C’est un ensemble de couches spécialisées où chacune ne
pouvant être appeler que par des processus de la couche
supérieure.
- On distingue les couches allocation processeur, gestion de la
mémoire, communication entre processus et terminaux,
gestion des E/S et les programmes utilisateurs.
51
Architectures des SE
2. Les systèmes en couches
– L’OS est divisé en un nombre de couches (niveaux),
chacun construit en fonction des couches inférieures.
– Avec la modularité, les couches sont construites de
sorte que chaque couche utilise seulement les
fonctions (opérations) et les services des couches
inférieures.
– La couche la plus basse (couche 0) est le matériel; la
couche la plus haute (couche N) est l’interface
utilisateur.
– Un système d’exploitation en couche est constitué de
plusieurs couches ou chacune donne des services à la
couche la plus haute et demande des services à la
couche la plus basse.
52
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures des SE
3. L’architecture client/serveur
– La plupart des fonctionnalités du SE sont reportées dans
des processus utilisateurs.
• Cette structure a allégé l’espace noyau du système, la plupart des
fonctionnalités du SE sont déplacées dans l’espace utilisateur.
– Le noyau système est réduit donc à la gestion de la
communication entre les clients et les serveurs.
• La fonction essentiel du noyau est le traitement des requêtes entre
le client et le serveur.
• Le client envoie une requête vers le serveur, celui-ci effectue le
traitement et lui rends un réponse.
53
Architectures des SE
3. L’architecture client/serveur
– Lorsque le noyau est extrêmement réduit, on le
qualifie de « micro noyau »
– Presque tous les appels système ou sont
désormais des processus clients
• Par exemple pour créer un fichier un processus client va
envoyer un message au processus serveur qui se trouve
être le système de gestion des fichiers.
54
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures des SE
3. L’architecture client/serveur
55
Architectures des SE
4. Les machines virtuelles
- Le système se compose d’un moniteur de machine
virtuelle qui fournit à la couche supérieure plusieurs
copies virtuelles conformes à la machine réelle.
- Le concept d’une machine virtuelle (VM) fournit une
protection complète des ressources système du fait que
toute VM est isolée des autres VMs.
- Une machine virtuelle fournit une interface identique à
celle du matériel sous-jacent
- Le SE crée l’illusion de processus multiples, chacun
s’exécutant sur son processeur et sur sa mémoire
56
Asma Najjar ISTIC
Cours- Systèmes d’exploitation 1 LFSI1
Architectures des SE
4. Les machines virtuelles
– Les ressources de l’ordinateur sont partagées pour
créer les machines virtuelles
57
Asma Najjar ISTIC