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