Résumé Théorique - Filière Infrastructure Digitale - PDF
Document Details
Uploaded by PraisingSatire7223
OFPPT
Tags
Summary
Ce document présente un résumé théorique sur le fonctionnement des systèmes d'exploitation, en se concentrant sur les systèmes d'exploitation clients, tels que Windows et Linux. Il aborde des concepts fondamentaux, la description d'un système d'exploitation, et les différents types de systèmes d'exploitation, ainsi que leur historique.
Full Transcript
RÉSUMÉ THÉORIQUE – FILIÈRE INFRASTRUCTURE DIGITALE M104 - Maîtriser le fonctionnement d'un système d'exploitation client 87 heures 1. DÉCOUVRIR LES SYSTÈMES SOMMAIRE D’EXPLOITATION (SE) Analyser le fonctionnement d’un SE...
RÉSUMÉ THÉORIQUE – FILIÈRE INFRASTRUCTURE DIGITALE M104 - Maîtriser le fonctionnement d'un système d'exploitation client 87 heures 1. DÉCOUVRIR LES SYSTÈMES SOMMAIRE D’EXPLOITATION (SE) Analyser le fonctionnement d’un SE Préparer les disques durs Découvrir les SE client et serveur 2. GÉRER UN SYSTÈME D’EXPLOITATION WINDOWS Explorer Windows Déployer un Système d’exploitation Windows Assurer la sécurité du client Windows 3. GÉRER UN SYSTÈME D’EXPLOITATION LINUX Explorer Linux Manipuler le Shell Linux Paramétrer le déploiement de Linux MODALITÉS PÉDAGOGIQUES 1 2 3 4 5 LE GUIDE DE LA VERSION PDF DES CONTENUS DU CONTENU DES RESSOURCES SOUTIEN Une version PDF TÉLÉCHARGEABLES INTERACTIF EN LIGNES Il contient le est mise en ligne Les fiches de Vous disposez de Les ressources sont résumé théorique sur l’espace résumés ou des contenus consultables en et le manuel des apprenant et exercices sont interactifs sous synchrone et en travaux pratiques formateur de la téléchargeables forme d’exercices asynchrone pour plateforme sur WebForce Life et de cours à s’adapter au WebForce Life utiliser sur rythme de WebForce Life l’apprentissage Copyright - Tout droit réservé - OFPPT 3 PARTIE 1 Découvrir les systèmes d’exploitation (SE) Dans ce module, vous allez : Analyser le fonctionnement d’un SE Préparer les disques durs Découvrir les SE client et serveur 27 heures CHAPITRE 1 Analyser le fonctionnement d’un SE Ce que vous allez apprendre dans ce chapitre : Décrire un système d'exploitation SE Présenter les concepts fondamentaux d’un SE Découvrir le principe de fonctionnement d’un SE 10 heures CHAPITRE 1 Analyser le fonctionnement d’un SE 1. Décrire un système d'exploitation SE 2. Présenter les concepts fondamentaux d’un SE 3. Découvrir le principe de fonctionnement d’un SE 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 CHAPITRE 1 Analyser le fonctionnement d’un SE 1. Décrire un système d'exploitation SE 2. Présenter les concepts fondamentaux d’un SE 3. Découvrir le principe de fonctionnement d’un SE 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 Présenter les concepts fondamentaux d’un SE Gestion des utilisateurs Il est possible de classer les SE en deux catégories suivant le nombre d’utilisateurs : Les SE Mono utilisateur : Ce sont les systèmes d'exploitation à utilisateur unique qui permettent à un seul utilisateur d'accéder à un moment donné à l’ordinateur. Ces SE à utilisateur unique peuvent être repartis en deux classes : 1. Système d'exploitation mono-utilisateur mono-tâche : dans le système d'exploitation mono-utilisateur mono-tâche, un seul utilisateur est autorisé à effectuer une seule tâche à la fois. Ce système d'exploitation est spécialement conçu pour les téléphones sans fils ainsi que les appareils de messagerie bidirectionnelle Exemples : MS-DOS, Palm OS. 2. Système d'exploitation multitâche mono-utilisateur : le système d'exploitation mono-utilisateur multi-tâches est développé spécialement pour un utilisateur, mais cet utilisateur unique est capable d'effectuer plusieurs tâches exécutées en même temps. Exemple : Windows, Mac OS. Les SE multi-utilisateur : Ce Type de système d’exploitation supporte plusieurs sessions en même temps. Exemples : Linux, Unix. PARTIE 1 Copyright - Tout droit réservé - OFPPT 40 CHAPITRE 1 Analyser le fonctionnement d’un SE 1. Décrire un système d'exploitation SE 2. Présenter les concepts fondamentaux d’un SE 3. Découvrir le principe de fonctionnement d’un SE 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 CHAPITRE 2 Préparer les disques durs Ce que vous allez apprendre dans ce chapitre : Maîtriser le partitionnement et formatage des disques durs Découvrir les systèmes de gestion de fichiers Décrire des disques durs 10 heures CHAPITRE 2 Préparer les disques durs 1. Décrire des disques durs 2. Découvrir les Systèmes de gestion de fichiers 3. Maîtriser le Partitionnement et formatage des disques durs 02 - Préparer les disques durs Décrire des disques durs Pour exploiter un système d’exploitation, il faut tout d’abord l’installer. Maintenant, pour l’installer, il faut avoir nécessairement un disque dur. Dans cette partie du cours, on va découvrir comment préparer les disques durs pour exploiter les systèmes et leurs fonctionnalités, et donc utiliser l’ordinateur. On commence par la description d’un disque dur. Définition d’un disque dur Le disque dur est le composant responsable du stockage des données. C’est là que tous les fichiers et dossiers sont physiquement situés. Deux types de disques se présentent : les disques SSD (l’abréviation de Solid State Drive) et les disques HDD (l’abréviation de Hard Disk Drive). Les disques durs ont été inventés dans les années 1950. Ils ont commencé comme de gros disques ayant 20 pouces de diamètre et contenant seulement quelques mégaoctets. Ils étaient à l'origine appelés « disques fixes ». Ils sont devenus plus tard connus sous le nom de « disques durs » pour les distinguer des « disquettes ». Il existe deux manières de mesurer les performances d'un disque dur : Débit de données : le débit de données est le nombre d'octets par seconde que le lecteur peut fournir au CPU. Le temps de recherche : c’est le temps qui s'écoule entre le moment où le processeur demande un fichier et le moment où le premier octet du fichier est envoyé au processeur. Les opérations du disque sont pilotées par des contrôleurs du disque. Le contrôleur de disque se trouve accolé au disque. Exemple: les standards SCSI Abréviation de PARTIE 1 Small Computer System Interface, IDE abréviation de Integrated Drive Electronics ou encore nommé Parallel ATA signifie Advanced Technology Attachment et aujourd’hui SATA Abréviation de Serial Advanced Technology Attachment, ou S-ATA qui est aussi un dérivé de la norme ATA. Copyright - Tout droit réservé - OFPPT 47 02 - Préparer les disques durs Décrire des disques durs Disques durs HDD (hard disk drive) Les disques durs traditionnels (HDD) sont bien connus car ils existent depuis plus de 50 ans. Les disques durs reposent sur des disques en rotation, ou plateaux, pour lire et écrire des données, ce qui les limite physiquement à la vitesse à laquelle ils peuvent effectuer des opérations de lecture et d'écriture. De nos jours, la plupart des gens utilisent désormais le (SSD) pour des tailles de stockage typiques, car ils sont nettement plus rapides pour à peu près le même prix. Les disques durs ne sont généralement utilisés que dans les systèmes économiques où les solutions de sauvegarde de données volumineuses ou l'utilisation de disques durs sont plus rentables. Les disques durs HDD présentent une mémoire de masse magnétique qui est utilisée pour le stockage des données. Un HDD est constitué des plateaux en aluminium recouverts d'une couche magnétique où les différentes données sont sauvegardées en langage machine (code binaire). Les données peuvent être accédées en lecture ou en écriture à partir d’une ou plusieurs têtes du HDD. PARTIE 1 Copyright - Tout droit réservé - OFPPT 48 02 - Préparer les disques durs Décrire des disques durs Disques durs HDD (hard disk drive) Comme il est illustré dans la Figure 14, un disque HDD est formé de plusieurs plateaux, qui eux- mêmes sont divisés en pistes. Chaque piste se divise en secteurs. Les pistes ayant le même rayon forment un cylindre. Pour que les têtes accèdent aux différentes zones de stockage, les plateaux du HDD effectuent une rotation. En fonction de la vitesse de la rotation, qui s'exprime en tours par minutes (rpm), la tête accède plus ou moins vite aux zones de stockage. Par exemple, pour 5400 rpm le temps d'accès est de 5,55ms, à 7200 rpm il passe à 4,16ms, à 10000 rpm il n'est plus que de 3ms. La vitesse de rotation maximale actuelle est de 15000 rpm, soit 2ms de temps d'accès. Capacité d’un disque Taille d’une piste = nb de secteurs par piste * taille d’un secteur Taille d’un cylindre = nb de faces * taille d’une piste Taille d’un plateau = nb de pistes par face * taille d’une piste * 2 Taille du disque = nb de cylindres * taille d’un cylindre = nb de plateaux * taille d’un plateau. Figure 14 : Les composants d’un disque durs SATA HDD PARTIE 1 Les données sont organisées sur le disque dur par un système de fichiers, par exemple, le NTFS, le FAT32, etc. Il existe plusieurs modèles dans le marché de capacité de stockage différente, aujourd’hui, il y a des HDD qui peuvent stocker jusqu’à 3 To (Téra octets). Copyright - Tout droit réservé - OFPPT 49 02 - Préparer les disques durs Décrire des disques durs Il existe plusieurs dimensions, on note les modèles 2,5" et 3,5" qui sont couramment utilisés. Les HDD externes avec une interface de connexion USB ou e-SATA. Les HDD internes sont connectés en SATA ou en IDE. La Figure 15 illustre les composants d’un HDD interne 3,5 ‘’IDE. PARTIE 1 Figure 15 : Illustration d'un HDD interne 3,5" IDE Copyright - Tout droit réservé - OFPPT 50 02 - Préparer les disques durs Décrire des disques durs Disques durs SATA SSD (Solid State Drive) (voir Figure 16) Les disques SSD (Solid State Drive) sont rapidement devenus la norme et le successeur des disques durs traditionnels. Le SSD utilise une mémoire NAND-Flash similaire à celle utilisée dans les clés USB. Les SSD peuvent généralement coûter le même prix que les disques durs pour les tailles de stockage typiques, ce qui en fait un choix facile en raison de ses vitesses beaucoup plus rapides. PARTIE 1 Figure 16 : Un disque SATA SSD Copyright - Tout droit réservé - OFPPT 51 02 - Préparer les disques durs Décrire des disques durs Disques durs SATA NVMe SSD (Non-Volatile Memory Express) Les disques SSD NVMe sont la dernière technologie et offrent les vitesses de transfert et d'E/S les plus rapides. En fait, ils sont environ 6 fois plus rapides que les SSD SATA traditionnels. Les disques durs et les SSD traditionnels utilisent des ports SATA III qui atteignent un débit maximal de 600 Mo/s et limitent leurs vitesses. En utilisant cette connexion, la plupart des SSD fourniront des vitesses de lecture et d'écriture d'environ 500 Mo/s. À titre de comparaison, un disque dur à 7 200 tr/min gère environ 100 Mo/s en fonction de l'état et du niveau de fragmentation. Le SSD NVMe, quant à lui, utilise plusieurs voies PCI-e qui lui permettent de fournir des vitesses de débit pouvant atteindre 3 500 Mo/s. C'est 35 fois plus rapide que les disques durs et 7 fois plus rapide que les SSD SATA ! PARTIE 1 Copyright - Tout droit réservé - OFPPT 52 CHAPITRE 2 PRÉPARER LES DISQUES DURS 1. Décrire des disques durs 2. Découvrir les Systèmes de gestion de fichiers 3. Maîtriser le Partitionnement et formatage des disques durs 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Gestion des fichiers : Système de fichiers Depuis des décennies, les systèmes de fichiers sont existants, ils ont été utilisés par les cartes perforées et les bandes magnétiques. Mais les anciens systèmes de fichiers ne permettaient qu’un accès linéaire, ce qui signifie qu’il fallait chercher et trouver l’emplacement exact du stockage, ce qui va prendre beaucoup de temps, par exemple en enroulant une bande magnétique. Aujourd’hui, les systèmes de fichiers permettent un accès aléatoire, c’est-à-dire que la récupération de toute donnée est effectuée beaucoup plus rapidement. Dans ce qui suit, on va découvrir qu’est ce qu’un système de fichiers. Ainsi, on va présenter les principaux système de fichiers existants. Un système de fichiers ou file system en anglais (ou système de gestion de fichiers abrévié SGF) est défini comme un système de classement et d’organisation sur un support de stockage (disque dur, disquette, CD-ROM, clé USB, disques SSD, etc.) qui permet la structuration et l’organisation de l’écriture, de la recherche, de la lecture, du stockage, de la modification et de la suppression de fichiers d’une manière spécifique. Le système de fichiers permet aux utilisateurs d’accéder à leurs fichiers le plus rapidement possible. Pour garantir ça, les fichiers sont classifiés de façon à ce qu’ils puissent être identifiés sans erreur. Le système de gestion de fichiers (SGF) est considéré comme la partie la plus visible d’un système d’exploitation SE qui est responsable de la gestion du stockage et de la manipulation de fichiers sur une unité de stockage. Le rôle principal d’un SGF est donc la gestion des fichiers et la mise à la disposition des utilisateurs des primitives pour manipuler ces fichiers. PARTIE 1 Copyright - Tout droit réservé - OFPPT 54 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Gestion des fichiers : Système de fichiers Les systèmes de fichiers sont considérés comme un composant opérationnel essentiel, qui joue le rôle d’une interface entre le système d’exploitation SE et tous les lecteurs connectés (internes ou externes, par exemple via un port USB). Le système de gestion de fichiers permet un ensemble des fonctionnalités telles que : stocker des fichiers sur le disque dur gérer de l'espace libre sur le disque dur faciliter l’utilisation des fichiers dans un environnement multi-utilisateur assurer l'organisation des fichiers, le diagnostic, la récupération en cas d'erreurs. Un fichier est sauvegardé sur le disque sur un ensemble de clusters, appelés aussi blocs. Le SGF traite alors des blocs numérotés de 0 à N-1 (N = taille du disque/taille d’un bloc). Le stockage de chaque fichier soit ordinaire soit répertoire d’un système de fichiers se fait sur l’unité de stockage du système de fichiers. La taille des blocks où les donnés sont stockées est fixe (512, 1024, ou 2048 octets,…) et à chaque fichier est alloué un nombre de blocs. Les opérations de lecture/écriture d’un élément d’un fichier consistent à effectuer le transfert vers la mémoire du bloc entier contenant cet élément. PARTIE 1 Copyright - Tout droit réservé - OFPPT 55 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Techniques d’allocation des blocs sur le disque Il existe plusieurs techniques d’allocation des blocs sur le disque, on distingue trois façons d’organiser les blocs d’un fichier : contiguë, chaînée et indexée. Allocation en blocs contigus : la technique contiguë Allocation en blocs chaines : la technique chaînée Allocation avec des blocs d’index : la technique indexée Maintenant, on va découvrir en détails ces trois techniques d’allocation. PARTIE 1 Copyright - Tout droit réservé - OFPPT 56 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Allocation en blocs contigus Pour enregistrer un fichier, le SGF recherche une zone mémoire suffisamment grande pour contenir le fichier. Chaque fichier est constitué alors de plusieurs blocs contigus dans le disque, c’est-à-dire consécutifs. Cette méthode permet l’accès rapide aux fichiers puisque les blocs sont contigus en mémoire, il suffit de mémoriser l’adresse du premier bloc (appelé tête) d’un fichier pour y accéder, ce qui signifie la réduction en temps. Comme cette technique a des avantages, également, elle a des inconvénients : Le gaspillage de la place car le dernier bloc réservé pour le fichier peut ne pas être utilisé La taille de fichiers peut augmenter suite à des opérations d’écriture. Dans ce cas, il faudra le déplacer afin de trouver une nouvelle zone mémoire de taille suffisante. La perte d’espace sur le disque : soit le risque qu’un fichier n’utilise pas l’espace mémoire en entier, soit, le risque qu’un fichier ne trouve pas assez d’espace mémoire pour être étendu Problème de fragmentation externe : l’allocation de l’espace mémoire des différents fichiers se fait d’une façon contiguë. Après certaine manipulation des fichiers tel que la création, le déplacement ou la suppression, on peut avoir des petites zones éparpillées dans la mémoire qui ne servent pas à stocker des fichiers mais dont le total est assez volumineux PARTIE 1 Copyright - Tout droit réservé - OFPPT 57 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Allocation en blocs contigus La Figure 17 illustre un exemple d’allocation contigüe d’espace disque pour 6 fichiers. Chaque fichier est stocké dans un nombre de blocs contigus. Table Fichier Fin Fichier C Fichier E Début Fichier A ( 4 blocs) ( 6 blocs) ( 12 blocs) A 0 3 B 4 6 C 7 12 D 13 29 E 18 35 F 30 38 Fichier B Fichier D Fichier F PARTIE 1 ( 3 blocs) ( 5 blocs) ( 6 blocs) Figure 17 : Allocation contiguë d’espace disque pour 6 fichiers Copyright - Tout droit réservé - OFPPT 58 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Allocation chaînée (non contiguë) Cette technique consiste à sauvegarder les blocs constituant le fichier sous forme d’une liste chainée comme il est montré dans la Figure 18. En effet, les différents blocs composant le fichier sont éparpillés dans le disque et ils sont liés entre eux via leur adresse. Chaque bloc contient l’adresse du bloc suivant. Cette technique résout le problème de l’allocation contigüe, car avec l’allocation chaînée, il n’y a aucune limitation de taille, seulement l’espace disque lui-même. Fichier B Adresse physique du bloc suivant 2 4 10 7 0 Bloc Bloc Bloc Bloc Bloc fichier fichier fichier fichier fichier Blocs logiques 0 1 2 3 4 PARTIE 1 Blocs physiques 12 2 4 10 7 Figure 18 : Allocation chainé des blocs constituant le fichier B Copyright - Tout droit réservé - OFPPT 59 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Comme toutes les techniques, l’allocation chaînée présente des avantages et des inconvénients. L’avantage de cette technique est l’élimination du problème de fragmentation externe. De plus, sa mise en place ne nécessite pas une structure spéciale. Le premier inconvénient de cette technique est l’accès totalement séquentiel au fichier puisque le parcours d’un fichier est toujours effectué à partir de son début. De plus, la manipulation des blocs chaînés est très délicate et n’est pas sécurisée car la perte d’un chaînage va entraîner par conséquence la perte de tout le reste du fichier. Pire encore, une modification d’une valeur dans un pointeur suffit pour se trouver dans un autre bloc. Notez qu’un pointeur est une variable contenant l’adresse du bloc suivant. Tous les inconvénients cités ci-dessus peuvent être résolus en utilisant la technique d’allocation indexée. PARTIE 1 Copyright - Tout droit réservé - OFPPT 60 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Allocation non contiguë indexée L’utilisation d’une table d’index permet de remédier à l’insuffisance de l’allocation chaînée d’une manière simple. En effet, cette technique consiste à retirer et placer les pointeurs des blocs dans une structure de données sauvegardées en mémoire centrale, permettant ainsi un accès rapide et à tout moment aux informations concernant les numéros de blocs. La Figure 19 montre l’utilité de la table d’index contenant les pointeurs pour obtenir les informations concernant les numéros de blocs. Cette méthode est appliquée par la plupart des systèmes actuels. On cite à titre d’exemple, La FAT (l’abréviation de File allocation Table), qui est utilisée par MS-DOS pour la conservation des chaînages entre les blocs. Windows NT utilise la MFT (l’abréviation de Master File Table) associé au système NTFS (l’abréviation de New Technology File System). Enfin, le SE UNIX, GNU/Linux emploie le I-Node (l’abréviation de Index Node). Table d’index index 3 0 1 2 3 4 5 6 7 1 PARTIE 1 8 9 10 11 5 3 8 12 13 14 15 14 Figure 19 : Allocation chaînée indexée Copyright - Tout droit réservé - OFPPT 61 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers En général, les systèmes de fichiers passent par un formatage sur un support de données. Dans le passé, ce sont les utilisateurs qui prenaient en charge la préparation de nouveaux supports de données pour le stockage et la gestion des fichiers. Les supports de stockage achetés de nos jours sont déjà formatés. Chaque système d’exploitation supporte un ensemble des systèmes de gestion de fichier comme il est présenté dans la Table 1. Système d’exploitation Système de fichiers supportés DOS FAT16 Windows 95 FAT16 Windows 98 FAT16, FAT32 Windows NT4 NTFS, FAT Windows XP NTFS, FAT, FAT16, FAT32 Linux Ext2, Ext3, Ext4, Linux Swap, FAT16,xfs, FAT32, NTFS, ReiserFS PARTIE 1 OpenBSD, FreeBSD UFS (Unix File System) MacOS MFS (Macintosh File System), HFS (Hierarchical File System) Table 1 : Liste des système de fichiers supportés pour certain SE Copyright - Tout droit réservé - OFPPT 62 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichiers Système de Gestion FAT FAT signifie File Allocation Table, c'est un système de fichiers relativement ancien. Les fichiers sont limités à 4 Go. Pour un FS de type FAT, la taille et les noms des fichiers sont insensibles à la casse. Ce système de fichiers a l'avantage d'être largement portable et d'être disponible sur de nombreuses plateformes. Pour cette raison, les périphériques de stockage sont souvent préformatées en FAT. Grace à cette portabilité, FAT est souvent utilisé pour les clés USB et pour la partition /boot. Un volume formaté avec le système de fichiers FAT est organisé en clusters. La taille de cluster par défaut est déterminée par la taille du volume. Chaque fichier et répertoire se voit attribuer une entrée de répertoire qui contient : Nom de fichier Taille du fichier Adresse de départ du contenu Si un fichier ou un répertoire a besoin de plus d'un cluster, ces clusters se trouvent dans la structure FAT. PARTIE 1 https://www.file-recovery.com/recovery-understanding-file-system-fat.htm Copyright - Tout droit réservé - OFPPT 63 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichier Versions de Système de Fichiers FAT Il existe trois versions différentes FAT12, FAT16 et FAT32 : FAT12 : L'identifiant de cluster est codé sur 12 bits, ce qui limite le stockage maximum d’une partition à 2^12 (4096) clusters. Windows utilise des clusters ayant une taille allant du 512 octets à 8 Ko, ce qui limite la taille de volume FAT12 à 32 Mo. FAT16 : Avec un identifiant de 16 bits, FAT16 peut adresser 65536 clusters. Sous Windows, les tailles de cluster FAT16 varient de 512octets (la taille du secteur) à 64 Ko, ce qui limite la taille d’un volume à 4 Go. FAT32 : FAT32 est le format de système de fichiers basé sur FAT le plus récemment défini. FAT32 utilise des identifiants de cluster à 32 bits. Parmi ces 32 bits, 4 sont réservés. Donc, nous pouvons considérer que FAT32 utilise des identifiants à 28 bits. Il peut gérer plus efficacement les disques que FAT16. Il peut gérer des volumes de 128 Gb avec des clusters de 512 octets. PARTIE 1 Copyright - Tout droit réservé - OFPPT 64 02 - Préparer les disques durs Découvrir les Systèmes de gestion de fichier Structure d’un Volume FAT Un Volume FAT est organisé comme suit : Secteur d'amorçage de Table d'allocation des Table d'allocation des fichiers Répertoire racine partition fichiers (dupliquée) Secteur d’amorçage de partition Le secteur d'amorçage de partition contient des informations que le système de fichiers utilise pour accéder au volume. Sur les ordinateurs x86, l'enregistrement d'amorçage principal utilise le secteur d'amorçage de partition sur la partition système pour charger les fichiers du noyau du système d'exploitation. Table d’allocation des fichiers Les entrées sont stockées dans une table qui réside au début du volume. Pour protéger le volume, deux exemplaires de tables sont conservés, au cas où l'un serait endommagé. Les tables