Les systèmes d`exploitation
Transcription
Les systèmes d`exploitation
Définitions Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement d'un ordinateur coordonne et uniformise l'utilisation du matériel par les logiciels applicatifs sert d'intermédiaire entre les logiciels applicatifs et le matériel offre une manière unifiée d'exploiter les périphériques de l'ordinateur par l'intermédiaire d'interfaces de programmation banalisées. Les systèmes d’exploitation Différents types d’OS: OS monoposte (micro) OS multipostes (multi-utilisateurs) (propriétaire ou ouvert) OS Serveur (NOS) JeanJean-Luc GOERIG Version LJV #090915 septembre 2009 1/60 Systèmes d’exploitation Jean-Luc GOERIG Fonctions d’un OS 2/60 Systèmes d’exploitation Jean-Luc GOERIG Fonctions d’un OS Interface normalisée entre programmes et matériels Attribuer la mémoire vive aux applications Contrôler l’exécution des applications Gestion des périphériques et des entrées/sorties Interface Homme Machine (IHM) en mode texte ou graphique 3/60 Systèmes d’exploitation Jean-Luc GOERIG 4/60 Systèmes d’exploitation Jean-Luc GOERIG OS 16/32/64 bits OS 16/32/64 bits OS 16 bits/ 32 bits/ 64 bits … Nom Symbole Valeur kilooctet Ko 103 mégaoctet Mo 106 gigaoctet Go 109 téraoctet To 1012 pétaoctet Po 1015 exaoctet Eo 1018 zettaoctet Zo 1021 yottaoctet Yo 1024 Optimisé pour une catégorie de processeur (taille des registres) Adressage de la mémoire centrale Un processeur 16 bits ne peut physiquement manipuler que 64 Ko Un processeur 32 bits: jusqu’à 4 Go (232) Un processeur 64 bits: jusqu’à 16 Eo (exaoctets) (264) 5/60 Systèmes d’exploitation Jean-Luc GOERIG OS 16/32/64 bits 6/60 Jean-Luc GOERIG Autres définitions Le passage d’un OS 32 bits à un OS 64 bits n’améliore pas les performances globales de la plateforme. Multitâche: Un OS est dit multitâche s’il est capable de faire fonctionner plusieurs programmes simultanément. Les programmes fonctionnent en fait de manière alternée. Il simplifie surtout la gestion de la mémoire. La vitesse d’une plate-forme est donc davantage liée au matériel et à l’optimisation des applications qu’au système d’exploitation. Une application 64 bits ne peut pas fonctionner sur un OS 32 bits, mais l’inverse est possible. Multitâche coopératif: Le programme est maître et passe la main à la l’OS L’OS peut être bloqué si le programme plante Windows 98 Multitâche préemptif: L’OS est toujours maître! C’est l’OS qui décide du temps que le processeur accorde à un programme Si un programme plante, l’OS reprend la main (pas toujours…) Exemples : Vista 32 et 64 Bits, Linux 32 et 64 Bits… 7/60 Systèmes d’exploitation Systèmes d’exploitation Jean-Luc GOERIG 8/60 Systèmes d’exploitation Jean-Luc GOERIG Autres définitions Autres définitions Processus: Multithreading: Synonyme de tâche. C’est un ensemble logique d’opérations qui provoque l’exécution d’un programme ou d’une portion de programme Exemple: Serveur Oracle = 18 process en même temps Désiqne le multitâche intra-applicatif L’application est découpée en entités plus petits appelées threads L’OS exécute simultanément les threads Les threads peuvent être réparties sur plusieurs processeurs Mode réel: Mode de fonctionnement du 8086 (voir assembleur) Permet d’adresser au maximum 1 Mo de mémoire par segment de 64 Ko Notion d’offset (déplacement) et de segments Système Multi-utilisateurs: Système d’exploitation capable de gérer plusieurs utilisateurs ou plusieurs postes simultanément. Les utilisateurs sont connectés via des terminaux ou des microordinateurs en réseau Gestion partagée de la mémoire centrale et des applications. Mode protégé: Le microprocesseur gère et contrôle la gestion de la mémoire par segment de 4 Go 9/60 Systèmes d’exploitation Jean-Luc GOERIG Mémoire virtuelle 10/60 Systèmes d’exploitation Jean-Luc GOERIG Modèle mémoire de Windows Mémoire virtuelle: Consiste à ne charger dans la mémoire vive de l’ordinateur que les portions de programme actives à un moment donné et non leur totalité On peut donc faire fonctionner des programmes dont la taille réelle est supérieure à la quantité réelle de mémoire vive disponible = mémoire paginée = fichier d’échange (Windows) = partition d’échange (Swap Linux) Voir le Modèle mémoire de Windows et son fonctionnement 11/60 Systèmes d’exploitation Jean-Luc GOERIG 12/60 Systèmes d’exploitation Jean-Luc GOERIG Modèle mémoire de Windows Mémoire virtuelle Partage de mémoire dans un système paginé: 13/60 Systèmes d’exploitation Jean-Luc GOERIG 14/60 Systèmes d’exploitation Jean-Luc GOERIG Noyau Pilotes Le noyau: Un pilote (anglais driver) est un programme qui contient les instructions à exécuter pour utiliser un certain périphérique informatique IL assure l'utilisation banalisée du périphérique. Les pilotes sont fournis par l'auteur du système d'exploitation ou le fabricant du périphérique. Un système d'exploitation contient typiquement de nombreux pilotes correspondant aux nombreux composants matériel qui sont susceptibles d'être montés dans l'ordinateur. Le système d'exploitation dirige l'utilisation des pilotes pour les logiciels applicatifs. Lors de chaque événement survenu sur un périphérique, celui-ci provoque une interruption matérielle. Le processeur provoque alors une commutation de contexte, et le système d'exploitation déclenche l'exécution des instructions du pilote concerné. Le noyau (anglais kernel) est un espace mémoire isolé, dans lequel est placé tout ou partie du système d'exploitation. Dans le langage courant le terme kernel désigne l'emplacement ainsi que l'ensemble des programmes qu'il contient et qui forment le cœur rigide du système d'exploitation. Le contenu du noyau ne peut pas être modifié par les applicatifs (sinon blocage de l'ordinateur). L'isolation est réalisée par l'unité de gestion mémoire (anglais Memory Management Unit, abrégé MMU), un composant électronique souvent inclut dans le microprocesseur. Le noyau est dit monolithique quand il contient la majeure partie des programmes du système d'exploitation. Par opposition il est appelé micronoyau quand il contient uniquement l'exécutif, et que le reste du système d'exploitation se trouve en dehors (exemple typique: Unix). 15/60 Systèmes d’exploitation Jean-Luc GOERIG 16/60 Systèmes d’exploitation Jean-Luc GOERIG Système de fichiers Systèmes de fichiers Un système de fichier (anglais file system) est une structure en arbre dans laquelle sont stockés des fichiers sur un périphériques ainsi que d'autres informations. Il existe diverses manières de structurer un système de fichier. Une mémoire de masse qui a été remplie avec un système d'exploitation selon une structure donnée sera reconnue par un autre système d'exploitation uniquement si celui-ci reconnaît la structure en question. Les mémoires amovibles telles que les CD ou les DVD ont une structure normalisée dont les spécifications sont publiques, ce qui assure leur reconnaissance par tout les systèmes d'exploitation (voir ISO 9660 et UDF). Un système d'exploitation contient typiquement différents programmes qui servent à manipuler un système de fichier. Chaque programme manipule les fichiers conformément à une structure donnée. Ces programmes effectuent des opérations telles que créer des fichiers, les copier, les supprimer, créer et supprimer des répertoires ainsi que formater la mémoire de masse c'est-à-dire créer une structure vide. Lorsque le système de fichier est distribué, c'est-à-dire que les fichiers sont stockés sur différents ordinateurs d'un réseau informatique, le système d'exploitation envoie une requête à l'ordinateur qui stocke le fichier pour chaque opération à effectuer. Dans un système d'exploitation multi-utilisateurs, les programmes qui manipulent le système de fichier effectuent des contrôles pour vérifier qu'aucun fichier n'est manipulé par une personne non autorisée. Le système d'exploitation refusera toute manipulation non autorisée. Le choix du système de gestion des fichiers se fait principalement en fonction du système d’exploitation. Généralement, les systèmes d’exploitation les plus récents supportent un grand nombre de systèmes de fichiers. MS-DOS (et compatibles) et les premières versions de Windows (95, 98) utilisaient les systèmes de fichiers FAT16 et FAT12 (pour les supports de moins de 16 Mo). À partir de Windows 95 OSR2, le choix s‘est élargi: FAT16 et FAT32. A partir d'une certaine taille de partition, le choix du système FAT32 est plus judicieux. 17/60 18/60 Systèmes d’exploitation Jean-Luc GOERIG Systèmes d’exploitation Jean-Luc GOERIG Systèmes de fichiers Boot Loader Sous les premières versions de Windows NT (NT3.x et NT4), il y a le choix entre le système FAT16 et NTFS. Ce système d'exploitation ne supporte pas le FAT32. Généralement, le système NTFS est conseillé, car il procure une sécurité plus grande ainsi que des performances accrues par rapport au FAT. Contrairement aux précédentes versions de Windows NT, Windows 2000, XP et Vista acceptent des partitions de type FAT16, FAT32 et NTFS. Le SP1 de Vista propose de formater en exFAT qui est une évolution de la FAT, proposant une meilleure fiabilité, une gestion des noms longs. Unix (Unix, Linux, BSD, MacOS X) supporte un très grand nombre de systèmes de fichiers, suivant généralement la norme POSIX. Linux: utilise les systèmes ext2fs, ext3fs, et depuis peu LVM. Un chargeur d'amorçage (ou Boot loader) est un logiciel permettant de lancer un ou plusieurs systèmes d'exploitation (multi-boot), c'est-à-dire qu'il permet d'utiliser plusieurs systèmes, à des moments différents, sur la même machine. Micrologiciel BIOS: dans le cas le plus simple, il n'y a qu'une seule partition sur le disque de boot : le micrologiciel BIOS charge les 512 premiers octets de ce disque, ces 512 octets constituant le MBR. À partir des informations du MBR (Master Boot Record), il détermine l'emplacement de la routine d'amorçage. Quelques exemples: 19/60 20/60 Systèmes d’exploitation Jean-Luc GOERIG NTLDR (NT LoaDeR ou Chargeur d'amorçage de Windows) GRUB (GRand Unified Bootloader) pour Linux LILO (Linux loader) pour Linux pour le système d'exploitation Vista, le chargeur d'amorçage est winload.exe et sa configuration est stockée dans une ruche du registre BCD (Boot Configuration Data) Systèmes d’exploitation Jean-Luc GOERIG