GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
Revue Comment peut-on protéger le SE et les programmes les uns des autres? Quelle est la séquence des événements quand une interruption se produit?
Synopsis Processus Interblocage ( Deadlocks ) Gestion de la mémoire Entrées/Sorties Fichiers Sécurité le Shell
Processus Un processus est un programme en exécution Information reliée: Lespace dadresses du processus Programme exécutable Données du programme Pile Ensemble de registres: génériques, PC, SP, PSW Priorité (à examiner durant lordonnancement)
Processus Dans un système à temps partagé le SE va suspendre des processus et en éveiller dautres Toute linformation sur le processus doit être sauvegardée pour être restauré plus tard La plus part de linformation est stockée dans une structure appelée table de processus Une entrée dans la table de processus existe pour chaque processus et elles sont groupées ensemble dans un tableau ( array ) ou dans une liste chaînée
Processus Plusieurs SE permettent la création de processus enfant Quand ces processus à leur tours créent des enfants, on obtient un arbre de processus:
Processus Les processus qui coopèrent pour compléter une tâche doivent communiquer pour synchroniser leurs activités. Ceci sappèle la communication inter processus Certains SE permettent aux processus de recevoir des signaux du SE qui sont équivalents au interruptions. Ceci sappèle un signal dalarme Minuterie logiciel Message du SE à cause du MMU…
Processus Plusieurs SE assignent des identificateurs dutilisateurs (UIDs) ( ie: login name ) Chaque processus hérite le UID de lutilisateur qui la partit. Ceci peut limiter laccès aux fonctions du SE pour le processus. Les utilisateurs peuvent faire partie dun groupe; chaque groupe a un identificateur de groupe (GID)
Interblocage Quand des processus multiples sont en interaction il est possible quils puissent entrer dans un état dans lequel aucun dentre eux ne peut continuer
Interblocage Exemple: CD-ROM et Tape Drive
Gestion de la mémoire On se souvient que plusieurs processus peuvent être en mémoire en même temps Combien de mémoire peut-on allouer par processus? Une solution pour un max de N processus: Si on alloue la mémoire de cette façon, il y aura assez de mémoire pour les N processus.
Gestion de la mémoire Problèmes? On gaspille la mémoire quand il y a moins N processus Limite les processus à une petite grandeur artificielle Limite le nombre de processus qui peut exécuter Solution? Mémoire virtuelle: Une partie de lespace de mémoire est maintenue sur le disque dure; les processus (ou une partie des processus) sont déplacés entre le disque et le RAM
Entrée/Sortie Le SE doit gérer un grand nombre de périphériques Un sous-système dE/S existe pour ce besoin Une partie de ce système est indépendant des périphériques Une partie (les pilotes) est spécifique à chaque périphérique On va voir cela en détail plus tard
Fichiers Pratiquement tout les SE ont un système de fichiers Les SE cachent les bizarreries du système pour donner aux utilisateurs un modèle abstrait qui est indépendant des périphériques La plus part des SE utilisent le concept de répertoire pour regrouper les fichiers
Fichiers
Appel de système requit pour: Ouvrir, fermer, créer, effacer, lire et écrire un fichier Créer, effacer un répertoire Addition/enlevage de fichiers dun répertoire Le répertoire racine ( root ) est au sommet de la hiérarchie du système de fichiers Le chemin ( path ) dun fichier peut toujours être spécifié relativement au répertoire racine Windows - C:\winnt\system32\ftp Unix - /root/abeaulie/GEF435/fichier
Fichiers Chaque processus a un répertoire de travail Le nom des chemins qui ne commencent pas avec une barre oblique ( slash ) cherchent relativement au répertoire de travail cd \winnt system32\ftp Les systèmes de fichiers peuvent être (*NIX) La solution de DOS nest pas élégante; expose les spécifiques du périphériques aux utilisateurs a:\setup.exe Mais DOS a été créé pour les PC (garde pour la compatibilité)
Fichiers Les disques qui sont montés apparaissent comme faisant partie du système de fichier principal Le répertoire b souvent appelé cdrom ou floppy peut porter un nom logique Fred
Fichiers Certains SE traite les E/S comme des fichiers Simplifie linterface pour le programmeur Les Fichiers spéciaux en mode bloc représentent les périphériques consistant en une collection de blocs accessible de manière aléatoire comme les disques Les Fichiers spéciaux en mode caractère servent à représenter les périphériques tel que les modems, imprimantes, et autre périphériques qui traite des flots de caractères
Sécurité Différents SE offrent des niveaux variés de sécurité Les fichiers en Unix sont protégés par un code de 9 bits USER GROUP WORLD rwx rwx rwx Dans un répertoire, x représente la permission de chercher Ceci est tout juste le début de nos soucis dans la création dun système sécuritaire!
Linterpréteur de commandes (shell) Est-ce que cela fait partie du SE?? Non, mais lié de près Sur un système sans interface-utilisateur graphique (IUG) le shell est lenvironnement où les commandes sont interprétés et linterface avec lutilisateur La fenêtre cmd qui donne un interpréteur de commandes du style DOS pour le SE Windows
Quiz Time! Questions?