Elément de Module: Introduction aux Systèmes d’Exploitation 1 Introduction (1) Structure d’un ordinateur 2 Parties Matérielle ou Hardware Logicielle ou Software Partie Hardware Composants physiques Processeur, Mémoire, Ecran, Disque, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 2 Introduction (2) Partie Software Système d’exploitation Dos, Windows, Unix, Linux, MacOS, … Logiciels de base Indispensables pour exploiter un ordinateur Noyau du système (système minimal) Chargé en MC à partir du disque à la mise en ON Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 3 Introduction (3) Logiciels d’application Suite MSOffice OpenOffice Equivalent de MSOffice pour Unix (Linux) Navigateurs Web Divers applicatifs WinWord, Excel, Powerpoint, … Skype, Jeux, Graveurs, Inscriptions en ligne, … Chargés en MC uniquement lors de leur utilisation Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 4 Hardware (1) Composants Physiques Processeur Unité d’exécution Exécute des instructions machine 2 grandes familles non compatibles Instructions codées en langage binaire INTEL MOTOROLA Vitesse d’exécution (Horloge) Exemple: 3.5 Ghz Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 5 Hardware (2) Mémoire centrale ou RAM Unité de mémorisation temporaire Volatile Taille Exemple: 4Go (Giga Octet) Vitesse Perd son contenu en cas de coupure d’alimentation Temps nécessaire pour lire ou écrire une information en mémoire Existence d’autres mémoires (cache, …) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 6 Hardware (3) Périphériques Tout composant physique autre que le processeur et la mémoire centrale Ecran, Clavier, Disque, CD, Souris, Manette de jeu, Imprimante, Clé USB, Modem, Web Cam, … Chacun a ses propres caractéristiques Ressources Physiques Ensemble des composants physiques d’un ordinateur Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 7 Exploitation Utilisation d’un ordinateur Système d’exploitation Lien entre utilisateur et un ordinateur INTERFACE Faciliter l’utilisation d’un ordinateur Logiciels (Applicatifs) En plus de l’OS, certains sont fournis gratuitement Les autres sont achetés et/ou développés Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 8 Programmation (1) Objectif Ecrire des programmes (Applications) qui pourront être soumis à un système pour être exécutés sur un ordinateur en vue d’obtenir des résultats Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 9 Programmation (2) Ecriture de programmes Langage de programmation Editeur de texte Hiérarchie des langages Langages machines Reconnaissables par un processeur Dépendent du type de processeur Incompréhensibles par un utilisateur Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 10 Programmation (3) Langage Assembleur Dépend du type de processeur Proche de la machine Utilisé pour écrire des programmes Compréhensibles par le programmeur Non exécutables par le processeur Performants Nécessité d’avoir un traducteur ASSEMBLEUR Passage du langage assembleur au langage machine Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 11 Programmation (4) Langages évolués Plus proches des utilisateurs que des machines Indépendants des processeurs Permettent de développer des programmes portables (?) d’une machine à une autre Nécessitent un traducteur (logiciel) COMPILATEUR, INTERPRETEUR Exemples Pascal, C, C++, Java, VB, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 12 Programmation (5) Langages spécifiques Temps-réel, Mobiles, Shell, … Editeur de texte Logiciel pour produire des fichiers texte Fourni(s) avec l’OS Editeur de texte standard Fourni(s) avec un langage de programmation Associés à un langage de programmation Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 13 Programmation (6) Environnements de programmation Ensemble d’outils graphiques pour faciliter le développement d’applications Développer Compiler Exécuter … Exemples VB, Visual J++, JBuilder, Eclipse, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 14 Notion de Programme (1) Programme Décrit une logique de résolution d’un problème Problème → Algorithme → Programme Ecrit dans un langage bien défini Partie syntaxique (forme) Dépend du langage Doit être respectée sinon erreurs Programme = Donnée + Instructions Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 15 Notion de Programme (2) Partie sémantique Définit la logique de résolution Ce que fait le programme Peut ne pas donner le résultat attendu Précise l’ordre d’exécution des instructions Exécution SEQUENTIELLE Exécuter l’instruction de rang i (dans la séquence) que si l’instruction de rang (i-1) a été exécutée correctement (terminée sans erreurs) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 16 Etapes de Programmation (1) Etapes de mise en œuvre d’un programme Edition Outils nécessaires Langage de programmation Editeur de texte Résultat de l’édition Programme source Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 17 Etapes de Programmation (2) Compilation (ou interprétation) Analyse syntaxique du programme source Analyse sémantique Détection d’erreurs syntaxiques Correction et recompilation Traduire le programme source (Règles sémantiques) Résultat Programme objet ou exécutable Programme objet : programme non exécutable dans l’état et nécessite une étape supplémentaire (Edition de Liens) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 18 Etapes de Programmation (3) Programme exécutable : est dans une forme directement exécutable Edition de liens Etape de résolution des liens entre programmes compilés séparément Prend plusieurs programmes objets (fichiers) pour les rassembler et produire un programme exécutable (fichier exécutable) Résultat Programme exécutable Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 19 Etapes de Programmation (4) Chargement + Exécution Réalisées par un programme (câblé) du système appelé CHARGEUR Détermination de l’adresse de chargement en MC Chargement du code exécutable en MC à l’adresse définie par le chargeur Lancement de l’exécution Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 20 Utilisation d’un OS L’OS interagit avec différentes entités Utilisateurs Programmes des utilisateurs Logiciels d'application Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 21 Bibliothèques (1) Présentation Bibliothèques logicielles (Librairies) Rassembler des fonctions (pré-compilées) en un fichier prêt à l’emploi Fonction à usage général Exemple: Fonctions d’entrée/sortie (stdio.h) Intérêt Ne pas réécrire du code qui a été déjà écrit et testé (réutilisation) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 22 Bibliothèques (2) Types Bibliothèques statiques Réutilisées par un programme S’intègrent durant l’édition de liens Bibliothèques dynamiques Réutilisées par un programme Leur édition de liens a été déjà faite Incorporées aux programmes au moment de leur exécution Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 23 Bibliothèques (3) Exemples de bibliothèques statiques Windows Fichiers d’extension *.h (stdio.h) Unix Fichiers d’extension *.lib ou *.a Exemples de bibliothèques dynamiques Windows Fichiers *.dll (Dynamically Linkable Library) Diminuer la taille des fichiers *.exe Unix Fichiers *.so (Shared Object) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 24 Interactions UtilisateurSystème (1) Deux modes d’interaction Mode Commande ou Mode Texte Processus cyclique Le système accepte une commande de l’utilisateur Il analyse la commande de l’utilisateur Il interprète la commande et renvoie le résultat à l’utilisateur ou un message d’erreur Connaître un langage de commandes Utilisation d’un interpréteur de commandes : SHELL Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 25 Interactions UtilisateurSystème (2) Mode Graphique Ecran Fenêtre d’interaction (Window) Utilisation de menus et de la souris Mode ergonomique A la portée de tout le monde Modes complémentaires Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 26 Interactions ProgrammeSystème Point de vue programmation Système Ensemble de fonctions (services) utilisées par les programmes utilisateurs Appelées dans les programmes utilisateurs Format d’appel prédéfini Fonctions de base (printf, scanf, malloc, …) Fonctions avancées (syscall, …) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 27 Exécution de programmes (1) Principe Programme chargé en MC Devient processus Exécution par le processeur Exécution séquentielle o Un seul processus o Une seule instruction par processus Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 28 Exécution de programmes (2) 2 Types de programmes Programmes du système Programmes sûrs (sans erreurs) Programmes spécifique Gestion et contrôle de l’utilisation d’une machine Programmes utilisateurs Exploitent une machine Programmes non fiables Contrôlent leur exécution Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 29 Exécution de programmes (3) Modes d’exécution des processus Mode Système Privilégié, Maître, Master, Superviseur, Système Réservé aux programmes du système Caractéristiques: Accès à tout l’espace de la mémoire Exécution de toutes les instructions du processeur (Jeu d’instructions complet) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 30 Exécution de programmes (4) Caractéristiques (2) Fonctions du système peuvent être utilisées par les programmes utilisateurs mais de manière indirecte (appelées avec des instructions privilégiées – spéciales -) Appel Système (Syscall, …) Pas de possibilité d’exécuter directement une fonction système Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 31 Exécution de programmes (5) Mode Programme Non privilégié, Esclave, Slave, Utilisateur, User, Programme Mode d’exécution des programmes utilisateurs Restrictions Accès limité à la mémoire (limites de l’espace alloué au programme) Utilisation partielle de l’ensemble du jeu d’instructions du processeur Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 32 Exécution de programmes (6) Jeu d’instructions Processeur Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 Mode Programme Programme utilisateur Mode Système OS Mode Programme Mode Système 33 Exécution de programmes (6) Passage du mode utilisateur au mode système A travers les appels système SVC (Supervisor Call), Syscall INT (Interrupt) Interrupt / Fault Système Utilisateur Retour Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 34 Appels système (1) Utilité Permettre à un programme utilisateur d’utiliser des fonctions du système Utilisables à travers des appels spécifiques appelés Appels Système Exemples : reprendre le contrôle des interruptions Interruptions matérielles: • Fonctions d’E/S, • Horloge (pour gérer l’allocation des processeurs) Interruptions logicielles: • Erreurs arithmétiques (division par zéro) • Données non disponibles en mémoire (défaut de page) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 35 Appels système (2) Offerts par les langages de programmation Appel par instructions spéciales Exemple: Instruction INT de l’Assembleur Inclusion de bibliothèques ou packages C, C++, Java #include<stdio.h> import java.io.*; Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 36 Logiciels (1) Deux catégories de logiciels Logiciels de base Logiciels d’application Logiciels de base (OS) Noyau (Kernel) Fonctions minimales d’un OS Indépendantes de toute application ou mode d’utilisation d’un ordinateur Chargé en mémoire centrale lors du démarrage Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 37 Logiciels (2) Ensemble de services Extension du noyau Complètent un système (hors noyau) Utilisables à la demande (besoins) Résident en permanence sur disque Chargés en mémoire centrale sur demande Logiciels d'application Répondre à des besoins spécifiques Achetés et/ou développés Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 38 Exploitation d’une machine (1) Achat d’un ordinateur Matériel Système pré-installé CD de secours Mise à jour du système Ré-installation du système Récupération du système suite à de mauvaises manipulations Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 39 Exploitation d’une machine (2) Installation et configuration Installation prédéfinie Système de base Exemples: Windows, Linux Mise à jour du système Service offert par le système de base Rajout et/ou suppression de composants Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 40 Exploitation d’une machine (3) Installation d’applicatifs Ne font pas partie du système de base MsOffice, Openoffice, etc Installation manuelle Setup, Install, … Installation personnalisée Construire son propre OS Choisir les services à installer Possibilité de modifier le système Recompilation du noyau de l’OS (Linux) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 41 Exploitation d’une machine (4) Configuration et installation de matériel Modifier les caractéristiques des équipements existants Ecran (Résolution), Imprimante, … Installer et configurer de nouveaux équipements Imprimante, Scanner, Caméra, etc. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 42 Exploitation d’une machine (5) Principe général d’installation Mode d’installation graphique Affichage de menus avec des options Choisir les options souhaitées Type d’écran, résolution, couleurs, … Type d’imprimante, forme d’impression, … … Lancer l’installation Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 43 Applications et services (1) Applications Ensemble de programmes (logiciels) Fournissent des fonctions spécifiques Traitement de texte, tableur, logiciel de dessins, logiciel de vidéo, etc. Gestion des inscriptions, Paiement électronique, etc. Pré-installés ou installation par procédure spéciale Setup, Install, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 44 Applications et services (2) Services Ensemble de programmes Gèrent des ressources ou des événements Lancés automatiquement ou manuellement Comptes utilisateurs, réseau, gestion des impressions, etc. Exemple: Antivirus Réveillés régulièrement ou à la suite de l’arrivée d’événements spécifiques Réception de courrier électronique, MAJ logiciels Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 45 Modes d'exploitation Plusieurs modes d’exploitation d’un ordinateur Mono-utilisateur Machine individuelle Pas de partage Multi-utilisateurs Machine accessible par plusieurs utilisateurs Utilisateurs connectés à une machine Partage des ressources de la machine Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 46 PARTIE 2 Gestion de Fichiers Systèmes d’exploitation 2019/2020 47 Introduction (1) Notion de fichier Elément fondamental pour l’utilisation d’un ordinateur Paramètre de toute opération Créer, Editer, Compiler, Exécuter, Enregistrer, … Différents types Fichier ordinaire (simple) Répertoire Bibliothèque … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 48 Introduction (2) Structure Aucune sous Unix Fichier: suite d’octets Sous Windows Liée à une application (nom avec extension) Structure dépendante de l’application Word, XML, Mail, Vidéo, … Attributs Propriétés d’un fichier Stockés dans un répertoire spécial Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 49 Introduction (3) Exemples d’attributs Nom, Identificateur interne (Nombre, I-node sous Unix), Type, Adresse physique, Taille, Droits d’accès, Dates, … Opérations Multiples (Lire, Ecrire, Exécuter) Dépendent du type de fichier Texte, exécutable, … Organisés sous forme d’ARBRE Arborescence de fichiers Relation Père-Fils avec racine unique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 50 Introduction (4) Appartenance Privée Accès restreint Publique Partagés entre utilisateurs, applications, etc. Accès Se fait selon des règles d’utilisation Droits d’accès Opérations permises sur les fichiers Utilisateurs autorisés à accéder à un fichier Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 51 SGF (1) Système de Gestion de Fichiers Elément fondamental d’un OS Ensemble de fonctions pour manipuler les fichiers Accessibles en mode graphique et en mode commande Utilisées par les utilisateurs à travers leurs programmes Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 52 SGF (2) Fonctions d’un SGF Organisation logique des fichiers sur support magnétique Arborescence (arbre de fichiers) Organisation physique Stockage de l’arborescence sur un support Passage du niveau logique au niveau physique Relation entre nom d’un fichier et l’ensemble des blocs physiques qui le composent sur support physique Conservation permanente des fichiers sur un support magnétique Partage et protection des fichiers Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 53 SGF (4) Désignation des fichiers Désignation symbolique Nommage Identifier un fichier dans un arbre de fichiers Désignation selon une arborescence Nom (chemin) absolu d’un fichier Chemin, dans l’arbre, qui permet d’identifier un fichier depuis la racine de l’arbre Nom (chemin) relatif Chemin à partir d’un répertoire courant Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 54 SGF Unix (1) Présentation Caractéristiques d’un fichier Nom symbolique (nom externe) Peut avoir ou non une extension Possède un INODE unique Table regroupant les informations sur le fichier Nom interne (numéro du Inode correspondant) Créé lors de la création du fichier et disparaît avec sa suppression physique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 55 SGF Unix (2) Fonctionnalités Ouverture, Fermeture, Lecture, Ecriture, Exécution Types de fichiers Ordinaires (-) Répertoire (d) Lien symbolique (l) … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 56 SGF Unix (3) Unités de stockage Pas d’unités au sens Windows A: , C: , D: , E: …. Utilisation de la notion de PARTITION LOGIQUE Sous arborescence de fichiers Opérations sur les partitions Montage (Monter une clé USB) Démontage (Retirer une clé USB) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 57 Allocation de fichiers (1) Problème Fichier à stocker Lui allouer de l’espace sur disque Unité d’allocation BLOC (taille usuelle: 512 octets) Allocation par multiple de blocs CLUSTER (taille usuelle: 4Ko) Un seul fichier par cluster Un fichier peut occuper un ou plusieurs clusters Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 58 Allocation de fichiers (2) Quelle méthode d’allocation utiliser ? Allocation contigüe Allocation chaînée Allocation indexée Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 59 Allocation de fichiers (3) Allocation contigüe Blocs contigus sur disque pour un fichier Avantages Blocs successifs Rapidité d’accès aux données du fichier Inconvénients Trouver le nombre de blocs successifs (adjacents) requis pour un fichier Problème de MAJ (ajout de blocs) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 60 Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 61 Allocation de fichiers (4) Allocation chaînée Adresse du premier bloc Liens entre les blocs Avantage Eviter la contrainte de contiguïté Dispersion des blocs d’un fichier sur disque Inconvénients Temps d’accès plus long (liens) Solution non adaptée à l ’ accès direct L ’ accès à un bloc quelconque nécessite l ’accès à tous les blocs qui le précèdent. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 62 Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 63 Allocation de fichiers (5) Allocation indexée Permettre un accès rapide aux blocs d’un fichier Utilisation de la notion de pointeur Un pointeur par bloc Pointeurs regroupés dans un bloc spécial (Bloc Index) Index Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 Blocs de données 64 Allocation de fichiers (6) Avantages Séparer les blocs de données des blocs d’index Pas de perte de place pour les blocs de données Accès plus rapide Accès direct Inconvénients Plus de blocs (données et index) MAJ des blocs d’index Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 65 -1: pointeur NULL Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 66 Allocation sous UNIX Méthode originale Structure utilisée Table de 13 adresses Adresses directe pour les 10 premiers blocs d’un fichier Adresses indirectes pour la onzième entrée Deux niveaux d'indirection pour la douzième entrée Trois niveaux d'indirection pour la dernière entrée Taille d’un bloc en terme d’adresses 128 adresses Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 67 Allocation sous UNIX (2) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 68 Allocation sous UNIX (3) Systèmes d’Exploitation IF3 - 2011/2012 69 Gestion espace libre Problème Fichier F de taille T(F) à stocker sur disque Calculer le nombre de blocs nécessaires pour stocker F (NB) Comment savoir s’il existe un nombre de blocs libres ≥ à NB Solution Représentation de l’espace libre du disque Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 70 Gestion espace libre (2) Solution 1 Vecteur de bits 1 bit par bloc 0 : Libre 1 : Occupé Solution adoptée par Macintosh et Win2000 Exemple 00011100011000011… Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 71 Gestion espace libre (3) Solution 2 Liste chaînée de blocs libres Adoptée par MS-DOS, Win9x Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 72 PARTIE 3 Processus (Aspect utilisateur) 73 Processus (1) Présentation Programme : une est une suite d'instructions (objet statique) Processus: pg en cours d’exécution (objet dynamique) A chaque exécution on obtient un processus différent Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 74 Processus (2) Présentation Abstraction de l’exécution d’un programme par un processeur Entité dynamique Evolue dans le temps Passe d’un état initial à un état final Un programme est une entité statique N’évolue pas dans le temps Son état (contenu) ne change pas malgré le changement du temps de la machine (horloge) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 75 Processus (3) Point de vue utilisateur Lancer un programme exécutable Système crée un processus et gère son évolution Possibilités de suivre un processus Connaître son état Prêt (en attente), Exécution, Bloqué (endormi),Terminé … Agir sur le processus L’arrêter définitivement (Tuer le processus) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 76 Processus (4) Le suspendre puis le reprendre Moyens d’action Ctrl+Alt+Del sous Windows Commandes sous Unix (ps) Seuls les processus visibles sont accessibles Exemples de processus Exécution d’une application Copier un fichier Envoi d’un message sur le réseau Lancer une impression Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 77 Processus (5) Point de vue OS Espace d’adressage Partie(s) de la mémoire centrale dans laquelle on a chargé le code (instructions) et les données du processus Etat interne du processus Compteur ordinal, fichiers ouverts, état du point de vue exécution, etc. L’utilisateur peut agir sur certains éléments de cet état interne (exemple: arrêter le processus) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 78 Processus (6) Programme vs processus Exécution d’un programme Par un seul utilisateur 1 programme → 1 processus Par plusieurs utilisateurs Même programme → Processus différents Même chose que classe d’objets et instance d’objet Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 79 Processus (7) Pile : stocke des variables désallouées automatiquement (locales ou automatiques ) - Garde la trace de l’exécution de fonctions (fonctions appelantes, fonctions appelées) Tas (Heap) : Zone de mémoire dynamique (crée des variables durant l’exécution, allocation dynamique de mémoire) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 80 Processus (8) Création de processus 2 méthodes Par lancement d’un programme Commande ou click sur l’icône du programme Par exécution d’instruction Création dynamique Un processus crée un autre et ainsi de suite Fonction fork() sous Unix (langage C) Méthode start() de la classe Thread de JAVA Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 81 Processus (9) Hiérarchie ou arbre de processus Processus Père et processus fils Au démarrage d'un système Unix: 1 seul processus existe de numéro 1 (PID=1): init. Tous les autres processus qui peuvent exister au cours de la vie du système descendent de ce premier processus, o Via des appels système: fork, vfork, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 82 PARTIE 4 Sécurité et Protection (Aspect utilisateur) 83 Introduction (1) Pourquoi la sécurité ? Système informatique Ensemble de ressources Matérielles Logicielles Ensemble de fichiers (code, données) Système vulnérable Peut être attaqué De l’intérieur ou de l’extérieur Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 84 Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 85 Introduction (2) Position du problème Exemple système Windows Mise en ON (manuelle) Affichage du bureau Accès à toutes les ressources disponibles Accès à n’importe quel fichier Lire, copier, modifier, supprimer Installer et supprimer n’importe quelle application Modifier les paramètres du système et/ou des applications Supprimer le système (formatter le disque) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 86 Introduction (3) Machine individuelle Ressources propres à une seule personne Pas de partage Seul le propriétaire sera pénalisé Besoin quand même de sécurité Machine partageable Ressources partageables Besoin de sécurité plus important Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 87 Sécurité (1) Objectifs Authentification Confidentialité Intégrité Disponibilité Types Physique Logique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 88 Sécurité (2) Authentification Identité numérique Méthodes d’authentification Quelque chose que l’on connaît Quelque chose que l’on possède Mot de passe, Informations personnelles, … Carte à puce, … Quelque chose que l’on est Empreintes, Iris de l’œil, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 89 Sécurité (3) Quelque chose que l’on fait Voix, signature, … Authentification forte Combinaison de deux méthodes ou plus Objectifs N’accèdent au système que ceux qui sont autorisés à le faire. Déterminer le statut d’un utilisateur Savoir ce qu’il est autorisé à faire après avoir été autorisé à accéder au système. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 90 Sécurité (4) Confidentialité Propriété d'une donnée qui ne doit être diffusée qu’aux personnes autorisées Les informations n’appartiennent pas à tout le monde, même si elles existent Restrictions d’accès Fichiers système Fichiers utilisateurs Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 91 Sécurité (5) Intégrité Propriété d'une donnée dont la valeur est conforme à celle définie par son propriétaire Domaine de variation d’une variable Age compris entre deux valeurs prédéfinies Numéro de CIN Doit être unique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 92 Sécurité (6) Disponibilité Capacité d’un système à assurer ses fonctions au moment où l’utilisateur en a besoin Exemples de cas d’indisponibilité Composant physique défaillant Fichier corrompu Application infectée par un virus Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 93 Protection Qu’est ce que la protection ? Sécurité Définir des objectifs et des politiques de sécurité Protection Mise en place de ces objectifs et de ces politiques Mécanismes, Outils, Méthodes, etc. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 94 Exemple (1) Système Unix (Linux) Utilisateur Dispose d’un compte sous Unix Propriétaire des fichiers qu’ils créent Peut en disposer comme il veut Il possède les pleins droits sur ses fichiers Utilisateur potentiel d’autres fichiers Fichiers système Fichiers des applications Fichiers des autres utilisateurs Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 95 Exemple (2) Rassemblés en groupes d’utilisateurs G1= {U1, U2, U3}; G2= {U1,U4}; G3= {U6,U8,12} Utilisateurs d’un fichier Divisés en 3 catégories Propriétaire : Owner (u) Fixe les droits d’accès sur les fichiers dont il est propriétaire (r, w, x) Pour lui, pour les membres du groupe et pour les autres Groupe du propriétaire : Group (g) Autres : Others (o) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 96 Exemple (3) Droits d’accès ou Permissions Fixés par le propriétaire mais uniquement sur ses propres fichiers Droits dynamiques Peuvent se changer dans le temps (+ ou -) Système assure que les droits fixés par le propriétaire seront respectés L’accès à un fichier n’est donc pas systématique Vérifier si l’opération d’accès à un fichier est conforme aux droits fixés par son propriétaire Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 97 PARTIE 5 Notion d’OS 98 Système d’Exploitation (1) Operating System (OS) Pas de définition standard Dépend du point de vue Machine (ressources) Utilisateur (exploitation) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 99 Système d’Exploitation (2) Gestionnaire de RESSOURCES Ressources physiques UC, MC, Disque, Imprimante, etc. Ressources logiques Ensembles de données ( Fichiers ) OS Offre un ensemble de SERVICES Gestion des ressources physiques et logiques Gestion de la communication … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 100 Système d’Exploitation (3) Exploitation Utiliser et rentabiliser l’exploitation des ressources de la machine Offre des environnements De développement d’applications D’exploitation de ces applications Contrôle les accès des utilisateurs et de leurs applications Au système Aux ressources de la machine Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 101 Système d’Exploitation (4) Utilisateur Machine Virtuelle Mêmes potentialités que la machine physique Plus simple à utiliser Ergonomie du point de vue utilisation Ne nécessite pas de connaissances très poussées en informatique Cache la complexité de la machine physique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 102 Système d’Exploitation (5) Applications / Utilisateurs Operating System Gestionnaire de ressources Machine Virtuelle Machine Physique Système Informatique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 103 Etude des OS Pourquoi étudier les OS ? Logiciel fondamental Indispensable pour exploiter un ordinateur Sans OS un ordinateur est inexploitable Interface Utilisateur-Machine Structure très importante Utilise beaucoup d’algorithmes et de SD Techniques des OS utilisées dans beaucoup d’applications du monde réel Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 104 PARTIE 6 Architecture Physique 105 Architecture vs OS Fonctionnement d’un OS Connaître l’architecture (machine physique) qu’il gère Pourquoi ? Architectures différentes Systèmes différents PC isolé, Portable, Réseau de machines, … Objectif Gestion optimale des ressources d’une machine Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 106 Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 107 Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 108 Processeur (1) Elément fondamental Fonction Exécuter des instructions machine Instructions codées en binaire Différentes appellations Unité Centrale de Traitement (UCT) Processeur (Microprocesseur) Processor CPU (Central Processing Unit) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 109 Processeur (2) Caractéristiques Famille (Constructeur) Intel, Motorola, ARM, MIPS, SPARC, … Vitesse Définie par la fréquence (cycle) d’une horloge Envoi régulier de tops au processeur Exprimée en GHz Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 110 Processeur (3) Composants Unité de commande Unité de coordination Reconnaissance des instructions Composée de registres RI (Registre Instruction) : instruction en cours CO (Compteur Ordinal) : adresse prochaine instruction RA (Registre Adresse) RD (Registre de données) Registres généraux: R0, R1, … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 111 Processeur (4) Unité(s) de calcul Unité Arithmétique et Logique (UAL, ALU) Unité d’exécution Circuits arithmétiques (+, -, /, *) Circuits logiques (ET, OU, …) Registres d’états (Indicateurs ou FLAGS) Statut des périphériques Etat d’une instruction (exécution correcte, erreur) Mémoriser des événements qui se produisent durant l’exécution des instructions … Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 112 Processeur (5) Unité Virgule Flottante (FPU) Calcul sur des flottants (nombres réels) Unité de Calcul Multimédia Calcul vectoriel (calcul graphique) Intel MMX, AMD 3D Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 113 Mémoire centrale (1) Caractéristiques Unité de stockage volatile Composée de mots mémoire Taille usuelle des mots : 32 (64) bits Adresse unique pour chaque mot Taille exprimée en multiple d’une certaine unité (o= octet) Ko, Mo, Go, To, Po K=210 ; M=220 ; G=230 T=240 (Tera) ; P=250 (Peta) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 114 Mémoire centrale (2) Opérations Lecture Ecriture Temps d’accès Temps moyen pour lire ou écrire une information dans un mot quelconque de la MC Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 115 Mémoire cache (1) Antémémoire Position Mémoire intermédiaire entre le processeur et la mémoire centrale Caractéristiques Taille plus petite que celle de la mémoire centrale Technologie différente Temps d’accès plus rapide que la MC Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 116 Mémoire cache (2) Intérêt Processeur alimenté à partir de la MC Instructions + Données Différence de vitesses Temps d’accès MC plus lent que celui du processeur Ralentissement du processeur Comment réduire ce ralentissement Mémoire cache Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 117 Mémoire cache (3) Caractéristiques Taille relativement réduite Temps d’accès très rapide Fonction Duplique de l’information stockée en MC Rapprocher les données du processeur Eviter, le plus possible, les accès à la MC Augmenter le nombre d’accès à la mémoire cache Réduire le nombre d’accès à la MC Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 118 Mémoire cache (4) Principe de fonctionnement Recherche de l’information dans la mémoire cache Trouvée ⇒ pas d’accès à la MC Accès rapide (1 seul accès et rapide) Non trouvée ⇒ accès à la MC 2 accès (mémoire cache puis mémoire centrale) Mise à jour permanente Rafraîchissement Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 119 Mémoire cache (5) Niveaux de mémoire cache Utilisée dans différentes parties d’un ordinateur Au niveau des disques Temporary Internet Files Garder les pages Web les plus visitées Utilitaire SmartDrive (DOS) Au niveau des serveurs proxy Intermédiaires (mandataires) entre clients et serveurs Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 120 Mémoire cache (6) Au niveau serveurs de pages dynamiques Serveur statique Se limite à afficher le contenu de pages Web Serveur dynamique Utilise une base de données Fait des traitements pour générer les pages avant de les afficher (le contenu est calculé) Au niveau des microprocesseurs Dans les microprocesseurs A coté des microprocesseurs Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 121 Mémoire cache (7) Au niveau des périphériques (imprimante) Mémoire tampon Buffer imprimante Sauvegarde du ou des fichiers à imprimer Eviter les accès multiples à la mémoire lors de l’impression physique Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 122 Mémoire cache (8) Niveau microprocesseur Existence de plusieurs niveaux Hiérarchie de mémoires caches Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 123 Mémoire cache (9) Niveau L1 Le plus près du microprocesseur (intégré) Le plus rapide (très proche du microprocesseur) Le plus petit (taille) Autres niveaux Rapidité décroissante Taille croissante Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 124 Hiérarchie de mémoires (1) Présentation Existence de plusieurs types de mémoires dans un ordinateur Différences Technologies Fonctions Capacités Vitesses Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 125 Hiérarchie de mémoires (2) Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 126 Bus (1) Présentation Ensemble de liaisons physiques pour permettre aux composants de communiquer entre eux. Transporter de l’information d’un composant à un autre. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 127 Bus (2) Caractéristiques Largeur du bus Nombre de bits transportés en parallèle. Vitesse Fréquence en Hertz Nombre de paquets de données envoyés ou reçus par seconde. Débit maximal Largeur x Fréquence Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 128 Bus (3) Composants Bus adresse Transporte des adresses mémoire Unidirectionnel Bidirectionnel Bus de données Transporte des données du ou vers le processeur Bus de commande ou de contrôle Transporte les ordres et les signaux Bidirectionnel Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 129 Bus (4) Principaux bus Bus système Bus interne, Front-side bus (FSB) Communication avec la MC Bus d’extension ou d’E/S Communication entre composants Ajout de nouveaux périphériques Connecteurs (slots) connectés sur le bus Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 130 Unité d’échange (1) Fonctions Connexion des périphériques au bus Gèrent les échanges entre le processeur et les périphériques Intérêt Eviter une liaison directe entre UC, MC et les périphériques Différence de vitesse entre composants Diversité des périphériques Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 131 Unité d’échange (2) Différences de vitesses Processeur Composant de calcul à grande vitesse Communique avec les périphériques Lancer des opérations d’Entrée/Sortie d’informations et les controler Mémoire centrale Echange de l’information avec les périphériques Entrée/Sorties de données Accès rapide / Périphériques Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 132 Unité d’échange (3) Périphérique Vitesse très réduite Ralentit le processeur et la MC Diversité des périphériques Types (Entrée, Sortie, Entrée/Sortie) Vitesse (Lents, Rapides) Représentation des données Chaque type de périphérique a son propre système de représentation des données Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 133 Unité d’échange (4) Composants Registre de commande Opération à effectuer fournie par le processeur Mémoire (Registres de données) Données à échanger avec la MC Registres d’état Informations sur l’état de l’unité d’échange Prête, Occupée, Erreurs, etc. Systèmes d’Exploitation Systèmes d’exploitation 2019/2020 IF3 - 2011/2012 134 PARTIE 7 Types d’OS 135 Système Monoprogrammation (1) Caractéristiques Mémoire Centrale 1 Seul programme chargé en MC Mémoire partagée entre l’OS et le programme utilisateur OS Systèmes d’Exploitation IF3 - 2011/2012 Programme utilisateur (processus) 136 Système Monoprogrammation (2) Processeur Alloué entièrement au programme utilisateur chargé en mémoire centrale Pas de partage avec un autre programme utilisateur sauf avec les programmes système Toutes les ressources de la machine allouées à un seul programme utilisateur Mauvaise gestion des ressources Un seul programme est incapable d’utiliser toutes les ressources d’une machine à un instant donné Systèmes d’Exploitation IF3 - 2011/2012 137 Système Monoprogrammation (3) Programme A début attente attente attente E/S E/S E/S fin Programme B attente début Systèmes d’Exploitation IF3 - 2011/2012 E/S E/S E/S attente attente attente fin 138 Système Monoprogrammation (4) Inconvénients Rentabilité des ressources Espace mémoire inutilisé Sous-utilisation du processeur Opération d’E/S Prise en charge par un canal Libération du processeur Non utilisé durant l’E/S (Etat Idle) Autres composants non utilisés Systèmes d’Exploitation IF3 - 2011/2012 139 Système Monoprogrammation (5) Temps d’attente des programmes TA(Pi) = Σj=1..(i-1) TE(Pj) Déséquilibre entre temps d’utilisation du processeur et temps d’attente P1 : 60 mn de calcul / 1mn E/S P2 : 2 mn de calcul / 1s d’E/S Temps d’attente de P2 : 61 mn Avantages Système simple Ressources allouées à un seul utilisateur Systèmes d’Exploitation IF3 - 2011/2012 140 Système Multiprogrammation (1) Caractéristiques Mémoire centrale Possibilité de charger plusieurs programmes utilisateurs en MC en même temps Contenu de la MC OS + N programmes utilisateurs (N ≥ 1) OS Systèmes d’Exploitation IF3 - 2011/2012 P1 P2 ... Pn 141 Système Multiprogrammation (2) Processeur Multiplexé (partagé) entre les programmes (processus) chargés en MC Simultanéité entre calcul et E/S P1 fait du calcul P2, … , Pn en attente du processeur P1 lance une E/S Canal prend en charge l’E/S (Processeur Libre) Processeur alloué à P2 (Commutation de contexte) Et ainsi de suite … Systèmes d’Exploitation IF3 - 2011/2012 142 Système Multiprogrammation (3) Ressources partagées entre plusieurs programmes utilisateurs et l’OS Système plus complexe Chargement/Déchargement de processus Gestion de la simultanéité Gestion des contextes des processus Meilleure utilisation des ressources de la machine Systèmes d’Exploitation IF3 - 2011/2012 143 Système Multiprogrammation (4) Programme A début attente attente attente E/S E/S E/S fin Programme B début Systèmes d’Exploitation IF3 - 2011/2012 attente attente attente E/S E/S E/S fin 144 Système Multiprogrammation (5) Inconvénients Complexité du système Gestion de plusieurs processus Sécurité des processus Peut être non équitable Effet sur le temps d’attente quand le calcul est dominant par rapport aux E/S P1: 60 mn (UC) + 1 mn (E/S) P2: 2 mn (UC) + 1 s (E/S) Temps d’attente de P2 : 60 mn / 1 mn Systèmes d’Exploitation IF3 - 2011/2012 145 Système Multiprogrammation (6) Avantages Meilleure gestion des ressources Espace mémoire mieux utilisé Réduction des temps d’inactivité du processeur Simultanéité entre UC et Canaux d’E/S Remarque importante Libération processeur Fin du processus courant ou début E/S Effet sur le temps d’attente du processus suivant Systèmes d’Exploitation IF3 - 2011/2012 146 Système Multiprogrammation (7) Techniques et principes utilisés Chargement de plusieurs programmes Gestion de l’espace mémoire Allocation, Libération de l’espace Simultanéité entre Calcul et E/S Existence de canaux d’E/S Indispensables pour permettre la simultanéité entre calcul et E/S Systèmes d’Exploitation IF3 - 2011/2012 147 Système Multiprogrammation (8) Technique de Swap Chargement / Déchargement de programmes (processus) Va et vient entre Disque et MC Swap in Disque Mémoire Centrale Chargement Swap out Mémoire Centrale Disque Déchargement Systèmes d’Exploitation IF3 - 2011/2012 148 Systèmes d’Exploitation IF3 - 2011/2012 149 Système Temps-partagé (1) Système Time-sharing 2 objectifs Gestion optimale des ressources Meilleur partage du processeur entre les programmes utilisateurs Plus d’équité (pas de privilège) Principe de base Politique de partage du temps processeur plus équitable Systèmes d’Exploitation IF3 - 2011/2012 150 Système Temps-partagé (2) Principe général Héritage des systèmes de multiprogrammation Plusieurs programmes en MC Existence de canaux d’E/S Différence Manière de gérer le processeur Plus d’équité entre processus utilisateurs Méthode spécifique d’allocation du processeur Systèmes d’Exploitation IF3 - 2011/2012 151 Système Temps-partagé (3) Méthode d’allocation de l’UC Objectif Eviter le problème d’attente de libération du processeur dans le cas des systèmes de multiprogrammation Fin du processus en cours d’exécution Début d’une E/S Solution Retirer le processeur au processus en cours même s’il en a encore besoin Préemption Systèmes d’Exploitation IF3 - 2011/2012 152 Système Temps-partagé (4) Technique de préemption Principe Possibilité de retirer le processeur au processus en cours même s’il en a besoin Retrait forcé Ne pas attendre la fin du processus Ne pas attendre le début d’une E/S L’empêcher de continuer son exécution Technique applicable à n’importe quelle ressource (mémoire centrale, etc.) Systèmes d’Exploitation IF3 - 2011/2012 153 Système Temps-partagé (5) Principe d’allocation Programmes utilisateurs rangés dans une file d’attente Classés par ordre d’arrivée Ordre d’allocation du processeur Premier arrivé, Premier servi Allocation cyclique du processeur aux programmes de la file d’attente P1;P2;…;Pn ; P1;P2;… ; P3;P5;… Systèmes d’Exploitation IF3 - 2011/2012 154 Système Temps-partagé (6) Allocation du processeur pendant une durée de temps fixe et ininterruptible appelée QUANTUM Durée d’exécution indivisible sauf cas particuliers Meilleur partage du temps Allocation cyclique (un processus est sûr d’être servi) Allocation par Quantum Equité entre processus Tous les processus auront la même quantité de temps d’utilisation du processeur Systèmes d’Exploitation IF3 - 2011/2012 155 Système Temps-partagé (7) Exemple Quantum=3 Processus Arrivée Temps P1 0 14 P2 3 5 P3 4 6 P4 6 8 P1 P2 P3 P4 P1 P2 P3 P4 P1 P4 0 3 Systèmes d’Exploitation IF3 - 2011/2012 6 P1 P1 9 12 15 17 20 23 26 28 31 33 156 Systèmes Temps-réel (1) Système classique But Rendre un ou plusieurs services à un utilisateur Exigence de l’utilisateur Lancer un service et attendre un résultat Seule exigence de l’utilisateur: Résultat Pas d’autres contraintes ou exigences Systèmes d’Exploitation IF3 - 2011/2012 157 Systèmes Temps-réel (2) Système Temps-réel Introduire d’autres contraintes en plus du résultat Contraintes temporelles Date de début d’un traitement Durée de traitement Date de délivrance du résultat La contrainte temps est plus importante que le résultat Systèmes d’Exploitation IF3 - 2011/2012 158 Systèmes Temps-réel (3) Problème Que faire si ces contraintes ne sont pas respectées ? Arrêter le programme, accepter le résultat, attendre, ignorer le résultat, etc. Exemples d’OS temps-réel RT-Linux, RTOS Windows CE, RMX Domaines d’applications Industrie, Aviation, Hôpitaux, etc. Systèmes d’Exploitation IF3 - 2011/2012 159 Systèmes Parallèles (1) Architecture classique 1 Processeur unique Même horloge pour tous les processus 1 Mémoire centrale unique Même espace pour tous les processus Modèle d’exécution (calcul) Séquentiel (monoprocesseur) 1 processus à la fois 1 seule instruction à la fois Systèmes d’Exploitation IF3 - 2011/2012 160 Systèmes Parallèles (2) Architecture parallèle Une seule machine composée de Plusieurs processeurs Plusieurs horloges 1 seule mémoire centrale Même espace pour tous les processus Modèle d’exécution parallèle N processus qui s’exécutent en même temps (N Processeurs) Accès séquentiels à la mémoire centrale Systèmes d’Exploitation IF3 - 2011/2012 161 Systèmes Distribués ou Répartis (1) Architecture répartie Plusieurs machines physiquement séparées (distantes) Plusieurs processeurs (N) Plusieurs MC (N) Reliées par un réseau Communication avec des messages Avec ou sans partage de disque Disk shared ou Shared Nothing Systèmes d’Exploitation IF3 - 2011/2012 162 Systèmes Mobiles (1) Informatique actuelle Répartie (Distribuée) Décentralisée Mobile (Nomade) Déplacement dans le temps et dans l’espace Pervasive Comportement du système dépend De la localisation géographique Du type d’équipements Systèmes d’Exploitation IF3 - 2011/2012 163 Systèmes Mobiles (2) Exemples Ordinateurs portables, PDA (Personal Digital Assistant), … Se déplacent avec leurs propriétaires Architectures et systèmes mobiles Données mobiles Cartes magnétiques Téléphone, Bancaire, CNSS, etc. Systèmes d’Exploitation IF3 - 2011/2012 164 Systèmes Mobiles (3) Caractéristiques des OS pour mobiles Disposent de ressources limitées Nombre Type Capacité Gestion de la mobilité Localisation physique du mobile Fonctionnement dépendant d’un réseau Déconnexion Systèmes d’Exploitation IF3 - 2011/2012 165