Livre_silo 30 août 2013 16:32 Page 14
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
14
Informatique pour tous
1.2.1 Le multitâche
On a vu qu’un ordinateur ne peut exécuter qu’une instruction à la fois. Pourtant, le système
d’exploitation permet d’exécuter plusieurs programmes en même temps. Plus exactement,
il donne l’illusion que l’on exécute plusieurs programmes en même temps.
EN PRATIQUE Multiprocesseurs et autres multicore
Certains ordinateurs exécutent réellement plusieurs instructions simultanément. Ils sont
dotés de plusieurs processeurs capables d’accéder indépendamment à la mémoire et aux
périphériques, ce qui revient effectivement à exécuter plusieurs instructions à la fois. Les
fabricants de processeurs proposent même maintenant des processeurs qui contiennent
en fait plusieurs cœurs (dualcore, quadricore), c’est-à-dire que plusieurs processeurs (unité
arithmétique et logique et unité de contrôle) ont été regroupés en un seul. Dans tous les
cas, d’une part cette intégration ne va pas sans problème pour coordonner les processeurs
et, d’autre part, le nombre d’instructions exécutées simultanément est bien inférieur au
nombre de programmes tournant simultanément sur l’ordinateur.
Pour donner cette illusion, le système d’exploitation stocke en mémoire les différentes
applications que l’on veut exécuter. Il lance l’exécution d’une première application. Dès qu’il
se produit une entrée-sortie ou, à défaut, lorsqu’un certain temps est écoulé (de l’ordre de
la centaine de millisecondes), le noyau du système d’exploitation reprend la main et lance
l’exécution d’une autre application. En pratique, le temps d’exécution d’une tâche dépasse
rarement la dizaine de millisecondes.
De façon schématique, voici ce qui se passe lorsque l’on tape un texte sur un ordinateur tout
en lui faisant jouer une fugue de Bach à l’aide d’une application de lecture audio. Le noyau
du système d’exploitation commence par exemple à exécuter l’application de lecture audio,
qui envoie sur le périphérique son quelques notes de la fugue. Pendant que les données
sont écrites, le noyau passe la main à une autre application. Survient alors un événement :
l’utilisateur vient de taper sur une touche du clavier. Le noyau reprend alors le contrôle.
Il sait que le traitement de texte était en attente de cet événement : il lui passe donc la
main. Celui-ci affiche la lettre tapée à l’écran et se remet en attente d’un autre caractère.
Le noyau reprend donc la main pour la passer à une autre application en attente. Après
quelques instants, survient alors un nouvel événement : le périphérique son signale que
toutes les données ont été écrites. Le noyau passe alors de nouveau la main à l’application
de lecture audio, qui envoie de nouveau quelques notes de la fugue sur le périphérique. De
nouveau le noyau passe la main à une autre application. Tout cela s’est déroulé en quelques
dizaines de millisecondes tout au plus.
1.2.2 Identification des utilisateurs
Les systèmes d’exploitation, Unix comme Windows, sont multi-utilisateurs : chaque utilisateur dispose d’un identifiant auprès du système (et en général, d’un mot de passe correspondant).
Précédent

- 27/402

Suivant