Cours sur les systèmes d’exploitation Institut Universitaire Professionnel Filière Réseaux et Télécommunications (RxTL) Semestre 4 Année universitaire 2020/2021 Prof Dr. Meina AMAR Prof Dr. Meina AMAR 1 Les systèmes d’exploitation Prof Dr. Meina AMAR SsD 2 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Définition logicielles Une unité pour effectuer les traitements, également appelée unité centrale ou processeur, Une unité pour contenir les programmes à exécuter qui est le lieu de travail dans un ordinateur communément appelée mémoire centrale, Des périphériques de stockage permanent pour y enregistrer les travaux effectués en mémoire centrale tel que le disque dur, Des dispositifs pour entrer et récupérer des données appelés périphériques d'entrée-sortie (E/S): un écran, une souris, un clavier, un lecteur de disquettes et un lecteur de CD-ROM ou DVD-ROM. matérielles Les systèmes informatiques sont constitués d'un ensemble de composantes matérielles et logicielles. Les logiciels (Programmes) sont, pour leur part, généralement classés dans deux grandes catégories : Les programmes systèmes : contrôlent le fonctionnement des différentes composantes de l'ordinateur Les programmes d'applications: développés pour répondre aux besoins spécifiques des utilisateurs Prof Dr. Meina AMAR 3 Prof Dr. Meina AMAR 4 Prof Dr. Meina AMAR 5 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Définition Un système d'exploitation, ou logiciel système, ou Operating System (OS), est un logiciel qui, dans un appareil électronique, pilote les dispositifs matériels et reçoit des instructions de l'utilisateur ou d'autres logiciels (ou applications). Ces logiciels doivent être adaptés à un système d'exploitation Prof Dr. Meina AMAR 6 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX L'activité principale du système d'exploitation est de gérer les ressources matérielles (processeur, mémoire centrale, imprimante, disque dur, ...) en permettant leur allocation et leur partage. Ce dernier point augmente les performances du système en autorisant à plusieurs programmes d'applications d'utiliser simultanément différentes parties de la machine. Prof Dr. Meina AMAR 7 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Première génération (années 50) Des énormes machines pour des tâches pointues Concepteurs, programmeurs, opérateurs et responsable d’entretien formaient une seule et même équipe Programmation = construction d’un tableau de connexion ! Ordinateurs réservaient à une seule tâche à la fois Mode d’opération : L’opérateur réserve la machine sur le planning L’opérateur prend sa table de connexion et la branche sur la machine L’opérateur récupère les résultats sur papier Grande optimisation : lecteur de carte perforées Prof Dr. Meina AMAR 8 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Seconde génération (années 60) Ordinateurs de plus en plus fiable grâce aux transistors et au principe de l’unité centrale Distinction entre les précédents métiers Programmeur écrit des programmes sur papier, ensuite fait perforer ses carte par une machine dédiée Programmeur donne sa pile de cartes perforées à l’opérateur puis se prend une grande pause café dans l’attente des résultats sur papier L’opérateur rajoute des « piles génériques » utilisées par les programmeurs (bibliothèques de calcul etc.) Goulot d’étranglement : Temps d’unité centrale perdu si l’opérateur doit rechercher les bonnes « piles » (d’autres cartes perforées) Temps perdu par le programmeur car s’il y a la moindre erreur même petite, il doit tout recommencer Prof Dr. Meina AMAR 9 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Progrès des architectures Partage des tâches au niveau matériel : Machines dédiées à la lecture de carte perforées sur bande magnétique Machines plus performantes en calculs numérique avec E/S sur bande magnétique Traitement par lots : déconnexion du temps d’E/S du temps de programmation E/S en différées : imprimantes déconnectées de l’ordinateur (périphérique externe) Problèmes d’optimisations : comment placer plusieurs tâches sur une bande afin de sorte que les temps d’attentes moyen soient minimisés Prof Dr. Meina AMAR 10 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Troisième génération (années 70) Circuit intégrés Intégration de systèmes dédiés dans une seule architecture On commence à trouver des systèmes compatibles, pouvant utiliser les mêmes logiciels, différenciés seulement par les capacités matérielles (IBM…) : Portabilité Facilité de développement (équipe unique de concepteurs du SE, OS « operating system » en anglais) Faiblesse, les SE sont de grosses « usines à gaz » comprenant des millions de lignes de code avec donc pleins de bogues… elle a vu la création de la société Intel, la naissance du système Unix et la mise en place du 11 Prof Dr. Meina AMAR réseau de communication Arpanet ancêtre d'Internet. Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Progrès de cette génération Multi-tâches/utilisateurs : partage de la mémoire entre plusieurs tâches et utilisateurs : problèmes de protection d’accès mémoire partage du temps entre les différents tâches et utilisateurs Spooling = opérations d’E/S exécuté en ligne Les racines des SE actuels se trouvent dans les SE développés pour les systèmes de 3ème génération Prof Dr. Meina AMAR 12 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Quatrième génération (années 90) Progrès majeur, les GUI « Graphical user interface » possible grâce au nouveau faible coût des terminaux (moniteurs) graphiques plus grande facilité d’utilisation mais pas de concepts vraiment nouveaux… Windows, Mac OS, OS/2 etc. la première version de Linux, un système d'exploitation gratuit et incluant les sources, qui va révolutionner l'informatique au 21ème siècle Prof Dr. Meina AMAR 13 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Le micro-ordinateur Les minis ordinateurs Les super calculateurs • PC (ordinateur personnel) • serveurs multiprocesseurs auxquels on peut connecter (grâce à un réseau local) plusieurs terminaux qui peuvent être géographiquement éloignés • Utilisé généralement pour les systèmes bancaires, les assurances etc • ont souvent leur système propriétaire fourni par le constructeur. • désigne les machines comportant un très grand nombre de processeurs et réservées à des calculs scientifiques longs et complexes. • les centres de recherche spatiale • Les SP de IBM • la Paragon de Intel (2 000 processeurs) – peut supporter plusieurs SE tels que Ms-Dos, diverses versions d'Unix et de Windows. • le Macintosh – ne peut supporter que le système du Macintosh Mac-OS – interface graphique très sophistiquée • le portable • la station de travail – Puissant – graphique haut de gamme – OS400 et AIX pour les ordinateurs IBM – VMS pour les machines de type VAX (DEC) Prof Dr. Meina AMAR 14 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Le système d’exploitation d’un ordinateur est un programme servant d’interface entre le matériel et les utilisateurs. Son but est de rendre le maniement de l’ordinateur facile et de proposer une utilisation efficace de celui-ci Utilisateur Liaison Ressources logicielle Les logiciels sont des séquences d’instructions que l’on appelle souvent programmes. Ordinateur: Machine permettant de stocker des informations et d’effectuer des calculs (beaucoup plus rapide que l’humain) Liaison SE Ressources matérielle Cet ordinateur regroupe un certain nombre de composants que nous appellerons matériel (hardware) Prof Dr. Meina AMAR 15 • Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX On peut faire une décomposition de l’ordinateur selon les 4 grandes classes suivantes : – Les utilisateurs (et leurs programmes), – Les programmes d’application – Le système d’exploitation, – Le matériel Utilisateurs Système d’exploitation Ressources Machine virtuelle Prof Dr. Meina AMAR 16 • • • Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX Le système d’exploitation (ou OS, pour « Operating System ») est chargé d’assurer la liaison entre : – Les ressources matérielles via les pilotes (« drivers »); c’est une application qui sert d’interface entre l’SE et le matériel (carte réseau, etc.) ; sans pilote, chaque application devrait apprendre à parler à tous les matériels – L’utilisateur – Les applications Le SE permet ainsi à l’utilisateur de s’affranchir de la complexité du matériel en communiquant à travers une interface homme machine (IHM, GUI en anglais) Les buts sont donc : – masquer le matériel – rendre la machine plus « friendly » – Fournir des méthodes standards d’accès aux ressources mémoires/calculs – Permette un usage efficace des ressources indépendamment du programme à exécuter – Permettre un usage honnête aux utilisateurs honnêtes (protection fichiers/programmes, comptes utilisateurs, etc.) Prof Dr. Meina AMAR 17 Système d’exploitation Les systèmes informatiques Les fonctions de base d’un système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système UNIX En résumé • Dans un ordinateur, le système d'exploitation • gère le ou les processeurs ainsi que la mémoire. • l'interface avec l'utilisateur • Il fait fonctionner les périphériques (clavier, souris, surface tactile, écran, disque dur, lecteur de DVD, lecteur de cartes mémoire...). • Gère les fichiers et les accès • Dans un appareil photo, il fait fonctionner les différents mécanismes, gère l'affichage de l'écran et détecte les actions de l'utilisateur. Etc. Utilisateurs Programmes Interface utilisateur Système d’exploitation Pilotes (Drivers) Ordinateur / Matériel Il est stocké pour partie en mémoire centrale en partie sur le disque dur Prof Dr. Meina AMAR 18 Système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Exemple Un système informatique complexe peut être composé d’une multitude de périphériques. Imaginez ce qui se passerait si trois programmes s’exécutant sur la même machine tentaient d’imprimer leur résultat simultanément: Aurait-on une ligne provenant de chacun des programmes ? un caractère ? On voit ici que le rôle du système d’exploitation dans la répartition des périphériques aux différents utilisateurs est essentiel C’est donc le SE qui stocke les données allant vers l’imprimante et qui s’occupe de gérer une file d’attente. Prof Dr. Meina AMAR 19 Les fonctions de base d’un système d’exploitation Prof Dr. Meina AMAR 20 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers SE: Modèle en couches Le noyau du système d’exploitation Appelé en anglais le Kernel, il représente les fonctions fondamentales du système d'exploitation telles que: Application (Logiciel, p.ex. Microsoft Word) Gestion des fichiers Gestion des périphériques (entrées/sorties) Gestion de la mémoire Gestion des processus Noyau du Système d’exploitation Pilote Prof Dr. Meina AMAR Pilote Matériel Pilote 21 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers La principale tâche du système d'exploitation concerne l'allocation du processeur aux processus. Il s’agit de décider quel processus s’exécute à un moment donné, à quel moment interrompre le processus, quel sera le suivant, et de quoi il a besoin comme ressources pour son exécution. Le système d'exploitation doit gérer deux types de processus : les siens et ceux des utilisateurs. 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 Prof Dr. Meina AMAR 22 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Exemple Pour pouvoir comprendre la différence entre un processus et un programme exécutable, nous allons considérer l'exemple suivant : Considérons le cas d'un Informaticien préparant un gâteau d'anniversaire pour sa fille : •Il a une recette •Il dispose de tous les ingrédients (farine, sucre, œufs, ..) Dans cette analogie : •La recette est assimilée à un programme (un algorithme traduit en une suite d'instructions) •L'Informaticien joue le rôle du processeur (CPU) •Les ingrédients représentent les données Le processus est l'activité de cet informaticien qui lit la recette, trouve les données et fait Prof Dr. Meina AMAR 23 cuire le gâteau. Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Ainsi, dans l'exemple précédent : •Le fils de l'informaticien peut arriver en pleurant car piqué par une abeille. L'informaticien marque l'endroit où il se trouve dans le processus de préparation du gâteau (l'état du processus en cours est sauvegardé). Cela lui permettra de poursuivre le processus à partir du bon endroit quand il aura fini de soigner son fils : On dit qu’il y a sauvegarde de contexte du processus de préparation de gâteau (ou processus cuisine) ou sauvegarde de l’état du processus de préparation de gâteau. •Il cherche un livre sur les premiers soins et commence à soigner son fils. Le processeur est passé d'un processus (la cuisine) à un autre (les soins médicaux). Chacun de ces processus a un programme propre : livre de recettes pour le processus « la cuisine » et livre sur les premiers soins pour le processus « les soins médicaux » Quand la piqûre est soignée, notre informaticien va reprendre sa recette à l'endroit où il l'avait abandonnée. On dit qu’il y a restauration de contexte du processus « la cuisine ». Le même programme peut s'exécuter plusieurs fois donnant ainsi un processus différent pour chacune de ces exécutions Prof Dr. Meina AMAR 24 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Donc, chaque processus se caractérise par : Son programme exécutable Ses données Sa pile d'exécution. Son compteur ordinal. Le compteur ordinal d’un processus est différent de celui de l’ordinateur(l’ordinateur a un seul compteur ordinal qui indique la prochaine instruction qu’il va exécuter). Le compteur ordinal d’un processus indique la prochaine instruction à exécuter dans le programme exécutable de ce processus. Son pointeur de sommet de pile de la pile d’exécution. Les autres registres Toutes les autres informations nécessaires à l'exécution d'un programme Prof Dr. Meina AMAR 25 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers •A un instant donné, le processeur n’exécute réellement qu'un seul programme. •En revanche, pendant une seconde, il peut exécuter plusieurs programmes. •Par exemple, s’il y a dix (10) programmes en cours d’exécution, le processeur peut exécuter chaque programme pendant 1s/10=0.1s. •Comme cette durée (0.1s) n’est pas perceptible par l’homme, cela procure aux utilisateurs l'impression de parallélisme. •En vérité, le vrai processeur commute entre plusieurs processus Prof Dr. Meina AMAR 26 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Un processus peut se trouver dans l'un des états suivants : • • Elu (en cours d'exécution) Bloqué (attente d'un événement pour pouvoir continuer) Prêt (suspendu provisoirement pour permettre l'exécution d'un autre programme) Un processus peut se bloquer en attendant des données. Par exemple attente d’une saisie au clavier. Un processus élu (en cours d'exécution) peut être arrêté, même s'il peut poursuivre son exécution : le système d'exploitation décide d'allouer le processeur à un autre processus Prof Dr. Meina AMAR 27 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Introduction aux processus la multiprogrammation La multiprogrammation permet au processeur de se partager entre tous les processus actifs. Ainsi, quand le processeur atteint une instruction d'entrée-sortie (les périphériques ayant une vitesse de transfert et d'exécution bien inférieure à celle du processeur), il interrompt le programme en cours sitôt les paramètres de l’entrée/sortie transmis au périphérique et passe à l'exécution d'un autre programme La multiprogrammation nécessite le partage du processeur entre les programmes mais également le partage de toutes les ressources disponibles de l’ordinateur (mémoires, périphériques...). Prof Dr. Meina AMAR 28 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Introduction aux processus Un programme a une existence statique, il est stocké sur le disque puis chargé en mémoire afin d’être exécuté. Le processus en revanche a un contact direct avec le processeur en effet c'est l'entité exécutée par le processeur. Le processus est créé par le système d'exploitation ou l'utilisateur au moment où l'exécution du programme doit commencer, comme illustré à travers la figure Une fois le processus terminé, il est supprimé par le système d'exploitation. Toutefois un seul programme peut nécessiter plusieurs processus pour son exécution. Prof Dr. Meina AMAR 29 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Introduction aux processus Les fonctionnalités du système d’exploitation en matière de gestion de processus sont : La création, suppression et interruption de processus L'ordonnancement des processus afin de décider d'un ordre d'exécution équitable entre les utilisateurs tout en privilégiant les processus du système. La synchronisation entre les processus ainsi que la communication La gestion des conflits d'accès aux ressources partagées La protection des processus d'un utilisateur contre les actions d'un autre utilisateur. Prof Dr. Meina AMAR 30 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Description d'un processus Etats d'un processus: Un processus est une suite d'instructions, il a des données en entrée et en sortie. Du fait qu'il s'exécute et qu'il peut être interrompu, il est décrit par un état courant (en attente, suspendu, terminé.) Un processus peut passer par plusieurs états avant de finir son exécution. On distingue les quatre états suivants : •En exécution : le processus est en cours d'exécution au niveau du processeur •prêt : le processus est prêt et pourra s'exécuter dès qu'il sera sélectionné par le système d'exploitation. •En attente : le processus est en attente ou bloqué car il attend des données ou la libération d'une ressource afin de poursuivre son exécution. Pendant ce temps le processeur est attribué à un autre processus. •Terminé : le processus a terminé son exécution. Prof Dr. Meina AMAR Plusieurs processus peuvent se trouver dans l'état prêt ou en attente, le système d'exploitation les place alors dans une file d'attente (une par état) au niveau de laquelle ils vont attendre leur tour. 31 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Description d'un processus Six transitions peuvent avoir lieu entre ces états, elles sont illustrées dans la figure La transition 1 a lieu quand le processus ne peut plus poursuivre son exécution car il a besoin d'une ressource non disponible par exemple : il passe à l'état en attente La transition 2 a lieu quand le processus a terminé le temps imparti par le système d'exploitation pour son exécution. Un processus ne s'exécute pas forcément jusqu'à la fin car le système d'exploitation a d'autres processus à exécuter. Cette transition a également lieu si un processus plus urgent doit prendre la main La transition 3 signale que le système d'exploitation a sélectionné un processus pour l'exécuter. La transition 4 indique que le processus a fini son exécution. La transition 5 a lieu sitôt que le processus n'a plus de raison d'être bloqué; par exemple les données deviennent disponibles. Le processus passe à l'état prêt. La transition 6 a lieu quand l'événement attendu par le processus ne peut se réaliser. Il est donc inutile de faire patienter davantage ce processus, autant le terminer. Prof Dr. Meina AMAR 32 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Description d'un processus La transition 2 La transition 1 La transition 4 La transition 5 La transition 6 La transition 3 Lorsqu'un processus est interrompu suite à l'exécution d'une instruction d'entrée-sortie, expiration du quantum ou exécution d'un processus plus urgent, on parle d'interruption logicielle. Prof Dr. Meina AMAR 33 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Structure de l'espace mémoire L'espace mémoire utilisé par un processus est divisé en plusieurs zones. On trouve en particulier : Le segment de code Le segment de données La pile • Le segment de code représente le programme à exécuter. Il est toujours placé dans des zones fixes de la mémoire, c'est-à-dire au début de la zone disponible (puisqu'il n'est pas ammené à augmenter de taille durant l'exécution du processus) • Au dessus du segment de code se trouve le segment de données. Ce segment est traditionnellement composé d'un segment de données initialisées et d'un segment de données non initialisées qui est créé dynamiquement. • Pour stocker les données obtenues en cours d'exécution, le système utilise un segment pile. Ce segment est généralement situé en haut de l'espace d'adressage et il croît vers les adresses basses (pile renversée) Prof Dr. Meina AMAR 34 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Structures de données Les systèmes d'exploitation manipulent deux structures de données principales pour gérer les processus créés sur une machine : le bloc de contexte d'un processus et la table des processus. Le contexte d'un processus également appelé bloc de contexte ou de contrôle est une structure de données qui décrit un processus en cours d'exécution. La table des processus contient toutes les informations indispensables au système d'exploitation pour assurer une gestion cohérente des processus. •Le compteur ordinal : adresse de la prochaine instruction à exécuter par le processeur •Les contenus des registres généraux : ils contiennent les résultats calculés par le processus •Les registres qui décrivent l'espace qu'il occupe en mémoire centrale (l'adresse de début et de fin par exemple) •Le registre variable d'état qui indique l'état du processus •D'autres informations telles que la valeur de l'horloge, la priorité du processus, Elle comporte Prof Dr. Meina AMAR •une entrée par processus qui rassemble toutes les informations concernant un processus •des informations sur son occupation mémoire . 35 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Ordonnancement de processus Le système d'exploitation applique un programme pour gérer l'ordre d'exécution des processus, appelé : scheduler, dispatcher ou ordonnanceur. • Ordonnanceur: le module du noyau du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur. • Critères d’ordonnancement: • L’ordre d’arrivée • Durée d’exécution • La priorité Prof Dr. Meina AMAR 36 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers L’ordonnancement de processus s’articule autour de 2 composantes : Ordonnancement de processus L'ordonnancement des processus ATTENTION !!!! permet d'optimiser le temps de réponse système d'exploitation On ne s’intéresse pas à la durée totale d’un processus mais au Si tempslependant n'applique aucun algorithme lequel il va garder le processeur : d'ordonnancement, on se retrouve L’algorithme d’ordonnancement à appliquer : il organise les jusqu’à ce qu’il se termine avec un système monoprocesseur et descripteurs de processus dans un ordre qui reflète la stratégie jusqu’à qu’il fasse une E/S les processus courts sont pénalisés par appliquée jusqu’à ce que l’OS décide que ce n’est plus son tour l'exécution de processus assez longs. La file d’attente des processus : elle regroupe les descripteurs des processus prêts. C’est à partir de cette file que l’ordonnanceur choisit le processus à exécuter. Prof Dr. Meina AMAR 37 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers L'ordonnanceur L'ordonnanceur dispose de plusieurs algorithmes d'ordonnancement qui correspondent à différentes politiques d'organisation des processus : équitable, avec priorité, plus court d'abord. Il agit sur la file des processus prêts Organise en appliquant un algorithme donné. L'ordonnanceur ne change pas de politique d'ordonnancement. Chaque système d'exploitation applique un algorithme choisi par les concepteurs. Prof Dr. Meina AMAR 38 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers L'ordonnanceur L'ordonnanceur est sollicité à la fin de l'exécution de chaque processus. Il s'exécute lui-même et sélectionne un processus pour l'exécution. Généralement il sélectionne celui qui est en tête de la file car les processus sont déjà dans l'ordre. En effet, à chaque création de processus, le processus créé doit rejoindre la file des processus prêts et c'est lors de son insertion que l'ordonnanceur applique son algorithme. Prof Dr. Meina AMAR 39 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Stratégie d’ordonnancement Les critères permettant de comparer les stratégies d’ordonnacement: •Le taux d’utilisation de l’unité centrale: le rapport entre la durée pendant laquelle l’unité centrale est active et la durée totale. •Le temps de traitement moyen: la moyenne des intervalles de temps séparant la soumission et l’accomplissement d’un processus. •Le temps d’attente moyen: la moyenne des intervalles de temps séparant le lancement de processus et sa mise en exécution. •Temps d'éxécution= (tfin exec-tarrivé) •Temps moyen d'exécution= ΣTexe / Nbre de processus •Temps de rotation = Date de fin d'exécution - Date d'arrivée •Le temps de réponse :la moyenne des dates de fin d'exécution. •Un bon algorithme d’ordonnacement doit: •Maximiser le taux d’utilisation de l’UC et le débit; •Minimiser le temps moyen de traitement; •Minimiser le temps moyen d’attente; •Minimiser le temps de réponse Prof Dr. Meina AMAR 40 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement • Deux types d’algorithmes d’ordonnancement: • Les algorithmes non-préemptifs (sans réquisition) empêchent l’appropriation du processeur par un processus avant la fin du processus courant • Les algorithmes préemptifs (avec réquisition) : possibilité d’appropriation du processeur par un processus avant la fin du processus courant Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement Actuellement, on distingue de nombreuses approches pour l’ordonnancement, les plus connues sont : Algorithme non-préemptif . FIRQT IN FIRST OUT (FIFO) le plus court d'abord (SJF Shortest Job First) Algorithme préemptif: Shortest Remaining Time (SRT) l’ordonnancement circulaire (tourniquet ou Round Robin) à priorité Prof Dr. Meina AMAR 42 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement Exercice d’application Soient les processus suivants décrits par une durée d'exécution estimée en millisecondes. Pour chacun des algorithmes suivants : Processus Durée d’exécution SJF P1 3 FIFO priorité P2 5 tourniquet P3 2 nous calculons P4 6 Le temps de réponse :la moyenne des dates de fin d'exécution. Le temps d'attente :la moyenne des délais d'attente pour commencer une P5 4 exécution. Prof Dr. Meina AMAR 43 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement L'ordonnancement FIFO : First In First Out La politique FIFO agit de la manière suivante : le premier processus arrivé est le premier servi. Il n'y a aucun effort à faire de la part de l'ordonnanceur, il suffit d'insérer le processus à la fin de la file. Temps de réponse TR = (3+8+10+16+20)/5 = 57/5 = 11.4 ms Temps d'attente TA = (3+8+10+16)/5 = 37/5 = 7.4 ms Appliquer la politique FIFO revient à faire de la monoprogrammation en quelque sorte, pourtant cette politique est souvent retenue du fait de sa simplicité de sa faible consommation en temps processeur. Prof Dr. Meina AMAR 44 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement L'ordonnancement selon le plus court d'abord (SJF Shortest Job First) Cette politique compare les processus sur la base de leur durée d'exécution et exécute le plus court en premier. Le SJF est appliqué dans les systèmes qui régissent les processus industriels où une chaîne d'exécution doit se terminer le plus rapidement possible. Temps de réponse TR = (2+5+9+14+20)/5 = 50/5 = 10 millisecondes Temps d'attente TA = (2+5+9+14)/5 = 30/5 = 6 millisecondes Prof Dr. Meina AMAR 45 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement L'ordonnancement circulaire : le tourniquet (Round Robin) •Le premier processus de la file est exécuté durant une période précise fixée par le système, appelée quantum. •Une fois le processeur alloué, ce processus s'exécute jusqu'à ce que sa tranche de temps soit écoulée ou qu'il se bloque. •Il est alors interrompu et mis à la fin de la file d'attente (fonctionnement circulaire). •Les processus sont placés dans la file selon leur ordre d'arrivée. Temps de réponse TR = (6+11+17+18+20)/5 = 72/5 = 14.4 ms Temps d'attente TA = ((8)+(2+7+4)+(4)+(6+5+3)+(8+5))/5 = 52/5 = 10.4 ms Le tourniquet est une technique des systèmes à temps partagé puisque chaque processus s'exécute pendant la même durée à chaque fois. Le quantum de de l'ordre de quelques dizaines de millisecondes Prof Dr. Meina AMAR 46 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement L'ordonnancement avec priorités Cette stratégie permet de distinguer entre les processus sur la base de leurs priorités. Si l'utilisateur ou le système d'exploitation exprime une priorité pour les processus (une priorité est un nombre) il faut que le processus de plus haute priorité soit exécuté le premier. Temps de réponse TR = (6+10+15+17+20)/5 = 68/5 = 13.6 ms Temps d'attente TA = (6+10+15+17)/5 = 48/5 = 9.6 ms Prof Dr. Meina AMAR 47 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement Premier arrivé premier servi Le plus court d’abord Priorités Tourniquet 48/118 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Algorithmes d’ordonnancement • Ce qu’il faut retenir : – Un processus au plus par processeur en même temps – Chaque processus est créé, exécuté puis meurt – Un ordonnanceur permet de faire exécuter plusieurs processus « en même temps » (point du vue humain) – Un programme processus • Parfois, cela sature (beaucoup de « gros » processus) il faut donc attendre que l’ordonnanceur redonne la main au processus désiré 49/118 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Diagramme de Gantt • Représentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.. • Le diagramme de Gantt est un outil utilisé (souvent en complément d'un réseau PERT) en ordonnancement et en gestion de projet et permettant de visualiser dans le temps les diverses tâches composant un projet. 0 1 Arrivées P1 CPU HD1 2 3 4 5 6 P2 P3 Proc.1 Proc.2 Proc.1 Proc.1 Proc.3 Proc.2 Objectif Choisir l’algorithme d’ordonnancement : minimiser ou maximiser un critère Prof Dr. Meina AMAR 51 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers • utilisation de la mémoire : quels emplacement sont libres, sont utilisés, et par qui ? • quel programme reçoit de la mémoire: quand et quelle quantité est mise à disposition ? Prof Dr. Meina AMAR 52 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Mémoire virtuelle • La mémoire virtuelle permet d'exécuter simultanément plus de programmes que ce que la mémoire centrale peut contenir. • Chaque programme n'a pas besoin que la totalité des informations qu'il manipule soit présent dans la mémoire centrale, • une partie des informations sont stockées dans la mémoire de masse (en général dans un fichier ou une partition de disque dur) habituellement plus importante mais plus lente et sont transférées en mémoire centrale lorsque le programme en a besoin, Prof Dr. Meina AMAR 53 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Le disque dur est un support auxiliaire qui a pour objectif de conserver de manière permanente les programmes exécutés en mémoire centrale (celle-ci étant volatile). La gestion de la mémoire secondaire inclut ainsi la gestion des fichiers c'est pour cela que l'on parle de SGF : Système de Gestion des Fichiers. Le système de fichiers doit offrir des primitives afin de créer, copier, lire, supprimer... ces fichiers. Il doit également gérer l'espace occupé par les fichiers ainsi que l’espace libre. Prof Dr. Meina AMAR 54 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers 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). La mémoire centrale est un espace de taille importante organisé en mots (ensemble d'octets) et destiné à accueillir les données à traiter par l'unité centrale. L'unité centrale charge les instructions à exécuter dans les registres du processeur à partir d'adresses en mémoire centrale. De même après exécution, les résultats sont placés en mémoire centrale. Il s’agit ici de gérer l’allocation de cette mémoire aux programmes (attribution, libération de mémoire), les règles d’adressage et de veiller à ce que les programmes en mémoire ne puissent pas interférer entre eux Prof Dr. Meina AMAR 55 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers Entrées/ Sorties Différents types de periph: claviers, video show,ecran, … Pilotes des Périphériques Prof Dr. Meina AMAR 56 Système d’exploitation La gestion des processus Les fonctions de base d’un système d’exploitation La gestion de la mémoire Les fonctions de base d’un système d’exploitation Les entrées-sorties Les fonctions de base d’un système d’exploitation La gestion des fichiers 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 Prof Dr. Meina AMAR 57 Types de systèmes Prof Dr. Meina AMAR 58 • • • • • Système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système Windows Les fonctions de base d’un système d’exploitation Système UNIX Types de systèmes Systèmes d’exploitation pour ordinateurs – Windows – MacOS – Linux Systèmes d’exploitation pour serveurs – Linux – Windows serveur Systèmes pour smartphones et tablettes – Ios – Android – Windows phone Systèmes d’exploitation pour routeur – Cisco : Ios Système embarqué – système électronique et informatique autonome qui est dédié à une tâche particulière – Ce ne sont pas des PC, mais des architectures similaires (x86) basse consommation Prof Dr. Meina AMAR 59 Système d’exploitation Historique Les fonctions de base d’un système d’exploitation Prészntation Les fonctions de base d’un système d’exploitation Système Windows Les fonctions de base d’un système d’exploitation Système UNIX Prof Dr. Meina AMAR 60 Système d’exploitation Historique Les fonctions de base d’un système d’exploitation Présentation Les fonctions de base d’un système d’exploitation Système Windows Les fonctions de base d’un système d’exploitation Système UNIX Prof Dr. Meina AMAR 61 Shell : Un interpréteur de commandes, est un programme faisant partie des composants de base d'un système d'exploitation. Son rôle est de traiter les commandes tapées au clavier par l'utilisateur. API : point de contact entre un logiciel applicatif et le système d'exploitation est appelé interface de programmation (anglais Application Programming Interface). Ce peut être des fonctions mises à disposition dans des bibliothèques logicielles, ou des logiciels serveur qui répondent aux requêtes envoyées par les logiciels applicatifs Un pilote (anglais driver) est un programme qui contient les instructions à exécuter pour utiliser un certain périphérique informatique. Les pilotes sont fournis par l'auteur du système d'exploitation (pilotes génériques) Par le fabricant du périphérique pour un OS. Prof Dr. Meina AMAR 62