Résumé Théorique M104 2022 - Systèmes d'Exploitation (SE)

Summary

Ce document fournit des définitions et des exemples de systèmes d'exploitation. Il décrit fonctionnellement les composants et les types tels que Windows, Linux, iOS et Android. Les concepts de systèmes mainframes et systèmes pour TV sont également expliqués.

Full Transcript

01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Système d’exploitation (SE) : Définitions Un Système d’Exploitation abrévié SE et souvent appelé Operating System (OS) en anglais, est un programme ou un ensemble de programmes qui permet la...

01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Système d’exploitation (SE) : Définitions Un Système d’Exploitation abrévié SE et souvent appelé Operating System (OS) en anglais, est un programme ou un ensemble de programmes qui permet la communication entre les différentes composantes matérielles d’une machine informatique (ordinateur, tablette, smartphone…) et les logiciels applicatifs (traitement de texte, jeu vidéos, etc.). Un SE prend en charge la gestion et le partage des ressources de la machine soit des ressources physiques tellesl que les ressources de stockage (la mémoire vive, disque durs,...) ou les ressources de calcul (processeur,...), soit des ressources logiques ou virtuelles tel que les fichiers et base de données partagés ainsi que les canaux de communication logiques. De plus, il assure le démarrage de l'ordinateur, et fournit aux programmes applicatifs des interfaces standardisées pour les périphériques. Un SE est un programme système fondamental qui contrôle d’une manière efficace toutes les ressources d’une machine et représente une base sur laquelle les programmes d’application sont écrits. Un SE permet de cacher la complexité de la machine pour l’utilisateur pour lui faciliter son utilisation sans savoir ce qui est derrière. Un SE représente donc une abstraction du système sous-jacent. Selon Coy : Abstraction du terme “Machine” {Machine réelle} = Unité centrale + périphériques {Machine abstraite} = {machine réelle} + {Système d’Exploitation} {Machine utilisable} = {machine abstraite} + applications PARTIE 1 Copyright - Tout droit réservé - OFPPT 7 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Système d’exploitation (SE) : Définitions Comme il est illustré dans la Figure 1, un Système d’Exploitation SE joue le rôle de l'intermédiaire entre les applications (l'utilisateur) telles que les applications de bureautique et le matériel de l'ordinateur tel que le processeur, la RAM et les périphériques (souris, clavier, microphone, etc.). Par exemple, si un utilisateur souhaite lancer l’un des logiciels sur son ordinateur comme le navigateur internet ou un jeu vidéo, l’exécution de ces applications nécessite l’utilisation des ressources de son PC. Ces applications ne peuvent pas accéder et utiliser directement la mémoire, le processeur ou autres ressources. C’est l’OS qui va jouer le rôle de chef d’orchestre et contrôler l’accès aux ressources. PARTIE 1 Figure 1 : Le système d’exploitation joue le rôle de l’intermédiaire entre utilisateur et la machine physique. Copyright - Tout droit réservé - OFPPT 8 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Exemples de Systèmes d’Exploitation Il existe plusieurs types de systèmes d’exploitation : Systèmes d’exploitation pour ordinateurs personnels comme Windows, Linux, MacOSX… Systèmes mainframes (grands systèmes) comme Multics, IBM MVS, BS2000… Systèmes d’exploitation mobile qui sont utilisés avec des appareils mobile comme les smartphones et les tablettes. Il existe plusieurs variants comme Android, iOS, Blackberry OS, Windows Phone, Bada. Android : est le système d'exploitation le plus populaire dans le monde utilisé avec les smartphones et les tablettes. Apple iOS : le système d'exploitation Apple iOS est le système d'exploitation utilisé avec l'iPhone et l'iPad d'Apple. PARTIE 1 Systèmes pour TV comme Android TV, Tizen, tvOS, Firefox OS… Et bien d’autres… Copyright - Tout droit réservé - OFPPT 9 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Exemples de systèmes d'exploitation pour ordinateurs Dans cette formation, on va s’intéresser en particulier aux systèmes d’exploitation pour ordinateurs. Il existe plusieurs systèmes d’exploitation pour ordinateur. Windows et Linux sont considérés comme les principaux systèmes d’exploitation existants. Ils sont en évolution continue avec le temps ce qui implique l’existence de plusieurs versions aujourd’hui. Microsoft Windows : C’est le système d'exploitation le plus courant, le plus utilisé et le plus répandu des 3 sur les ordinateurs aujourd'hui. Il a été crée par Microsoft. Microsoft Windows 11 est la version la plus récente de Windows. Vous pouvez rencontrer d’anciennes versions : Windows 10, Windows 8, Windows 7, Windows Vista ou encore Windows XP. Ce système est vendu sur différentes marques d’ordinateurs (Acer, Asus, Dell, HP, Sony, Toshiba...). Linux : C’est un système d'exploitation gratuit et open source. Il existe plusieurs variantes de Linux, notamment Ubuntu, Debian, Red Hat et Slackware. Linux est le moins connu des trois systèmes d’exploitation. Il est rarement installé par défaut sur un ordinateur. Il est utilisé surtout par ceux qui ont de bonnes connaissances en informatique. Chaque SE a son ergonomie et sa propre présentation qui ont un impact sur l’utilisation des logiciels. En effet, il existe des logiciels qui ne peuvent s’exécuter que sur PARTIE 1 Windows. Copyright - Tout droit réservé - OFPPT 10 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Historique des Systèmes d’Exploitation : Quatre Générations d’Ordinateurs Dans l’histoire, on distingue quatre générations d’ordinateurs. 1. Première génération (1938 - 1955) : Durant la première génération, les tubes à vide et les tableaux d’interrupteurs sont utilisés pour effectuer certaines opérations simples de calcul. Les machines informatique étaient énormes, remplissant des pièces entières et la même équipe s’occupait à la fois de la construction, de la programmation, de l’administration et de la maintenance des machines. Tous les programmes ont été écrits en langage machine (langage binaire), pas de langage abstrait (C,C++,Java, etc.). L’exécution des applications a été conçue en basculant les tableaux d’interrupteurs afin de contrôler les fonctions de base de la machine. Les calculs numériques ont été simples. Dans la première génération, il n’y a pas de système d’exploitation. 2. Deuxième génération (1955 - 1965) : Durant la deuxième génération, les machines ont été construites au moyen de transistors et dotées d’unités de bandes magnétiques. Il y a eu une séparation entre concepteurs, constructeurs, programmeurs, opérateurs et personnels de maintenance. Les programmes ont étés écrits en FORTRAN puis codés sur des cartes perforées. C’est un opérateur humain qui se préoccupe du traitement des travaux (jobs) d’une manière séquentielle ainsi que de la gestion de la soumission des entrées (lecture des cartes perforées) et sorties (sur imprimante). Les opérations possibles ont été les calculs scientifiques et d’ingénierie ainsi que les résolutions d’équations aux dérivées partielles. PARTIE 1 Durant cette génération, les premiers systèmes d’exploitation sont apparus, notamment : FMS : Fortran Monitor System IBYS (IBM) Copyright - Tout droit réservé - OFPPT 11 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Historique des Systèmes d’Exploitation : Quatre Générations d’Ordinateurs 3. Troisième génération (1965 - 1980) : Durant la troisième génération, des circuits intégrés sont utilisés pour la production des ordinateurs. Une seule gamme de produits est apparue (IBM). IBM 1401 est une machine pour E/S (les opérations d’Entrées / Sorties). IBM 7094 est une machine pour le calcul. Puis IBM a proposé des machines avec la même architecture matérielle et les même jeux d’instructions. De plus, on note l’apparition de la notion de Multiprogrammation qui correspond à l’exécution de plusieurs programmes en parallèle sur la même machine, la possibilité de communiquer les données entre programmes via le processeur SPOOL (Simultaneous Peripheral Operation On-Line) et de partager la mémoire (mémoire partagée), ainsi que l’utilisation des mécanismes de protection. Enfin, le SE a pris en charge la gestion des E/S. Exemples des Systèmes d’exploitation : MULTICS DEC PDP UNIX PARTIE 1 Copyright - Tout droit réservé - OFPPT 12 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Historique des Systèmes d’Exploitation : Quatre Générations d’Ordinateurs 4. Quatrième génération (1980 –Aujourd’hui) : Un beau jour, les ordinateurs personnels sont apparus. Ce sont des machines à circuit intégrés à haute densité LSI (Large Scale Integration) : des milliers de transistors sur 1mm² de silicium. De plus, elles sont moins coûteuses. Durant cette génération, les systèmes d’exploitation centralisés en réseaux notamment Windows, Linux sont apparus. Ils offrent la possibilité de connecter deux machines distantes et d’assurer le transfert de fichiers. Chaque machine possède son propre OS et peut être utilisée par plusieurs utilisateurs, elle donc nommée machine multi-utilisateurs. De plus, les systèmes d’exploitation répartis (distribués) sont apparus : Système distribué sur un domaine Une machine virtuelle à plusieurs processeurs Les ressources sont localisées d’une manière transparente Système fiable et tolérant aux pannes Exemples des systèmes d’exploitation : PARTIE 1 CM MS-DOS MAC OS X Windows UNIX LinuxP/ Copyright - Tout droit réservé - OFPPT 13 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Historique des Systèmes d’Exploitation Une Cinquième Génération ? 5. Cinquième génération (Aujourd’hui – Futur) Le challenge est de concevoir des ordinateurs basés sur l’intelligence artificielle. En effet, l’objectif est essentiellement la réalisation et le développement de l’appareil qui est capable de répondre correctement au langage naturel et qui a la capacité d’apprendre et de s’organiser lui-même. De plus en plus, les systèmes deviendront autonomes. De plus, on peut aller plus loin et avoir la possibilité d’utiliser du calcul quantique et des technologies moléculaires et nano dans le futur. PARTIE 1 Copyright - Tout droit réservé - OFPPT 14 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE Fonctions d’un système d'exploitation Un système d’exploitation offre un ensemble de services ou fonctions afin de garantir le bon fonctionnement de la partie applicative de l’ordinateur. Le système d’exploitation assure la gestion des périphériques, la gestion des ressources, la gestions des processus, la gestion de stockage, etc. La gestion des périphériques : Le système d'exploitation gère la communication des périphériques : soit les périphériques d’entrée (clavier, souris, scanner,…) soit les périphériques de sorties (écran, imprimante,…) via leurs pilotes respectifs. Il garde une trace de tous les périphériques. Le contrôleur d'E/S est le responsable de cette tâche. Il permet l’allocation et la libération des périphériques de manière efficace. La gestion des fichiers : Le système d'exploitation alloue et désalloue des ressources. Il régule quel processus obtient le fichier et pour quelle durée. En outre, il garde une trace des informations, de l'emplacement, des utilisations et de l'état des fichiers. Cette gestion se fait en utilisant un système de fichiers. C’est un mécanisme qui définit comment les données sont sauvegardées et récupérées. PARTIE 1 Copyright - Tout droit réservé - OFPPT 15 01 - Analyser le fonctionnement d’un SE Décrire un système d'exploitation SE La gestion des processus : Chaque programme exécuté sur un ordinateur est un processus, qu'il soit en arrière-plan (back-end) ou en avant-plan (front-end). Le système d'exploitation est responsable de l'exécution simultanée de plusieurs tâches (multitâches). Le système d'exploitation manage l’accès des processus au processeur. Le système d’exploitation a une visibilité sur l’état des processus et des processeurs à un instant donné. La gestion de la mémoire : Le système d'exploitation contrôle toutes les opérations de stockage. Certains d'entre eux incluent comment stocker des données ou des fichiers dans les ordinateurs et comment les utilisateurs accéderont aux fichiers. Le système d'exploitation est responsable alors du stockage et de l'accès aux fichiers. Cela implique la création de fichiers, la création de répertoires, la lecture et l’écriture des données de fichiers et de répertoires, et également la copie du contenu des fichiers et des répertoires d'un endroit à un autre. Autres Fonctionnalités : D’autres fonctionnalités sont assurées par le système d’exploitation à savoir le contrôle des erreurs survenues dans les programmes et la récupération du système PARTIE 1 lorsque le système est endommagé. Dans la partie suivante, nous allons présenter en détails les fonctionnalités d’un système d’exploitation. Copyright - Tout droit réservé - OFPPT 16 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Le système d’exploitation fournit un ensemble de services qui facilitent la création et l’utilisation des logiciels applicatifs. Ces services fournis permettent principalement la gestion d’accès des ressources de l’ordinateur par les programmes. Ils permettent essentiellement l’exécution des programmes, la lecture et l’écriture des informations, la manipulation des fichiers, la communication entre ordinateurs ainsi que de déceler des erreurs. De plus, ces services vont permettre à plusieurs programmes et à plusieurs usagers de partager les ressources de l’ordinateur d’une manière fiable, rapide et rationnelle. Dans la partie suivante, on va découvrir en détail les concepts fondamentaux suivant d’un OS : La gestion des La gestion de la La gestion des La gestion des La gestion des Processus Mémoire Entrées/Sorties Fichiers Utilisateurs PARTIE 1 Copyright - Tout droit réservé - OFPPT 18 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La gestion des processus Un système d’exploitation permet l’exécution des programmes sur un ordinateur. Chaque programme exécuté est un processus. On commence donc par définir un processus. Un processus est l’entité qui correspond à l’exécution d’un programme. Concrètement et comme le montre la Figure 2, un processus est défini par : Données un espace mémoire : il contient les données ou variables, le code du programme et la pile d’instruction. un compteur ordinal ou pointeur d'instruction : C’est le registre qui contient l’adresse mémoire de l’instruction en Ressources cours d'exécution ou prochainement exécutée. Une fois l'instruction chargée, il est automatiquement incrémenté C handles pour pointer l'instruction suivante. o Tas Une pile d'exécution qui est utilisée pour sauvegarder plusieurs valeurs, mais l’utilisation principale de pile est de d garder la trace de l'endroit où chaque fonction active doit retourner à la fin de son exécution (les fonctions actives sont celles qui ont été appelées, mais n’ont pas encore terminé leur exécution). e Registres Un processus est un programme en cours d’exécution et il est exécuté par un ou plusieurs processeurs. Pile Un programme peut être constitué d’un ou d’un ensemble de processus. PARTIE 1 Figure 2: Les composants d’un processus Copyright - Tout droit réservé - OFPPT 19 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Espace d’adressage d’un processus Chaque processus est caractérisé par son espace d'adressage. L’espace d’adressage est l’ensemble d'adresses mémoires utilisées par le processus pour lire et écrire 0*FFFFFFFF des données. Pile Cet espace est formé de trois éléments comme il est illustré dans la Figure 3: le Segment de données correspond à l’espace réservée pour les variables ou les données. le Segment de texte correspond à l’espace réservée au code du programme. la Pile correspond à l’espace mémoire réservée à la pile utilisateur qui a été allouer à la création du processus. Segment de données Segment de texte 0*00000000 PARTIE 1 Figure 3 : Espace d’adressage d’un processus Copyright - Tout droit réservé - OFPPT 20 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Etats d’un processus La Figure 4 décrit le comportement d’un processus. Initialement, le processus est à l’état Nouveau c’est-à-dire que le processus est en cours de création. Une fois que le processus est créé il passe à l’état Prêt (Ready) il attend d’être affecté à une UC (Unité de Calcul) c’est-à-dire un processeur appelé aussi CPU (abréviation de Central Processing Unit). Notez, un processeur ne peut exécuter qu’un seul processus à la fois. Une fois le processus sélectionné par l’ordonnanceur (aussi appeler dispacher, répartiteur ou ordonnanceur du processeur, son rôle étant de choisir à quel processus sera alloué le processeur et pour quel laps (durée) de temps), il passe alors à l’état En exécution (Running) où les instructions sont en cours d’exécution. Un processus peut être interrompu. Dans ce cas, il retourne à l’état Prêt en attendant un nouvel accès au processeur. Un processeur peut attendre qu’un événement se produise (un signal , terminaison d’une E/S,...), dans ce cas là, il va passer à l’état Bloqué (Sleep) jusqu’à l’arrivée de l’événement. Une fois l’événement arrivé, il retourne à l’état Prêt. Une fois que l’exécution du processus s’achève, il arrive à son état final Terminé. PARTIE 1 Figure 4 : Diagramme d’état d’un processus Copyright - Tout droit réservé - OFPPT 21 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Gestion des processus Afin de gérer les processus, le système d’exploitation associe pour chaque processus un bloc de contrôle appelé en anglais Process Control Bloc et abrévié PCB qui contient les informations nécessaires sur un processus. Le Bloc de contrôle de processus comme le montre la Figure 5 est composé de: l’état du processus : nouveau, prêt, en exécution Identificateur de processus prochaine instruction à exécuter Etat du processus informations sur l’ordonnancement des processus informations sur la gestion mémoire Compteur ordinal informations de comptabilisation Contexte (Registre, pointeur pile..) informations sur l’état des E/S Informations sur l’ordonnancement Informations mémoire Informations sur les E/S PARTIE 1 Figure 5 : Structure d’un Bloc de contrôle de processus Copyright - Tout droit réservé - OFPPT 22 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Pour assurer la gestion des processus, le SE utilise les blocs de contrôle. Ils permettent le contrôle d’accès des processus au processeur. En utilisant ces blocs de contrôle, le SE a une visibilité totale sur l’état de chaque processus à un instant donné. La Figure 6 présente un scénario d’exécution de deux processus P0 et P1. En effet, une fois le processus P0 en exécution, il peut être interrompu par un autre processus ou bloqué à l’attente d’un appel système. Dans ce cas, son état sera sauvegardé dans son bloc de contrôle PCB0 et il sera inactif. Pendant ce temps, un autre processus P1 peut avoir l’accès au processeur et donc il commence son exécution ou il reprend son exécution à partir de sa dernière exécution rechargée, à partir son état sauvegardé dans le bloc de contrôle PCB1. Le processus P1 peut aussi être interrompu ou bloqué, dans ce cas il sauvegarde son état d’exécution dans PCB1 et libère le processeur puis donne la main au processus P0 pour reprendre son travail en chargeant l’état sauvegardé de sa dernière exécution, et ainsi de suite. Le SE s’occupe de sauvegarder et de recharger de l’état des processus ainsi que de l’allocation et de la libération de processus. PARTIE 1 Figure 6 : Scénario d’exécution de deux processus P0 et P1 Copyright - Tout droit réservé - OFPPT 23 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Les processus seront exécutés dans la mémoire centrale RAM (abréviation de Random Access Memory) qui représente la mémoire vive de l’ordinateur. Le SE s’occupe aussi de la gestion de la mémoire, sur laquelle nous allons nous concentrer à présent. Gestion de la mémoire : La mémoire est considérée comme une ressource limitée, Il faut la gérer de façon optimisée. La gestion de la mémoire est la fonctionnalité d'un système d'exploitation qui joue le rôle de l’intermédiaire entre la RAM, les processus et le disque. Le système d’exploitation coordonne l’utilisation des différentes mémoires. En effet, le SE va contrôler l’accès des processus à la RAM et il décide alors quel processus obtiendra la mémoire à quel moment. Un SE peut allouer donc d’une manière dynamique la mémoire aux processus. Le SE a une visibilité sur l’état de chaque emplacement dans la mémoire qu'il soit alloué à un processus ou qu'il soit libre. Par conséquence, il est possible de vérifier la quantité de mémoire à allouer aux processus. Dans ce qui suit, on va découvrir en détails la gestion de la mémoire. PARTIE 1 Copyright - Tout droit réservé - OFPPT 24 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La mémoire est représentée par un grand tableau de mot (octets), chacun ayant sa propre adresse. Le processeur va extraire les instructions de la RAM en fonction de la valeur d’un compteur d’instructions. Une partie du SE gère le stockage de la mémoire centrale de l’ordinateur et du disque : ceci se nomme le système de gestion de la mémoire. Les principales fonctions du systèmes de gestion de la mémoire sont : Le suivi de l’état des différentes parties de la mémoire si elles sont utilisées ou non utilisées => connaître les zones libres et utilisées L’allocation et la libération de la mémoire principale aux différents processus L’utilisation de la mémoire virtuelle et le contrôle du va et vient (swapping) entre la mémoire principale et le disque lorsque cette dernière ne peut pas contenir tous les processus. Il existe plusieurs stratégies pour gérer la mémoire telles que : La Va et Vient , la La PARTIE 1 Multiprogrammation partitionnement La pagination La segmentation, etc. Monoprogrammation avec partitions fixes dynamique Copyright - Tout droit réservé - OFPPT 25 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La Monoprogrammation La monoprogrammation consiste à charger et exécuter un seul processus à la fois et entièrement en MC. Organisation de la MC : cas de MS-DOS. Problème : cas de programme volumineux ne pouvant tenir en MC. La Multiprogrammation avec partitions fixes La majorité des SE récents autorisent l’exécution de plusieurs processus en parallèle. Pour appliquer la multiprogrammation, la mémoire est subdivisée en N partitions de taille fixe. Chaque partition sera allouée à un seul processus. Le nombre de partitions est nommé le degré de multiprogrammation. Afin de gérer l’allocation de la mémoire aux processus, le SE manipule une table qui l’informe sur les partitions disponibles (appelée Trou (Hole en anglais)) et celles occupées. On distingue deux types de partitions : Partition fixes avec des files d’attente différentes (voir Figure 7 (a)). Partition fixes avec une seule file d’attente (voir Figure 7 (b)). PARTIE 1 Copyright - Tout droit réservé - OFPPT 26 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La Multiprogrammation avec partitions fixes : Exemple Comme le montre la Figure 7, il est possible de définir un partitionnement fixe au lancement du système par exemple où les partitions ne sont pas forcément de la même taille. La Figure 7(a) représente le partitionnement fixe avec des files d’attentes différentes (Multiple input queues) c’est-à-dire l'allocation de la mémoire physique est alors obtenue en associant une file d'attente par partition, les processus d'une même partition étant amenés les uns après les autres dans la portion correspondante de mémoire physique. L’inconvénient de cette méthode est le déséquilibre de la partition de la mémoire entre les files, on peut avoir une file vide pour une grande partition et une autre pleine pour une petite partition. Ce qui entraîne une mauvaise utilisation de la mémoire et du processeur. Ce problème a été résolu en utilisant une seule file comme il est illustré dans la Figure 7(b) et donc toutes les partitions partagent une seule file d’attente (single input queue). PARTIE 1 Figure 7: (a) Partition fixes avec des files d’attente différentes (b) Partition fixes avec une seule file d’attente Copyright - Tout droit réservé - OFPPT 27 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Va et Vient , le partitionnement dynamique La mémoire est insuffisante pour contenir tous les processus courant. Ce qui nécessite de placer certains de ces processus sur le disque. Ils seront ensuite ramenés en mémoire pour continuer leurs exécutions. Il faudra donc ramener régulièrement des processus sur le disque en mémoire centrale et inversement. C’est ce qu’on appelle le va-et-vient ou swapping. L’utilisation d’une Mémoire auxiliaire (backing store) : disque rapide suffisamment grand pour pouvoir ranger les copies de toutes les images mémoire de tous les utilisateurs. La plupart du temps le swapping est constitué de temps de transfert. Le temps total de transfert est directement proportionnel à la quantité de mémoire transférée. Contraintes Processus à transférer doit être inactif. Si les E/S accèdent d’une manière asynchrone à la mémoire utilisateur pour utiliser les buffers E/S, le processus ne peut pas être transféré. PARTIE 1 Copyright - Tout droit réservé - OFPPT 28 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Pour les deux dernières stratégies, pagination et segmentation sont des stratégies appliquées sur la mémoire virtuelle. On commence donc par présenter la définition de la mémoire virtuelle. Mémoire virtuelle : elle fournit un espace d’adressage différent de la mémoire RAM. Ainsi, il est possible d’exécuter des programmes qui nécessitent plus de ressources que la taille de la RAM disponible. Mémoire virtuelle = RAM + partition SWAP La mémoire virtuelle utilise les techniques de pagination, segmentation ou segmentation paginée. La mémoire d'échange (Swap) est un espace de stockage de disque dur qui est utilisée chaque fois que la RAM manque de mémoire. Il existe un programme de gestion de la mémoire sous Linux qui prend en charge ce processus. Chaque fois que la RAM manque de mémoire, le programme de gestion de la mémoire recherche tous les blocs de données inactifs présents dans la RAM qui n'ont pas été utilisés depuis longtemps. Lorsqu'il trouve ces blocs avec succès, il les déplace dans la mémoire d'échange. De cette façon, l'espace de la RAM est libéré et peut donc être utilisé pour d'autres programmes nécessitant un traitement urgent. PARTIE 1 Copyright - Tout droit réservé - OFPPT 29 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Gestion de la mémoire : Pagination (Paging) Avant d’expliquer la notion de pagination, quelques prés-requis sont nécessaires. L’espace adresse logique (virtuelle) d’un processus n’est pas contigu. Alors que, la mémoire physique est découpée en blocs de taille fixe appelés cadres de pages ou en anglais frames. La mémoire logique est également subdivisée en blocs de la même taille appelés pages. Pour exécuter un programme de n pages, il faut trouver n cadres libres et charger le programme. Il faut savoir quels cadres sont alloués, lesquels sont disponibles, etc. Cette information est sauvegardée dans la table de cadre (Frame table). La pagination consiste donc à diviser l’espace d’adressage virtuel en pages qui ont la même taille. La mémoire physique est également divisée en pages physiques ayant la même taille. La pagination consiste à placer seulement certaines pages dans la RAM. Les autres pages restent dans la mémoire auxiliaire jusqu’à qu’elles soient référencées. Une table de pages existe pour gérer les correspondances entre les pages virtuelles et les pages physiques, c’est à dire : il traduit l’adresse logique en adresse physique. (voir Figure 8). PARTIE 1 Copyright - Tout droit réservé - OFPPT 30 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Gestion de la mémoire : Pagination (Paging) La pagination consiste à placer seulement certaines pages dans la RAM. Les autres pages restent dans la mémoire auxiliaire jusqu’à qu’elle soient référencées. Une table de pages existe pour gérer les correspondances entre les pages virtuelles et Pages virtuelles Pages virtuelles les pages physiques (voir Figure 8). 0 0 La Pagination 1 1 Cette technique consiste à découper l’espace d’adressage virtuel du programme en morceaux linéaires qui possèdent la même taille et qui sont appelés pages. 2 2 L’espace de la mémoire physique est aussi découpé lui-même en morceaux 3 linéaires appelée cases et ayant la même taille. 3 4 ………… La taille d’une page est définie par le matériel. Taille page = case – définie par le matériel (selon SE entre 512 octets et 8192 octets). 8 Charger un programme en mémoire centrale – placer les pages dans les cases ….. disponibles. 16 Pour connaître à tout moment quelles sont les cases libres en mémoire centrale, PARTIE 1 le système maintient une table des pages. Figure 8 : Correspondance Pages Virtuelles/ Pages Physiques Pour chaque case de la mémoire physique, information : Libre ou occupée Si occupée, quelle page et quel processus la possède ? Copyright - Tout droit réservé - OFPPT 31 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Pagination: défaut de page Maintenant, on va étudier le cas où l’adresse virtuelle référence une page qui n’est pas présente en mémoire physique. Ce cas est nommé défaut de page. Dans le cas de défaut de page, le mécanisme d’adressage génère un défaut de page. Si la mémoire physique est pleine, il faut virer de la mémoire physique une page c’est- à-dire un remplacement. Le choix d’une page « victime » se fait selon une stratégie de remplacement. Il existe plusieurs stratégies de remplacement : FIFO, l’abréviation de First In First Out nommée aussi PEPS (l’abréviation de Premier Entré Premier Sortie) : le premier qui arrive sera celui qui sera servi le premier, donc par ordre chronologique de chargement. On remplace la page la plus anciennement utilisée, ce qui implique une datation lors du chargement de chaque page virtuelle. LRU, l’abréviation de Least Recently Used : on remplace la page le plus récemment utilisée. Ce qui impose, encore, de dater les pages. LFU, l’abréviation de Last Frequently Used : on remplace la page la moins fréquemment utilisée. Pour cela, on a besoin d’un compteur de fréquence d’utilisation de chaque page. RNDOM : il s’agit de choisir au hasard la page à remplacer. Cela ne nécessite pas d’informations supplémentaires. PARTIE 1 Copyright - Tout droit réservé - OFPPT 32 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La Segmentation Les programmes se divisent en parties appelées segments. Chaque segment représente une entité (procédure, bloc de données) (Voir Figure 9). Les segments n’ont pas toujours la même taille. Un segment virtuel est de même taille qu’un segment en mémoire physique. Espace virtuel Espace physique Segment de code Segment de code Segment de données Segment de données Segment de pile PARTIE 1 Figure 9 : Composition de l’espace virtuel et de l’espace physique Copyright - Tout droit réservé - OFPPT 33 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE La segmentation : Le principe de traduction d’adresses consiste à traduire les adresse virtuelles (logiques) vers celles physiques. Segment S A : Adresse dans le segment Adresse Virtuelle La Figure 10 montre l’utilisation du tableau des segments pour effectuer la traduction de l’adresse virtuelle vers l’adresse physique. Comme la pagination, la segmentation est également un schéma de gestion de Base Limite R P M Droit mémoire. Le processus est divisé en segments de taille variable et chargé dans 100 300 1 1 1 0 l’espace d’adressage mémoire logique. Présent L’espace d’adressage logique est la collection de segments de taille variable. Référencé Table des segments Modifié Chaque segment a son nom et sa longueur. Pour l’exécution, les segments de l’espace mémoire logique sont chargés dans l’espace mémoire physique. 700 1000 0 0 0 0 L’adresse spécifiée par l’utilisateur contient deux quantités : le nom du segment et le décalage. Les segments sont numérotés et référencés par le numéro de segment au lieu du nom de segment. Ce numéro de segment est utilisé comme index dans la table de segments et la valeur de décalage détermine la longueur ou + PARTIE 1 la limite du segment. Le numéro de segment et le décalage génèrent conjointement l’adresse du segment dans l’espace de mémoire physique. Adresse physique Figure 10 : Traduction des adresses logiques virtuelles vers les adresses physiques. Copyright - Tout droit réservé - OFPPT 34 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Gestion des E/S Continuons la présentation des concepts fondamentaux d’un SE. Le système d’exploitation gère les processus et les mémoires. Aussi, il assure la gestion des entrées et sortie. Pour transférer les données entre les supports externes et la mémoire centrale, plusieurs composants interviennent : Unité d’échange (Canal d’entrée/Sortie) ; Le périphérique ; Le contrôleur de périphérique. Canal d’Entrée/Sortie : est un processeur qui gère les opérations d’E/S. Il indique au processeur central (CPU) de ne pas considérer les détails relatifs aux E/S. Contrôleur de périphérique : l’objectif du contrôleur de périphérique est d’adapter la diversité des périphériques (débit, format de données, temps de réponse, forme de signaux de commande) à une interface commune, afin de respecter les normes suivies par le constructeur. PARTIE 1 Copyright - Tout droit réservé - OFPPT 35 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Les périphériques : Ce sont les composants matériels connectés à un système de traitement de l’information central comme un ordinateur, une console de jeu, permettant un échange avec l’extérieur (voir Figure 11). Il existe trois types de périphérique : Les périphériques d’entrées qui permettent l’entrée des données dans l’ordinateur (comme le clavier, la sourie, le microphone, le scanner,...) ; Les périphériques de sortie qui permettent la sortie des données de l’ordinateurs comme l’écran (sous forme d’affichage), le haut parleur (sous forme de son), l’imprimante (sous forme de papier) ; Les périphériques d’entrée / sortie comme flash USB. On distingue deux types de périphériques selon la manière de transfert de données : Les périphériques de type bloc (disque, bande, imprimante……) : c’est-à-dire que les données sont transférées en bloc ; Les périphériques de type caractère (clavier, souris, imprimante…) : ce qui signifie que les données sont transférées caractère par caractère. PARTIE 1 Copyright - Tout droit réservé - OFPPT 36 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Device Input/Output Data rate Type Keyboard Input 100 bps char Mouse Input 3800 bps char Voice input/output Input/Output 264 Kbps block burst Sound input Input 3 Mbps block burst or steady Scanner Input 3.2 Mbps block burst Laser printer Output 3.2 Mbps block burst Sound Output Output 8 Mbps block burst or steady Flash drive Storage 480-800 Mbps read; block burst 80 Mbps write USB Input or Output 1.6-480 Mbps block burst Network/Wireless LAN Input or Output 11-100 Mbps block burst Network/LAN Input or Output 100-1000 Mbps block burst Graphics display Output 800-8000 Mbps block burst or steady Optical disk Storage 4-400 Mbps block burst or steady PARTIE 1 Magnetic tape Storage 32-90 Mbps block burst or steady Magnetic disk Storage 240-3000 Mbps block burst Figure 11 : La liste des périphériques connectés à un ordinateur Copyright - Tout droit réservé - OFPPT 37 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Système de Gestion des fichiers Le système d'exploitation doit comprendre le système de fichiers pour pouvoir afficher son contenu, ouvrir des fichiers et y enregistrer des fichiers. Les différents systèmes de fichiers sont simplement les différentes manières d'organiser et de stocker des fichiers sur un disque dur, une clé USB ou tout autre périphérique de stockage. Chaque périphérique de stockage possède une ou plusieurs partitions, et chaque partition est « formatée » avec un système de fichiers. Le processus de formatage crée simplement un système de fichiers vide sur l'appareil. Quel que soit le type et l'utilisation, un disque contient un système de fichiers et des informations sur l'emplacement de stockage des données du disque, ainsi que la manière dont un utilisateur ou une application peut y accéder. Un système de fichiers gère généralement les opérations, telles que la gestion du stockage, le nommage des fichiers, les répertoires/dossiers, les métadonnées, les règles d'accès et les privilèges. Les systèmes de fichiers couramment utilisés incluent la table d'allocation de fichiers 32 (FAT 32) et le système de fichiers de nouvelle technologie (NTFS). PARTIE 1 Copyright - Tout droit réservé - OFPPT 38 01 - Analyser le fonctionnement d’un SE Présenter les concepts fondamentaux d’un SE Système de Gestion des fichiers Un système de fichiers fournit un moyen de séparer les données sur le lecteur en morceaux individuels, qui sont les fichiers. Il fournit également un moyen de stocker des données sur ces fichiers, par exemple les noms de fichiers, leurs autorisations et d'autres attributs. Le système de fichiers fournit également un index - une liste des fichiers sur le disque et où ils se trouvent sur le disque, afin que le système d'exploitation puisse voir ce qu'il y a sur le disque en un seul endroit plutôt que de parcourir tout le disque pour trouver un fichier (voir Figure 12). Fichier 1 Système d’exploitation Système de fichiers Fichier 2 PARTIE 1 Fichier n Figure 12 : Le système de fichiers : un intermédiaire entre le SE et les fichiers Copyright - Tout droit réservé - OFPPT 39 01 - Analyser le fonctionnement d’un SE Découvrir le principe de fonctionnement d’un SE Dans cette partie, on va découvrir le principe de fonctionnement d’un SE. Pour faire fonctionner un SE, un processus de démarrage doit être exécuté de la mise sous tension de l’ordinateur jusqu’au chargement du noyau. Processeur BIOS Processus de démarrage La Figure 13 présente la séquence de démarrage en schématisant les principaux exécute recherche composants assurant ce processus ainsi que leurs rôles. En effet, une fois l'ordinateur mis sous tension, le processeur exécute le BIOS (Basic Input Output System) qui à son tour analyse la configuration matérielle Noyau Support de données de l'ordinateur et décide qu’elle est apte pour le service ou non. Une fois que le Boot loader architecture système est initialisé correctement, le BIOS commence la recherche d’un Mémoire virtuelle dans le MBR système d’exploitation sur une unité de stockage par exemple sur un disque dur Interruptions exécute ou disquette. Le BIOS lit le premier secteur, appelé MBR (Master Boot Record) Ordonnanceur(Scheduler) pour un disque dur ou secteur d'amorçage (boot sector) dans le cas d'une Horloge disquette. Le premier secteur contient un petit programme appelé "boot loader Modules ", qui est chargé de désigner la partition active du média. Finalement, le secteur Processus « init » et « idle » Boot sector PARTIE 1 de début (c'est à dire le premier secteur de la partition d'amorçage autre que le charge charge MBR) contient à son tour un programme qui chargera le noyau. Dans ce qui suit, on va présenter en détails chaque composant assurant le fonctionnement d’un SE. Figure 13 : Séquence de démarrage Copyright - Tout droit réservé - OFPPT 42 01 - Analyser le fonctionnement d’un SE Découvrir le principe de fonctionnement d’un SE Maintenant, on va découvrir la fonctionnalité de chaque élément participant dans le démarrage de l’ordinateur. Le BIOS : Est l’abréviation du Basic Input Output System, c’est un très petit morceau de code contenu sur une puce de l’ordinateur. En démarrant l’ordinateur, le BIOS est le premier logiciel qui s'exécute. Il identifie le matériel de l’ordinateur, le configure, le teste et le connecte au système d'exploitation pour obtenir des instructions supplémentaires. C'est ce qu'on appelle le processus de démarrage. L'accès à l'utilitaire de configuration du BIOS permet de modifier l'ordre du processus de démarrage ainsi qu'une grande variété de paramètres matériels. Il n'est pas recommandé à un utilisateur inexpérimenté de modifier les paramètres du BIOS, à moins qu'une source fiable ne lui demande de le faire. Au fil du temps, les limitations du BIOS ont conduit à la création d'une nouvelle interface de micrologiciel appelée Unified Extensible Firmware Interface, abrévié UEFI. L'UEFI : Est très similaire au BIOS, mais présente certains avantages. Il peut démarrer à partir de disques de plus de 2 To, possède une interface utilisateur graphique avec capacité réseau et est compatible avec les versions antérieures et ultérieures. L'UEFI devrait éventuellement remplacer le BIOS. PARTIE 1 Copyright - Tout droit réservé - OFPPT 43 01 - Analyser le fonctionnement d’un SE Découvrir le principe de fonctionnement d’un SE Pour qu’un ordinateur démarre, il faut exécuter le code de démarrage principal Boot loader qui se trouve dans le MBR (Voir Figure 13). MBR (Master Boot Record) Le MBR se compose de trois éléments principaux : la table de partition principale, la signature du disque et le code de démarrage principal ; Le BIOS recherche un périphérique cible à partir duquel démarrer, qui contient un enregistrement de démarrage principal ; Le code de démarrage du MBR utilise le code de démarrage du volume de cette partition spécifique pour identifier l'emplacement de la partition système ; Le secteur de démarrage de cette partition particulière est utilisé pour démarrer le système d'exploitation. GPT (GUID Partition Table) C’est une nouvelle norme qui a pu remplacer progressivement le MBR. Elle est associée à UEFI qui lui, remplace le BIOS. On l’appelle « GUID Partition Table », car chaque partition sur votre disque dur a un identifiant unique (GUID = Globally Unique IDentifier). GPT permet un nombre illimité de partitions, et la limite ici sera votre système d’exploitation. Par exemple, Windows permet jusqu’à 128 partitions sur un disque GPT. Le noyau C’est le cœur du système d'exploitation. C'est la couche entre l’utilisateur qui travaille avec le système et le matériel qui est disponible sur l'ordinateur. PARTIE 1 On peut citer à titre d’exemple le noyau linux qui est de conception modulaire. Au démarrage, seul un noyau résident minimal est chargé dans la mémoire. Par la suite, chaque fois qu'un utilisateur demande une fonction qui n'est pas présente dans le noyau résident, un module de noyau est chargé dynamiquement en mémoire. Les modules du noyau Linux sont normalement chargés automatiquement par les périphériques. Cependant, il est possible de charger manuellement certains modules du noyau. Copyright - Tout droit réservé - OFPPT 44

Use Quizgecko on...
Browser
Browser