Introduction aux Systmes dExploitation Rim Moussa 2005 2006














- Slides: 14
Introduction aux Systèmes d’Exploitation © Rim Moussa 2005 -2006
Plan du Cours 1. Introduction 2. Processus et Threads 3. Interblocages 4. Gestion de la mémoire 5. Entrées/ sorties 6. Systèmes de Fichiers 7. SE Multimédias 8. Systèmes Multiprocesseurs 9. Sécurité 10. Études de cas: UNIX, Win 2 K 2
Bibliographie Andrew Tanenbaum, Modern Operating Systems, 2 nd Edition. Prentice Hall. n Alok Sinha, Network Programming in Windows NT. Addison Wesley. n … n 3
Chapitre 1: Introduction Qu’est ce qu’un SE? 2. Le Bestiaire des SEs 3. Les Concepts de Base des SEs 4. Les Appels Systèmes 1. 4
Qu’est ce qu’un SE? C’est une couche logicielle, dont le rôle est de gérer les périphériques et de fournir aux programmes utilisateur une interface simplifiée avec le matériel. Syst. Bancaire … Navigateur web Application Compilateurs Programme Système Editeurs Shell SE Langage machine Micro-architecture Périphériques Physiques Matériels 5
Le Bestiaire des SEs n Systèmes pour les mainframes Propriétés des mainframes: capacités d’E/Ss Serveurs web, Serveurs de commerce électronique Le SE doit gérer de façon optimale +sieurs jobs en même temps, et offre 3 types de services 1. Batch: exécuter des jobs sans interagir avec l’utilisateur, exple: stat des ventes. 2. Transactionnel: gérer des requêtes concurrentes, exple: réservation de billets d’avions 3. Temps Partagé: +sieurs utilisateurs utilisent la même machine. Exple: OS 390 de IBM 6
… bestiaire des SEs n SEs « serveurs » Machines serveurs: gros micro ordinateur ou des stations de travail. Objectif: servir +sieurs utilisateurs a travers le réseau partage de ressources matérielles et logicielles. Exple: UNIX, Win 2 K server n Systèmes Multiprocesseurs +sieurs CPUs pour augmenter la capacité de calcul UNIX et Win 2 K améliorés au niveau de la connectivite et des communications 7
… bestiaire des SEs n Systèmes Personnels Interface conviviale Exple: windows XP, Mac OS, Linux n Systèmes Temps Réel Respect des contraintes temporelles (soudure dans la chaîne de montage industriel) Exple: Vx. Works, QNX n Systèmes Embarqués Mémoire réduite, restrictions d’alimentation Exples de systèmes: PDA, TV, Tel cellulaire… Exples: Palm OS, Windows CE (Consumer Electronics) n Systèmes pour Smart Cards Sévères contraintes de Mémoire et de puissance de calcul Systèmes propriétaires 8
Les Concepts de Base des SEs § § § n Les Processus Les Interblocages La Gestion de la Mémoire Les Entrées/ Sorties La Sécurité Le shell Processus ‘Programme en cours d’exécution’ Un processus possède: - son propre espace d’adressage: programme, données… - Une entrée dans la Table des Processus: sert pour la reprise après suspension Exple: le shell, lire une commande de compilation d’un prog, creation d’un processus enfant qui execute le compiltateur 9
… Concepts de bases n Interblocages L’interaction entre processus peut conduire a un interblocage (ang. deadlock) n Gestion de la Mémoire La Mémoire centrale contient tous les programmes en cours exécution Gestion de l’espace d’adressage des processus (a chaque processus correspond une plage d’adresses). n Entrées/ Sorties Différents types de periph: claviers, video show, ecran, … Pilotes des Périphériques 10
… Concepts de bases n Fichiers Le SE présente les periph de stockage de manière abstraite. Exple d’appels systèmes sur les fichiers: création, suppression, ouverture, fermeture, lecture, ecriture, recherche n Sécurité Protection des fichiers et contre les intrus et les virus. Exple protection des fichiers sous UNIX: un fichier est protégé par un code binaire de 9 bits, 3 bits/ champ Champs: propriétaire, groupe, autres Actions: Read r, Write w, e. Xecute x rwxr-x—x? n Shell C’est une interface entre l’utilisateur et le SE. 11
Les Appels Systèmes L’interface entre le SE et les programmes utilisateurs est definie par l’ens des appels systemes. n L’appel systeme est analogue a un appel procedural classique, mais il est effectueen mode noyeau. n Code en assembleur n 12
…Appels Systèmes Compilateur C cpt = read (df, tampon, nboctets) 1. Empiler nboctets 2. Empiler &tampon 3. Empiler df 4. Appeler read() 5. Placement du code du read dans un registre 6. Déroutement vers le noyau -basculer en mode noyau, 7. Le code noyau examine le numéro d’appel système, utilise une table de pointeurs indexée sur les numéros d’appels système 8. Exécution de l’appel système 9. Rendre le contrôle a la fonction read de bibliothèque 10. Rendre le contrôle au programme utilisateur 13
… Appels Systèmes POSIX n Gestion des Processus – fork, execve, exit… n Gestion des Fichiers – open, close, read, write, stat… n Gestion des Répertoires – mkdir, rmdir, link … 14