Вы находитесь на странице: 1из 19

Notes de cours

Systèmes d’exploitation I

Docteur Ingénieur : Mohamed BENJLAIEL


- Université de Sfax- ENIS : Laboratoire REGIM-Lab
- Université de la Rochelle – France : Laboratoire L3i
Statut: Maître-assistant en informatique à la Faculté des Sciences de Gafsa
Tel: (+216) 98 638 109
Email: benjlaiel@yahoo.fr

Site web:
http://benjlaiel.hebergratuit.net/
Notion de système d'exploitation
Le système d'exploitation: Rappel
Les systèmes informatiques sont constitués d'un ensemble
de composantes matérielles et logicielles
Le système d'exploitation: Définition
Le système d'exploitation (SE, en anglais Operating System ou OS) est un
ensemble de programmes responsables de la liaison entre les ressources
matérielles (disque, mémoire, processeur, ...) d'un ordinateur et les
applications de l'utilisateur (traitement de texte, Internet, jeu vidéo…).
Structure du système d'exploitation
Fonctions d'un système d'exploitation
Le système d'exploitation (noyau) assure les fonctionnalités
suivantes :

L'allocation de la CPU (Central Processing Unit)


La gestion des interruptions
La gestion des processus :
• Ordonnancement des processus (répartition du temps processeur).
• Attribution de la mémoire à chaque processus ;
• Synchronisation et communication entre processus (services de
synchronisation et de passage de message).

La gestion des fichiers (au moyen de systèmes de fichiers)


La gestion des périphériques (au moyen de pilotes) ;
La gestion des protocoles réseau (TCP/IP, IPX, etc.).
La gestion de la sécurité
Liens entre architecture physique
et système d'exploitation
Liens entre architecture physique et système
d'exploitation
Besoin de la communication entre l’homme et la machine..
Besoin d'accès à toutes les fonctionnalités de la machine
Réunion du matériel et du système d’exploitation
Types / classes de systèmes d'exploitation
Types / classes de systèmes d'exploitation
Les systèmes d’exploitation peuvent être classés en différentes
catégories et selon différents critères :

Les interfaces:

La ligne de commande, le mode texte avec le clavier.


L’interface graphique (GUI pour Graphical User Interface), le mode
graphique, avec un pointeur comme une souris.
Le nombre d’application qui tournent en simultané :
Les systèmes d’exploitation mono tâche.
Les systèmes d’exploitation multi tâches peuvent faire fonctionner
plusieurs applications en même temps :
Les systèmes d’exploitation préemptifs gèrent le temps processeur
alloué à chaque application. Un commutateur de tâches intervient pour
répartir l’allocation des ressources. Des degrés de priorité sont
accordés à chaque application. Chaque application peut être
interrompus sans interférer avec les autres applications.
Les systèmes d’exploitation coopératifs. Une seule application peut
monopoliser toutes les ressources de l’ordinateur, et ne rendre la main
aux autres applications uniquement quand elle aura terminée…
Types / classes de systèmes d'exploitation

Le nombre d’utilisateurs :
Les systèmes d’exploitation mono utilisateurs (mono
programmation).
Les systèmes d’exploitation multi utilisateurs (multiprogrammation)
peuvent supporter plusieurs sessions en même temps.
La connectivité réseau :
Les systèmes d’exploitation clients.
Les systèmes d’exploitation serveurs.
serveurs
Le nombre de bits des instructions des programmes qui sont
développés pour fonctionner avec tel ou tel système :
Les applications 16 bits
Les applications 32 bits
Les applications 64 bits …
Le nombre de processeur :
Les systèmes d’exploitation mono processeur
Les systèmes d’exploitation multi processeur (Windows NT et UNIX)
Types / classes de systèmes d'exploitation
On distingue plusieurs types: selon qu'ils sont capables de gérer simultanément
des informations d'une longueur de 16 bits,32 bits, 64 bits ou plus.
Mono- Multi- Mono-
Système Codage Multitâche
utilisateur utilisateur tâche
DOS 16 bits X X
Windows3.1 16/32 bits X non préemptif
Windows95/
32 bits X coopératif
98/Me
WindowsNT
32 bits X préemptif
/2000
WindowsXP 32/64 bits X préemptif
Windows7 32/64 bits X préemptif
Unix / Linux 32/64 bits X préemptif
MAC/OS X 32 bits X préemptif
VMS 32 bits X préemptif
Types / classes de systèmes d'exploitation
OS temps partagé: garantir le partage équitable du temps processeur
et des ressources dans le but de maximiser le temps de traitement
et de réduire le temps de réponse moyen.

Muli-programmation
OS temps réel: garantir les temps de réponse
Systèmes à contraintes souples/molles: systèmes acceptant des
variations minimes de temps de réponse (systèmes multimédias)
Systèmes à contraintes dures: gestion stricte du temps pour
conserver l’intégrité du système (déterminisme logique et temporel et
fiabilité)
OS embarqué: OS prévus pour fonctionner sur des machines de
petite taille, (PDA "Personal Digital Assistant" ou des appareils
électroniques autonomes: sondes spatiales, robot, ordinateur de bord,
etc.), possédant une autonomie réduite gestion avancée de
l'énergie + ressources limitées.
Structuration des systèmes d'exploitation
Structuration des systèmes d'exploitation

Différents types de systèmes d’exploitation:


Monolithiques
Modulaire / Multicouches
Micronoyaux
Exo-noyaux
Machine virtuelle

Le noyau est généralement exécuté dans un espace mémoire


séparé de l’espace des applications: espace noyau. Par
opposition à l’espace utilisateur. Le passage entre ces deux
espaces se fait via des appels systèmes. L’intérêt de cette
séparation est que le système ne crash/se plante pas si une
application plante.
Structuration des systèmes d'exploitation
OS Monolithiques
Un seul bloc contenant l’ensemble des services système (mode noyau).
Facilité de conception
Code dur à maintenir
Dos, très vieux UNIX et Linux, etc.

Application Application Application

service service service service


Système
service service
service service d’exploitation

15 Matériel
Structuration des systèmes d'exploitation
OS Multicouches
OS organisé en hiérarchie de couches. Chacune construite sur la base
des services offerts par la couche inférieure.
Facilité de conception et de développement, code plus organisé
Chargement des fonctionnalités à la demande
Linux, BSD, SOLARIS
Application Application Application

service service

Système
d’exploitation
service service

service service service

16
Matériel
Structuration des systèmes d'exploitation
OS Micronoyau
Déplace plusieurs fonctions de l’OS vers des « processus serveur »
s’exécutant en mode utilisateur réduire la taille du code (en mode noyau).
But: gérer les communications entre applications et serveurs pour:
Renforcer la politique de sécurité
Permettre l’exécution de fonctions OS (accès aux registres d’E/S, etc.).
Fiabilité augmentée: si un processus serveur « crash », le système continue
à fonctionner et il est possible de relancer ce service sans redémarrer.
Modèle facilement étendu à des systèmes distribués
MAC OS X, GNU HURD, Windows NT

Serveur Serveur
Processus Processus Processus Serveur Mode
de de
client client serveur de fichiers utilisateur
terminaux mémoire

17 Mode noyau
Structuration des systèmes d'exploitation
OS Exo-noyau
Le noyau se contente de multiplexer et protéger l’accès aux ressources.
Tout le traitement qu’on trouve habituellement dans un noyau (mémoire
virtuelle, système de fichiers, ...) est délégué à l’espace utilisateur via
des bibliothèques appelées «LibOS». Plusieurs LibOS peuvent être
utilisées en parallèle.
Application Application Application
Gain de performance

Espace utilisateur
Pb de sécurité
Isolation de bugs
LibOS1 LibOS2 LibOS3

exonoyau

Matériel
Structuration des systèmes d'exploitation
OS machine virtuelle
Possibilité de mettre plusieurs OS sur une machine physique.
Le moniteur de machine virtuelle (hyperviseur) intercepte les instructions
privilégiées envoyées par l’OS invité, les vérifie (politique de sécurité) et
les exécute.
XEN, VMWare, QEMU, etc.

Machine Virtuelle
Application Application Application Application

Système d’exploitation Système d’exploitation


invité invité

Moniteur de machine virtuelle

Système d’exploitation hôte

19
Matériel

Вам также может понравиться