STIC A - SYSTÈMES INFORMATIQUES
SYSTÈME D’EXPLOITATION
[email protected]
LE SYSTÈME D’EXPLOITATION (1/2)
§ Le système d’exploitation (OS, Operating System) est composé
d'un ensemble de logiciels permettant de gérer les interactions
avec le matériel et les utilisateurs
§ Il assure deux fonctions principales :
– Abstraction : le système d'exploitation peut être considéré comme
une machine virtuelle plus simple à exploiter que la machine réelle
– Gestion : le système d’exploitation assure la gestion efficace des
ressources de l’ordinateur : CPU, mémoires centrales et auxiliaires,
équipements d'entrée/sortie, etc.
§ Aujourd’hui, tous les systèmes informatiques possèdent un
système d’exploitation (générique ou adapté) : CP/M, DR-DOS,
Windows, MacOS, Linux, MVS, VMS, NOS/VE, SymbianOS,
palmOS, UNIX, OS-9, RTLinux, QNX, VxWorks, Android…
STIC A - Systèmes Informatiques 2 Département Informatique, École Navale
LE SYSTÈME D’EXPLOITATION (2/2)
§ L’ensemble de logiciels d’un système d'exploitation est composé :
– Du noyau (en anglais kernel) qui comprend les fonctions
fondamentales du système d'exploitation
– D’un ensemble de services (ou librairies) qui est l’ensemble non
fondamental des composants logiciels indispensables pour faire
fonctionner l’ordinateur
– De l'interpréteur de commande (en anglais shell) qui permet la
communication avec le système d'exploitation par l'intermédiaire d'un
langage de commandes (e.g. bash, ms-dos, etc.)
matériel noyau
application
application
Interpréteur de
commandes
librairies
STIC A - Systèmes Informatiques 3 Département Informatique, École Navale
LES FONCTIONS DU SYSTÈME D’EXPLOITATION (1/3)
§ Pour assurer ses fonctions, le système d’exploitation s’appuie sur
les ressources matérielles
– Par exemple : la MMU (Unité de gestion de la mémoire au sein du
processeur)
§ Gestion du processeur :
– Le système d'exploitation est chargé de la bonne exécution des
applications en leur affectant les ressources nécessaires à leur bon
fonctionnement
– Le système d'exploitation réalise notamment l'allocation du
processeur entre les différents programmes grâce à un algorithme
d'ordonnancement (le scheduler)
– Au niveau du noyau, le type d'ordonnanceur est totalement
dépendant du système d'exploitation mais aussi de l’architecture
monoprocesseur, multiprocesseur (dual-core, SMP ou parallèle)
STIC A - Systèmes Informatiques 4 Département Informatique, École Navale
LES FONCTIONS DU SYSTÈME D’EXPLOITATION (2/3)
§ Gestion de la mémoire vive :
– Le système d'exploitation est chargé de gérer l’allocation de l’espace
mémoire à chaque application (allocation, libération, droits d’accès)
– Le système gère notamment les mécanismes de mémoire virtuelle, de
pagination et éventuellement de segmentation
§ Gestion des fichiers :
– Le système d'exploitation définit une structure organisée des fichiers
(généralement sous forme arborescente) : c’est le système de gestion
de fichiers (SGF)
– Les différents SGF définissent les mécanismes de manipulation et
d’accès (lecture, écriture, droits) aux données stockées sur le disque
dur, amovible ou réseau
STIC A - Systèmes Informatiques 5 Département Informatique, École Navale
LES FONCTIONS DU SYSTÈME D’EXPLOITATION (3/3)
§ Gestion des entrées/sorties :
– Le système d'exploitation permet d'unifier et de contrôler les
échanges d'informations entre le processeur et les ressources
matérielles (accès aux périphériques) par l'intermédiaire des pilotes
(appelés également gestionnaires de périphériques ou drivers)
– Ces entrées/sorties peuvent être assimilées à des lectures/écritures à
des adresses mémoires particulières
– Connu sous l'acronyme I/O, issu de l'anglais Input/Output
§ Gestion des droits :
– La protection est le mécanisme permettant de contrôler l’accès des
programmes, processus et utilisateurs aux ressources définies ou
gérées par un système informatique
– Le système d'exploitation définit des mécanismes de protection
permettant de contrôler les droits d’accès à la mémoire, aux fichiers
et autres périphériques
STIC A - Systèmes Informatiques 6 Département Informatique, École Navale
LE NOYAU (1/2)
§ Le noyau est la partie résidente (toujours en RAM) du système
d’exploitation car il contient les fonctionnalités critiques (qui
doivent toujours être prêtes à l’utilisation)
– Gestion des processus
– Traitement d’interruptions
– Gestion mémoire
– Communication entre processus
§ La distinction entre les éléments fondamentaux et ceux qui ne le
sont pas (les librairies) varie et conduit a des structurations de
systèmes très différentes :
– Noyaux monolithiques ou monolithiques modulaires : tout est noyau
– Micronoyaux ou micronoyaux enrichis : un maximum en librairie
– Exonoyaux et les nanonoyaux : tout est librairie
Le noyau est traditionnellement codé en C et en
assembleur pour ses parties les plus critiques
STIC A - Systèmes Informatiques 7 Département Informatique, École Navale
LE NOYAU (2/2)
§ Deux modes d’exécution peuvent suffire pour sécuriser un
système d’exploitation
– Le mode noyau : les programmes du noyau s’exécutent en mode
privilégié et de fait disposent de nombreux droits (accès aux
ressources critiques)
– Le mode utilisateur : les autres programmes (librairies, applications
de l’utilisateur) s’exécutent en mode non privilégié dans lequel
beaucoup d’accès aux ressources sont bloqués par le noyau
§ Pour passer en mode noyau il faut exécuter un appel système
(syscall) :
– C’est un mécanisme d’entrée contrôlé qui permet à une application
d’exécuter du code en mode noyau
– Sous Linux/IA32, le syscall est réalisé par une exception logicielle
Les processeurs disposent d’un ou plusieurs bits dans leur registre d’état pour indiquer le niveau de
droit. Par exemple les IA32 disposent de 4 anneaux de protection mais Linux sur IA32 n’en utilise
que 2 sur 4 pour représenter uniquement un mode noyau et un mode utilisateur
STIC A - Systèmes Informatiques 8 Département Informatique, École Navale