Introduction aux systèmes d`exploitation

Transcription

Introduction aux systèmes d`exploitation
S. Laporte
système d'exploitation mono-utilisateur
LMS
LES SYSTEME S D’E XPLOITATION ( mono-utilisateurs)
I. Int ro duc tio n
Un système d’exploitation est un ensemble de programmes qui gère les ressources
matérielles et sert d’interface entre l’utilisateur et la machine.
Conséquences :
1) Tous les logiciels et toutes les commandes auxquels l’utilisateur a accès ne sont pris en
compte par la machine qu’au travers du système d’exploitation (autrement dit, il est
impossible pour l’utilisateur de « parler » directement à la machine, tous les ordres passent
par le système).
Question : à votre avis, un système d’exploitation peut- il s’installer sur n’importe quelle
machine ?
Non, comme le système d'exploitation doit piloter le matériel, il est différent selon le type de
matériel. Plus exactement, à chaque type de processeur correspond un type de système
d’exploitation, les périphériques étant gérés par des « pilotes » qui sont ajoutés au système
d'exploitation d’origine.
Ex : à vous verrez en AMSI les différents types de processeurs
2) A chaque type de matériel correspond un type de système d'exploitation.
Nous allons voir dans un premier temps les différents rôles d’un système d’exploitation
Ensuite, nous entrerons plus dans le détail de l’architecture en présentant les différents de
traitement (mono-tâche, multi-tâche).
Le langage de commande sera vu en TP.
II. Le s fonc t ions d’ un s ystè me d'e xplo itatio n
A. Exemple introductif
? Question ? Vous allumez l’ordinateur, qu’est-ce qui se passe au niveau du système
d'exploitation ?
Le système d'exploitation est chargé en mémoire centrale (du moins la partie essentielle),
c'est-à-dire qu’il est recopié du disque dur (ou CD, ou disquette) dans la RAM
Question Pourquoi ?
Parce qu’un programme, pour pouvoir s’exécuter, doit résider en mémoire centrale
Ensuite, le système d'exploitation vérifie qu’il possède bien les pilotes (drivers) correspondant
au matériel, sinon il affiche une erreur.
1
S. Laporte
système d'exploitation mono-utilisateur
LMS
Une fois lancé (en système mono-utilisateur, il n’y a pas de connexion), il exécute les
programmes lancés automatiquement (par exemple l’antivirus) et attends une commande de
l’utilisateur.
Imaginons qu’on ouvre un fichier .doc
Question Qu’est-ce qui se passe ?
- Le système d'exploitation va chercher à quel programme correspond l’extension .doc
- le système d'exploitation va chercher et accéder au programme WORD.exe (rangé sur le
disque) et le charger en mémoire (sous-entendu centrale, évidemment), puis se charger de
son lancement et de son exécution.
- il va ensuite chercher le fichier .doc et l’ouvrir pour Word
- Si par exemple le fichier est endommagé, Word va communiquer l’erreur au système
d'exploitation qui va afficher un message d’erreur pour l’utilisateur.
Question Et si on veut lancer un document Excel en même temps ? Possible ?
oui si le système est multi- tâche
Question Comment vu que le processeur ne peut effectuer qu’une seule instruction à la fois ?
à le système d'exploitation se charge d’allouer les ressources, en particulier le processeur
entre les différents logiciels qui sont lancés.
à d’où les rôles suivants
- Démarrage de l’ordinateur
- Communication homme- machine
- Gestion des ressources matérielles
- entrées-sorties
- processeur
- mémoire
- Gestion des fichiers
- Fournir des « services » aux applicatifs (logiciels d’application)
1. Démarrage de l’ordinateur
Quel que soit l’ordinateur, entre la mise sus tension et le moment où l’utilisateur peut
effectivement travailler, il s’écoule un certain laps de temps (à la grande joie des
utilisateurs !!)
D’abord, le système d’exploitation qui est un ensemble de programme stocké sur un
périphérique de stockage est chargé en mémoire centrale. C’est une adresse dans la mémoire
mort qui permet de donner l’information d’où est le chargeur du système d’exploitation.
Ensuite, le système d'exploitation prépare la machine et ses périphériques en vue de les
rendre utilisables (cela c’est l’initialisation). Si le système est « plug and play » alors il va
détecter s’il se trouve de nouveaux périphériques, charger et installer automatiquement les
pilotes correspondants.
Tous les systèmes d'exploitation de type Windows sont plug and play, sauf WNT. En général,
les autres systèmes d'exploitation ne sont pas plug and play, c'est-à-dire que si vous installez
un nouveau matériel, il va falloir vous- même vous charger vous- même de l’installation du
périphérique (et gérer les IRQ).
2
S. Laporte
système d'exploitation mono-utilisateur
LMS
2. Gestion du dialogue avec l’utilisateur
Lorsque le démarrage est terminé, le système d'exploitation permet à l’utilisateur
d’exécuter des commandes (souvent pour lancer une application). La communication se
fait aussi de système d'exploitation à l’utilisateur par l’intermédiaire de messages du
système.
Cette communication se fait soit par l’intermédiaire d’un langage de commande, soit par
l’intermédiaire d’une interface graphique.
3. Gestion des ressources matérielles
L’une des fonction primordiale des systèmes d’exploitation est de lancer les programmes et
répartir les ressources (processeur, mémoire, périphériques, …) entre les différents
programmes qui s’exécutent en même temps, et cela de manière efficace et harmonieuse.
Ø Gestion des entrées-sorties
Cette fonction consiste à prendre en charge le transfert d’information entre l’unité centrale
et les périphériques et le réseau.
1) Dans un premier temps, il s’agit de configurer le matériel par le biais de fichiers systèmes
2) Ensuite, il s’agit de gérer les échanges entre ces composants, la mémoire centrale et le
processeur.
Notion d’interruption
Lorsqu’un programme demande une entrée-sortie (par exemple une lecture sur disque), le
processeur ne va pas attendre en vérifiant si la lecture est terminée ou pas. Pour optimiser son
utilisation, le système d'exploitation va passer la main à un autre programme. Mais lorsque la
lecture est terminée, il faut bien que le premier programme puisse reprendre son exécution, et
donc que le système d'exploitation soit averti de la fin de l’entrée-sortie. Cela est réalisé par
une interruption matérielle (IRQ). C’est un signal qu’un périphérique envoie au système
d’exploitation pour dire qu’il a terminé une opération. Vous étudierez plus en détail la notion
d’interruption en AMSI.
3) C’est au système d'exploitation de gérer l’interception des interruptions matérielles et
d’agir en conséquence.
Ø Gestion de l’unité centrale (mémoire et processeur)
notion de processus
Un processus est globalement un programme qui est en cours d’exécution.
Le lancement d’un programme suppose qu’il ait été chargé en mémoire centrale (car seule
les instructions se trouvant mémoire centrale peuvent être traitées par le processeur).
Lorsqu’il n’y a qu’un seul programme qui « tourne », pas de problème, il peut avoir toutes
les ressources pour lui tout seul, le système d’exploitation n’a pas à gérer la répartition des
ressources, il sert juste à lancer puis à reprendre la main quand le programme est terminé.
Les systèmes mono-tâche ne permettent que de gérer qu’un processus à la fois.
3
S. Laporte
système d'exploitation mono-utilisateur
LMS
Question : En fait, il y a un deuxième processus à gérer, lequel ?
Lui- même ! le système d’exploitation. Il y a toujours 2 processus au minimum qui
« tournent »
Question : Inconvénients des systèmes mono-tâche :
- on ne peut pas travailler en même temps avec deux applications (par exemple faire des
allers retours rapides entre Word et Excel)
- le processeur est très peu utilisé parce qu’il est très souvent en attente d’une entrée-sortie.
Or les accès aux périphériques sont infiniment plus lents que l’exécution des instructions.
Donc la grande majorité du temps le processeur attend, or on pourrait utiliser ce temps pour
exécuter d’autre applications.
D’où l’invention de la multiprogrammation, à la base des systèmes multi-tâches.
Les systèmes d'exploitation multitâches peuvent exécuter plusieurs programmes en même
temps.
Dans ce cas là, tout se complique pour le système d'exploitation:
- il faut d’une part qu’il gère l’allocation de la mémoire
- organisation (gestion du plan d’occupation de la mémoire)
- optimisation (limiter les espaces inutilisables)
- protection (un programme ne doit pas pouvoir modifier un autre programme,
sauf par d’une façon bien particulière en passant par le système). Donc chaque
processus ne doit avoir accès qu’à la plage d’adresse qui lui est réservée en
mémoire.
- comme le processeur ne peut exécuter qu’une instruction à la fois, les processus
(programmes en cours d’exécution) doivent se partager le processeur. Le système
d'exploitation se charge de gérer cette répartition du processeur. Il répartit le temps du
processeur en utilisant
1) le temps libéré par les opérations d’entrée-sortie,
2) il attribue des fractions de temps à chaque processus. Si le processus a dépassé ce temps,
il est suspendu et le processeur est attribué à un autre processus suspendu.
Le système d'exploitation gère aussi les priorités (certains programmes sont plus
prioritaires que d’autres pour l’attribution du processeur).
Le programme chargé d’attribuer le processeur aux différents processus est appelé
ordonnanceur.
III. Ge stio n de s f ic hie rs
Une autre forme de mémoire que le système doit gérer en dehors de la mémoire centrale, est
la mémoire dite permanente ou mémoire de masse. En d'autre termes : les disques (et par
extension les cdrom, bandes, zip, dat, etc. ). Ici encore le système d'exploitation sert
d'intermédiaire entre le haut niveau (des applications souhaitant utiliser de la mémoire
permanente) et le bas niveau (les pilotes des disques).
La partie du système d’exploitation qui se charge de cela se nomme système de gestion de
fichiers.
4
S. Laporte
système d'exploitation mono-utilisateur
LMS
Il prend en charge les opérations sur les fichiers. Il permet l’organisation des disques par la
gestion des adresses dans une table (la plus connue est la FAT : File Allocation Table).
Un certain nombre de commandes et d’utilitaires sont mis à disposition de l’utilisateur pour
gérer ses fichiers et ses répertoires (copie, renommage, création, formatage, …).
Nous consacrerons un chapitre spécial à cette notion système de gestion de fichiers
IV. Se rvic e s a ux applic atio ns ( AP I)
Les applications utilisent toujours des services du système d’exploitation, soit pour accéder
aux périphériques le plus souvent (lire ou écrire un fichier), soit encore pour avoir la date
du jour, pour imprimer un document, …
L’ensemble des services qu’un système d’exploitation est capable de rendre à des
applications est appelé API (Application Programming Interface) ou parfois « appel
système »
Du point de vu du développeur d’application (personne qui conçoit et écrit les programmes),
une API est une ensemble de fonctions qu’il est possible d’appeler dans un programme
applicatif afin d’obtenir des services de la part du système d'exploitation.
Question : Quelle est la conséquence de cela lorsqu’on veut faire tourner un programme écrit
pour un système d’exploitation, sur un autre système d’exploitation ?
à Cela n’est pas possible directement, car l’écriture les API diffèrent d’un système à un
autre. Lorsqu’on veut faire fonctionner un programme sur une autre plate-forme
(processeur + système d'exploitation) il faut réaliser un PORTAGE , c'est-à-dire qu’il faut
réécrire les instructions utilisant des API.
V. Conc lusio n
Un système d’exploitation est composé de plusieurs parties distinctes :
- une partie qui commande le matériel (interface avec le matériel)
- une partie qui permet de rendre des services aux applications (interface avec les
applications)
- une partie qui permet la communication avec l’utilisateur (interface utilisateur)
utilisateur
logiciels d’application
système d’exploitation
Matériel
5

Documents pareils