Bibliographie
� J. Delacroix Linux programmation syst`eme et r´eseau. Edition
Dunod. 2003.
� Chapitre 2 Processus, Threads et Ordonnancement : Sections :
1 et 2
� Chapitre 3 Syst`eme de gestion de fichiers : Section : 4
� Chapitre 7 Communication entre processus : Sections : 1 et 2
� A. Tanenbaum. Syst`emes d’exploitation. 3`eme
Edition. NH.
2008.
� Chapitre 2 Processus et Thread : Sections : 3 et 4
� Chapitre 4 Gestion de la m´emoire : Sections : 2 et 3
� Chapitre 5 Entr´ees/sorties : Sections : 1 et 2
� Chapitre 6 Interblocages : Section : 2
Objectifs
� Introduire les m´ecanismes de base utilis´es par les syst`emes
pour g´erer les processus et la m´emoire et le processeur.
� Introduire les notions de Processus, Threads
� Pr´esenter les techniques de communications entre les
processus.
� Pr´esenter les techniques de gestion du processeur.
� Pr´esenter les techniques de gestion de la m´emoire d’un
ordinateur.
Qu’est ce qu’un syst`eme d’exploitation ?
� C’est un logiciel qui remplit deux fonctions :
� Machine virtuelle ´etendue
� Gestionnaire des ressources
SE = Machine virtuelle ´etendue
� L’architecture des ordinateurs est assez fastidieuse `a
programmer
� Protocole d’utilisation
Tant que (ETAT == OCCUPE) ;
Ecrire les donn´ees dans le registre DONNEES
Ecrire une commande dans le registre CMD
Tant que (ETAT == OCCUPE) ;
SE = Machine virtuelle ´etendue (Cont.)
� Facile `a utiliser
� R´e-utilisabilit´e
� Portable
Probl´ematique de la conception d’un SE
Objectifs :
� D´efinir l’abstraction
� Fournir les op´erations primaires
� Assurer l’isolation
� G´erer le mat´eriel
Probl´ematique de la conception d’un SE (Cont.)
Raisons de la complexit´e :
� Programme ´enorme
� Partitionnement difficile
� Utilisateurs malveillants
� Partage d’informations et de ressources
� Dur´ee de vie tr`es longue
� Utilisation impr´ecise
� Paltesformes mat´erielles diff´erentes
� Des milliers de p´eriph´eriques d’E/S
� Retrocompatibilit´e
Structures de SE (Cont.)
� Structure simple : UNIX
Contrôleurs
de périphériques
Contrôleurs de terminaux Contrôleurs de mémoires
Terminaux
Disques
et bandes magnétiques
Mémoire physique
Pilotes de terminal
Pilotes de disques
et de bandes magnétiques
Mémoire virtuelle
Pages à la demande
Remplacement de pages
Multiplexage du processeur
Système de gestion
des E/S orientés caractères
Système de swapping
d'E/S orientés bloques
Système de gestion
de fichiers
Gestion
des signaux du terminal
Appels systèmes vers le noyau
Interfaces du noyau vers le matériel
Bibliothèques système
Compilateurs et interpréteurs
Shells et commandes
Utilisateurs
NoyauMatérielUtilisateur
Gestion des terminaux Système de fichiers Gestion de la mémoire
Structures de SE (Cont.)
� Structure multicouches : THE
Couche Fonction
5 L’op´erateur
4 Programmes utilisateur
3 Gestion des E/S
2 Communication op´erateurs-processus
1 Gestion de la m´emoire et du tampon
0 Allocation du processeur-multiprogrammation
Structures de SE (Cont.)
� Structure micronoyau
Programmes
utilisateurs
Système de
fichiers
Pilote de
périphérique
Communication
interprocessus
Gestion de la
mémoire
Ordonnancement
du CPU
Micronoyau
Matériel
Messages Messages
Mode
utilisateur
Mode
Noyau
Structures de SE (Cont.)
� Structure `a base de modules : Solaris
Ordonnancement
Pilotes
Système
de fichiers
Appels
systèmes
Exécutables
Modules
de STREAMS
Modules divers
Noyau Solaris
Structures de SE (Cont.)
� Syst`eme hybride : MAC OS X
Aqua
Interface Graphique utilisateur
Environnements d'applications et services
Java Cocoa Quicktime BSD
BSD
Mach
Environnement noyau
Kit d'E/S Extensions noyau
Structures de SE (Cont.)
� Syst`eme hybride : Android
Noyau Linux
Media Framework
OpenGLSQLite
Surface Manager
Bibliothèques Android runtime
Core Libraries
Dalvik VM
Services applicatifs
Applications
Introduction
Les principes du SE
Gestion des processus
Gestion de la m´emoire
Syst`emes de fichiers
Gestion des E/S
Interblocages