Vous êtes sur la page 1sur 19

SYSTÈMES D'EXPLOITATION: NOTIONS DE BASE

DÉFINITION

 Un système d’exploitation (en anglais Operating Système) est un ensemble de programmes


responsables de la liaison entre les ressources matérielles d’un ordinateur et les applications
de l’utilisateur
 Il fournit aux programmes applicatifs des points d’entre génériques pour les périphériques.
 Le système d’exploitation (ensemble de programmes) s’intercale entre les logiciels et le
matériel, permettant de:
 Séparer les applications des spécificités et des limitations du matériel
 Protéger le matériel des applications
 Offrir une vue simple et cohérente au programmeur pour développer ses applications (API:
Applications Programming Interface)

2
RÔLE D’UN SYSTÈME D’EXPLOITATION

 Gestion de la mémoire centrale


 Gestion des processeurs temps de calcul entre plusieurs programmes qui s’ exécutent
simultanément
 Gestion de périphériques d’entrée et de sortie
 Gestion des fichiers sur les mémoires de masse
 Gestion des ressources : attribution de ressources nécessaires
 Exécution du programme sans empiétement
 Gestion d’utilisateurs : pas d’ interférence entre eux

3
COMPOSANTES D’UN SYSTÈME D’EXPLOITATION

 Parmi cet ensemble de logiciels on distingue généralement les éléments suivants:


 Le noyau (en anglais kernel) représentant les fonctions fondamentales du système d'exploitation telles que la gestion de
la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de communication.
 L'interpréteur de commande (en anglais shell) permettant la communication avec le système d'exploitation par
l'intermédiaire d'un langage de commandes,
 Le système de fichiers (en anglais «file system», noté FS), permettant d'enregistrer les fichiers dans une arborescence.
 Parmi les systèmes d’exploitation
 Linux
 Mac/MacOS
 Windows NT/2000/XP
 MS-Dos
 AS/400

4
FONCTION DU NOYAU (KERNEL)

 Gestion des périphériques (au moyen de pilotes)


 Gestion des files d'exécution (aussi nommée processus) :
 Attribution de la mémoire à chaque processus
 Ordonnancement des processus (répartition du temps d'exécution sur le ou les processeurs)
 Synchronisation et communication entre processus (services de synchronisation, d'échange de
messages, mise en commun de segments de mémoire, etc.)
 Gestion des fichiers (au moyen de systèmes de fichiers)
 Gestion des protocoles réseau (TCP/IP, IPX, etc.)

5
SHELL

 Shell (coquille par opposition au noyau) = L'interpréteur de commandes


permettant la communication avec le SE par l'intermédiaire d'un langage de
commandes
 Permet à l'utilisateur de piloter les périphériques en ignorant tout des
caractéristiques du matériel qu'il utilise, de la gestion des adresses physiques,
etc.
 E.g. sur un OS Unix/Linux: csh, tcsh, …
 $ls : lister les répertoires et les fichiers du répertoire courant
 $mv x y : changer le nom du fichier/répertoire « x » en « y »

6
LE SYSTÈME DE FICHIERS

 Un système de fichiers est une structure de données permettant de stocker les


informations (disque dur, disquette, CD-ROM, clé USB, etc.)
 E.g. une structure hiérarchique

 Ce stockage de l'information est persistant

 Une telle gestion des fichiers permet de traiter, de conserver des quantités
importantes de données

 Il offre à l'utilisateur une vue abstraite sur ses données et permet de les localiser à
partir d'un chemin d'accès

7
LES DIFFÉRENTS TYPES D’ARCHITECTURE DE SYSTÈMES D’EXPLOITATION

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


 Monolithiques
 Modulaire / Multicouches
 Micronoyaux
 Exonoyaux
 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 se plante.

8
OS MONOLITHIQUES

 Un seul bloc contenant l’ensemble des Application Application Application

services système (mode noyau).


 Facilité de conception service
service
service service
Système
service d’exploitation
 Code difficile à maintenir service
service service

 Exemples: Dos, très vieux UNIX et


Matériel
Linux, etc.

PARTIE 1 : INTRODUCTION

9
OS MULTICOUCHES

Application Application Application

 OS organisé en hiérarchie de couches. Chacune


construite sur la base des services offerts par la
couche inférieure. service service

 Facilité de conception et de développement


service
 Code plus organisé et maintenable. Système
d’exploitation

 Chargement des fonctionnalités à la demande service service

 Exemples: Linux, BSD, SOLARIS service service service

PARTIE 1 : INTRODUCTION
Matériel
10
OS MICRONOYAU

 Déplace plusieurs fonctions de l’OS vers des « processus serveur » s’exécutant en mode utilisateur  réduction au maximum de
la taille du code privilégié (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 système (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
 Exemples: MAC OS X, GNU HURD, Windows

Processus Processus Processus Serveur de Serveur de Serveur de


Mode utilisateur
client client serveur terminaux fichiers mémoire

Micronoyau Mode noyau


11
OS EXONOYAUX

 Le noyau se contente de multiplexer et protéger


Application Application Application
l’accès aux ressources. Tout le traitement qu’on

Espace utilisateur
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». LibOS1 LibOS2 LibOS3

 Plusieurs LibOS peuvent être utilisées en parallèle.


 Gain de performance
exonoyau
 Pb de sécurité
 Isolation de bugs
Matériel

12
OS MACHINE VIRTUELLE

 Possibilité de mettre plusieurs OS sur une machine

Machine Virtuelle
Application Application Application Application

physique. Système Système


d’exploitation d’exploitation
invité invité
 Le moniteur de machine virtuelle (hyperviseur)
intercepte les instructions privilégiées envoyées par
Moniteur de machine virtuelle
l’OS invité, les vérifie (politique de sécurité) et les
exécute.
Système d’exploitation hôte
 Exemple: XEN, VMWare, QEMU, etc.
Couche matériel

13
TYPE DE SYSTEMS EXPLOITATION

Interface de ligne de commande (CLI) Interface Graphique Utilisateur (GUI)


L’ulisateur saisit des commandes à l’invite L’utilisateur interagit avec des menus icônes.

14
MODE REEL / MODE PROTÉGÉ

 Mode réel
 Un processeur qui fonctionne en mode réel ne peut exécuter qu'un programme à
la fois et ne peut accéder qu'à un 1Mo de mémoire système à la fois.
 En mode réel, lorsqu'une application crée une erreur, l'ordinateur entier peut être
affecté car le programme a un accès direct à la mémoire.
 Mode protégé
 Un processeur fonctionnant en mode protégé a accès à toute la mémoire de
l'ordinateur, y compris la mémoire virtuelle.
 En mode protégé, les applications ne peuvent pas utiliser la mémoire réservée à
une autre application en cours d'exécution.
15
SYSTEME D’EXPLOITATION DE BUREAU / DE RÉSEAU

16
LINUX

 Initialement conçu pour fonctionner sur plateforme PC, puis a été porté (c'est-à-dire
adapté) vers de nombreuses autres plateformes, telles que Macintosh, assistants
personnels (PDA), voire des consoles de jeu vidéo !
 Plusieurs distribution (l'assemblage d'un ensemble de logiciels autour d'un noyau
Linux afin de fournir un système clé en main):
 RedHat ;
 Debian ;
 SuSe ;
 Knoppix ;
 Slackware ;
 Mandriva.

17
LINUX: PRINCIPES

 Sous unix, tout est fichier


 fichiers (!)
 repertoires
 devices
 liens
 pipes
 Sockets
 Sous Linux, tous les fichiers de configuration sont texte ou
générés a partir de fichiers texte
 Pas de binaire dans le sens où tous les fichiers de
configuration doivent être éditables simplement
(≠registry)

18
LINUX: PRINCIPES (2)

 Multitâche
 plusieurs processus s'executent en meme temps
 l'OS a le contrôle des processus
 Multiutilisateur
 Plusieurs utilisateurs peuvent se connecter simultanément
 Plusieurs utilisateurs peuvent exécuter des processus simultanément
 Gestion de temps et de ressources
 Processus: exécuter, suspendre, détruire

19

Vous aimerez peut-être aussi