Introduction aux Systèmes d’Exploitation © Rim Moussa 2005-2006
Plan du Cours Introduction Processus et Threads Interblocages Gestion de la mémoire Entrées/ sorties Systèmes de Fichiers SE Multimédias Systèmes Multiprocesseurs Sécurité Études de cas: UNIX, Win2K
Bibliographie Andrew Tanenbaum, Modern Operating Systems, 2nd Edition. Prentice Hall. Alok Sinha, Network Programming in Windows NT. Addison Wesley. …
Chapitre 1: Introduction Qu’est ce qu’un SE? Le Bestiaire des SEs Les Concepts de Base des SEs Les Appels Systèmes
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. Application Syst. Bancaire … Navigateur web Compilateurs Editeurs Shell Programme Système SE Langage machine Matériels Micro-architecture Périphériques Physiques
Le Bestiaire des SEs 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 Batch: exécuter des jobs sans interagir avec l’utilisateur, exple: stat des ventes. Transactionnel: gérer des requêtes concurrentes, exple: réservation de billets d’avions Temps Partagé: +sieurs utilisateurs utilisent la même machine. Exple: OS390 de IBM
… bestiaire des SEs SEs « serveurs » Systèmes Multiprocesseurs 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, Win2K server Systèmes Multiprocesseurs +sieurs CPUs pour augmenter la capacité de calcul UNIX et Win2K améliorés au niveau de la connectivite et des communications
… bestiaire des SEs Systèmes Personnels Systèmes Temps Réel Interface conviviale Exple: windows XP, Mac OS, Linux Systèmes Temps Réel Respect des contraintes temporelles (soudure dans la chaîne de montage industriel) Exple: VxWorks, QNX 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) Systèmes pour Smart Cards Sévères contraintes de Mémoire et de puissance de calcul Systèmes propriétaires
Les Concepts de Base des SEs 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
… Concepts de bases Interblocages Gestion de la Mémoire L’interaction entre processus peut conduire a un interblocage (ang. deadlock) 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). Entrées/ Sorties Différents types de periph: claviers, video show,ecran, … Pilotes des Périphériques
… Concepts de bases Fichiers Sécurité Shell 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 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, eXecute x rwxr-x—x? Shell C’est une interface entre l’utilisateur et le SE.
Les Appels Systèmes L’interface entre le SE et les programmes utilisateurs est definie par l’ens des appels systemes. L’appel systeme est analogue a un appel procedural classique, mais il est effectueen mode noyeau. Code en assembleur
…Appels Systèmes Compilateur C cpt = read (df, tampon, nboctets) Empiler nboctets Empiler &tampon Empiler df Appeler read() Placement du code du read dans un registre Déroutement vers le noyau -basculer en mode noyau, 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 Exécution de l’appel système Rendre le contrôle a la fonction read de bibliothèque Rendre le contrôle au programme utilisateur
… Appels Systèmes POSIX Gestion des Processus fork, execve, exit… Gestion des Fichiers open, close, read, write, stat… Gestion des Répertoires mkdir,rmdir,link …