Cours Syst`emes d’Exploitation 2
Salah Triki
Institut Sup´erieur d’Informatique et de Gestion de Kairouan
20 septembre 2014
� Auditoire : 2`eme
ann´ee License Fondamentale en Sciences
Informatique
� Semestre : 1
� Volume horaire :
� 21 Cours
� 21 TD
Pr´e-requis
� Architecture des ordinateurs
� Les fonctionnalit´es de syst`emes d’exploitation
� Langage C
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
SE = Gestionnaire de ressources
SE = Gestionnaire de ressources (Cont.)
� Multiplexage/partage :
� Temporel
� Spatial
� Protection
� Performance
Composants d’un ordinateur moderne
Fonctionnement d’un ordinateur moderne
D´emarrage de l’ordinateur
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 : MS-DOS
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

Cours systèmes d'exploitation 2

  • 1.
    Cours Syst`emes d’Exploitation2 Salah Triki Institut Sup´erieur d’Informatique et de Gestion de Kairouan 20 septembre 2014
  • 2.
    � Auditoire :2`eme ann´ee License Fondamentale en Sciences Informatique � Semestre : 1 � Volume horaire : � 21 Cours � 21 TD
  • 3.
    Pr´e-requis � Architecture desordinateurs � Les fonctionnalit´es de syst`emes d’exploitation � Langage C
  • 4.
    Bibliographie � J. DelacroixLinux 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
  • 5.
    Objectifs � Introduire lesm´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.
  • 6.
    Qu’est ce qu’unsyst`eme d’exploitation ? � C’est un logiciel qui remplit deux fonctions : � Machine virtuelle ´etendue � Gestionnaire des ressources
  • 7.
    SE = Machinevirtuelle ´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) ;
  • 8.
    SE = Machinevirtuelle ´etendue (Cont.) � Facile `a utiliser � R´e-utilisabilit´e � Portable
  • 9.
    SE = Gestionnairede ressources
  • 10.
    SE = Gestionnairede ressources (Cont.) � Multiplexage/partage : � Temporel � Spatial � Protection � Performance
  • 11.
  • 12.
  • 13.
  • 14.
    Probl´ematique de laconception d’un SE Objectifs : � D´efinir l’abstraction � Fournir les op´erations primaires � Assurer l’isolation � G´erer le mat´eriel
  • 15.
    Probl´ematique de laconception 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
  • 16.
    Structures de SE(Cont.) � Structure simple : MS-DOS
  • 17.
    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
  • 18.
    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
  • 19.
    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
  • 20.
    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
  • 21.
    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
  • 22.
    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
  • 23.
    Introduction Les principes duSE Gestion des processus Gestion de la m´emoire Syst`emes de fichiers Gestion des E/S Interblocages