Click here to load reader
Upload
chaabani-nizar
View
334
Download
1
Embed Size (px)
Citation preview
Systèmes d'Exploitation
(CI - 45H)
Dr. Faïza NAJJAR
ENSI -- II2 A. U. 2005/2006
Dr. Faïza NAJJAR
ENSI - DIA (Bureau 109)
Email : [email protected]
Evaluation : 35% CC + 65% Examen
Contenu du cours prévu
� Introduction aux systèmes d'exploitation
� Principe de base d’un SE
� Bref historique
� La gestion des processus
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 2
� Notion de processus/threads. Parallélisme et pseudo-parallélisme dans les SE
� Notion de ressource. Etats et changement de contexte d’un processus
� Programmation système sous Unix (+Programmation multithreadée)
� Synchronisation et communication entre processus
� Les mécanismes de synchronisation
� Les sémaphores, les moniteurs, passage par messages, les tubes Unix.
Contenu du cours (suite)
� La gestion de la mémoire centrale (et de la mémoire virtuelle)
� Concepts fondamentaux; allocation statique/dynamique; politiques d’allocation
� La gestion du processeur -- Ordonnancement
� Notion sur les files d’attentes
� Politiques d’ordonnancement et comportement des processus
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 3
� Politiques d’ordonnancement et comportement des processus
� Interblocage -- Deadlock
� Notion d’interblocage
� Solutions à l’interblocage (détection/guérison, prévention, évitement)
� Protection et sécurité
� Protection : mécanismes de protection
� Sécurité : principes et authentification
Références Principales
A. Tannenbaum, Systèmes d’exploitation : systèmes centralisés et systèmes distribués.Prentice Hall et InterEditions, 1994.
G. Beauquier et al., Systèmes d’exploitation, Ediscsiences International, 1993.
Crocus, Systèmes d’exploitation des ordinateurs, Dunod, 1975.
A. Silbershatz, P. Galvin, Operating systems Concepts, Addison Wesley, 1998.
A. Silbershatz, P. Galvin, Applied operating system concepts, John Wiley & sons Inc,
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 4
A. Silbershatz, P. Galvin, Applied operating system concepts, John Wiley & sons Inc,2000.
Livre recommandé (C 274.10)
� M. S. Ouerghi. Principe des Systèmes d’exploitation. 2003.
Sites web utiles:
� http://sardes.inrialpes.fr/people/krakowia; http://sirac.imag.fr/~krakowia/
� ... etc
Eléments Conceptuels d’un Système
Informatique
Données
Programme
Cinq niveaux clés pour la plupart des systèmes informatique.
Matériel : ordinateur, imprimante, ....
Système d’exploitation (SE): est un ensemble de
programmes qui permet la gestion de chaque élément.
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 5
Langage
d’exploitation
Système
Matériel
programmes qui permet la gestion de chaque élément.
Langage de haut niveau: permet au développeur d’écrire des
programmes qui manipulent les données.
Chaque niveau dépend de ceux inférieurs, de telle manière
que la suppression d ’un niveau plus inférieur aura comme
conséquence l’écroulement du (des) niveau(x) supérieurs.
Qu’est-ce qu’un Système?
Système?
� Ensemble de composants qui interagissent;� Gestion des ressources communes et de l’infrastructure;
� Lié de manière étroite au matériel sous-jacent.
Exemples de systèmes :
� Système d’exploitation: gestion de chaque élément.
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 6
� Système d’exploitation: gestion de chaque élément.
� Système de communication: échange d’information entre les éléments.
Propriétés des systèmes:
� Les systèmes cachent la complexité du matériel et des communications
� Ils fournissent des services communs de plus haut niveau d’abstraction.
Note importante: différence entre un système et une application? Pas évidente!!
� Application -- réponse à un problème spécifique, en utilisant les services générauxfournis par le système
� Exemples: les systèmes embarqués.
Qu’est-ce qu’un système d’exploitation ?
Couche logicielle qui permet et coordonne l’utilisation du matériel entre les différents programmesd’application.
Note: une même machine peut avoir plusieurs SEs (choix au démarrage).
Son rôle peut être vu sous deux aspects complémentaires :
� Adaptation d’interface
“Machine Virtuelle” : Plus facile d’emploi et plus conviviale
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 7
“Machine Virtuelle” : Plus facile d’emploi et plus conviviale
• Cacher les détails de mise en œuvre du matériel (haut niveau d’abstraction)
• Dissimuler les limitations physiques (taille mémoire) et le partage desressources entre plusieurs utilisateurs.
� Gestion des ressources -- 2 critères de bonne gestion
Efficacité : le processeur ne doit pas être inactif pendant une attente d ’E/S
Partage sécurisé :
• Séparation stricte entre utilisateurs (Ne pas détruire les données des autres)
• Partage équitable de ressources (CPU, mémoire, disque) entre users.
Fonctions d’un Système d’Exploitation (1)
Appels Systèmes CommandesAppels Systèmes Commandes
Compilateur Editeur de texte Editeur de liens Chargeur Assembleur DebogueurCompilateur Editeur de texte Editeur de liens Chargeur Assembleur Debogueur
Tableur Navigateur Programmes utilisateursTableur Navigateur Programmes utilisateurs
Bases de données JeuxBases de données Jeux
Logiciel de Base
Logiciel de Base
APPLICATIONSAPPLICATIONS
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 8
MACHINE PHYSIQUEMACHINE PHYSIQUE
Processeur Mémoire Disque Clavier Ecran Modem Souris ImprimanteProcesseur Mémoire Disque Clavier Ecran Modem Souris Imprimante
Mécanismes dMécanismes d ’interruption’interruption
Appels Systèmes CommandesAppels Systèmes Commandes
Gestion du Gestion du
processeurprocesseur
Gestion de Gestion de
la mémoirela mémoire
Gestion des Gestion des
E/SE/S
Gestion de la Gestion de la concurrenceconcurrence
Gestion de la protectionGestion de la protectionGestion des objets Gestion des objets externes (Fichiers)externes (Fichiers)
Logiciel de Base
Logiciel de Base
Matériel
Matériel
SE
Fonctions d’un Système d’Exploitation (2)
Gestion du processeur : le système doit gérer� l’allocation du processeur aux différents programmes pouvant s'exécuter :
Planifier l’exécution des programmes Í algorithme d’ordonnancement
Gestion de la mémoire : le système doit gérer
� L’allocation de la mémoire centrale entre les différents programmes pouvants’exécuter (pagination/segmentation).
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 9
s’exécuter (pagination/segmentation).
� Si la mémoire est de taille trop petite Í gestion de la mémoire virtuelle (disque)
A un instant donné, seuls sont chargées en MC, les parties de code et donnéesutiles à l’exécution.
Gestion de la concurrence
� Plusieurs programmes coexistent en MC, ceux-ci peuvent vouloir communiquer paréchange de données. Afin de maintenir la cohérence, il faut synchroniser l'accès auxdonnées partagées
� Le système offre des outils de synchronisation et communication entre programmes
Fonctions d’un Système d’Exploitation (3)
Gestion des E/S : le système doit gérer l'accès aux périphériques
� Faire la liaison entre les appels de haut niveau des programmes users (scanf(...))etles opérations de bas niveau de l'unité d'entrée (clavier).
C ’est le pilote d ’E/S (driver) qui assure cette correspondance.
Gestion des objets externes :
� La mémoire centrale est une mémoire volatile Í Conservation des données sur
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 10
� La mémoire centrale est une mémoire volatile Í Conservation des données surune mémoire de masse (disque dur, disquette, CD-ROM, ...)
Gestion de l ’allocation des mémoires de masse Í Fichiers + SGF
Gestion de la protection :
� le système doit fournir des mécanismes garantissant que ces ressources (CPU,mémoire, fichiers) ne peuvent être utilisées que par les programmes auxquels lesdroits nécessaires ont été accordées.
Protéger le système et la machine des programmes utilisateurs (moded'exécution utilisateur et superviseur).
Notions de Base d’un Système d’Exploitation
Les fonctionnalités du SE sont accessibles par le biais des commandes (shell ou
invite DOS) ou des appels systèmes (open(...), read(...), printf(...)).
Le mode superviseur est le mode d'exécution du système.
� Mode privilégié, qui autorise notamment l’appel à des instructions interdites
en mode utilisateur (manipulation des interruptions).
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 11
en mode utilisateur (manipulation des interruptions).
� Ce mode assure la protection du système d’exploitation
Le passage du mode utilisateur vers le mode superviseur est soit provoqué par un
appel système, soit par une trappe (déroutement en cas d'opération illicite), soit
par l’arrivée d’une interruption
Le passage entre les modes utilisateurs/superviseur s’accompagne de
commutations de contexte (sauvegarde du contexte utilisateur - changement de
mode d'exécution - restauration du contexte utilisateur)
Bref Historique des Systèmes d’Exploitation (1)
1950s : Traitement par lots (batch processing)
� Apparition des transistors (permet des ordinateurs moins chers)
� Assembleur, premiers langages évolués (Fortran, Cobol)
� Le 1er SE gère l ’ordonnancement des jobs (résultats sur cartes/bandes)
1960s : Multiprogrammation
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 12
1960s : Multiprogrammation
� Le SE partage ses ressources entre les utilisateurs
1970s : Systèmes interactifs à temps partagé
� Le SE partage son temps entre utilisateurs
Amélioration des SE (Performances, sécurité) et intégration des réseaux
1980s : Ordinateurs Personnels -- PCs
� Même SE pour des matériels différents, convivialité sans cesse accrue
Bref Historique des Systèmes d’Exploitation (2)
1990s : Systèmes distribués / Internet� Ressources disponible à travers le réseau
� Partage de données et des services sur une très grande échelle
World Wide Web -- développé au CERN (Genève)
� Tout le monde (presque) est en-ligne
� Systèmes Clients-Serveurs
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 13
� Systèmes Clients-Serveurs
Un serveur est une machine assez puissante; les clients y accèdent via le réseau avec des machines standard
Solaris (Sun) sur les stations de travail, windows NT sur PC
2000 : Réseau d’ordinateurs� Matériel pas cher
� Internet : Répertoire géant des ressources (prog., info., serveurs)
� Commerce électronique
� Recherche
Grands enjeux de sécurité (cryptographie)
Aujourd’hui et Demain ...
Les systèmes actuels :
� Les systèmes temps partagé(exp. Unix, Windows NT); les systèmes temps réel (commande de procédés industriels)
� Les systèmes transactionnels (grande BD; MAJ de la BD par des transactions)
� Les systèmes multiprocesseurs (Hautes performances)
� Les systèmes répartis
F. Najjar Introduction aux Systèmes d'exploitation F. Najjar Introduction aux Systèmes d'exploitation 14
Mobile computing - Wireless computing (l’informatique Mobile / sans fil)
� Systèmes mobiles : périodiquement connectés au reste du système, autonomes le reste du temps.
� Les matériels pour l ’informatique mobile :
Ordinateurs portables, pagers, téléphones mobiles, ...
Réseaux sans fil (radio, infra-rouge, laser, ...)
Ubiquitous computing (des processeurs partout)� 98% des processeurs ne sont pas dans les PCs!
� Tout dispositif pourrait se communiquer (les frigos, les bâtiments, ...)