Le multi-tâche

Cet article fait référence à une question posée : "Mais si je lance ce logiciel, est ce que la sauvegarde va se faire ?". Cette question m'a donné envie d'écrire cet article qui ne se veut aucunement réaliste au possible mais simplement didactique. J'attends vos réactions sur ma boîte aux lettres lesouriciergris@free.fr , afin que tout le monde puisse comprendre.

Le faux multi-tâche

Afin de ne pas me payer un procès par la superpuissance de M$, avec sa W$, j'utiliserai les sigles M$ et W$. Attention, ceci ne convient qu'aux millésimes 95 & 98 . Le millésime Not Turtle est un peu plus intelligent.
Chez W$, le multi-tâche se résume en une file. Une file, peut être représentée comme une suite de ménagères passant à la caisse. Chacune des ménagères porte son petit lot de travail à faire et le donne à la super intendante (le processeur). Et ceci ad vidam eternam , enfin tant que celà ne plante pas ...
Pour en revenir à l'informatique, nous aurons une file de message qui demandera à W$ de faire une tâche précise, redessinez une partie de l'écran, bougez la souris par exemple. Nous avons donc une file de message contenant, un numéro de fenêtre pour laquelle le travail est destinée, un type d'opération et tout ce qui s'y rapporte. L'avancement de cette file de message permet d'exécuter plusieurs programmes à la fois.

Pourquoi Faux

Eh bien, 2 choses font qu'il est bidon, (sans allusion) :
  1. Priorité
    W$ ne gère pas les priorité ou alors très mal, de ce fait tous les processus font la queue leu leu. Ainsi, lors du formatage d'une disquette ou la copie de fichiers sur une disquette, vous attendez gentiment ou moins, en gueulant dessus comme moi. Si vous avez un pote qui a une linuxette, demander lui de copier des fichiers sur une disquette, vous allez voir.
  2. Blocage
    Le multi-tâche sous-entend pas de possibilité de blocage sauf de manière volontaire. Or, le fait d'attendre qu'une opération se fasse (sendmessage), par exemple j'attends que le fichier x soit écrit, bloque le réaffichage de votre fenêtre et peut être bien d'autres choses. Je ne m'étalerai pas sur le sujet.

Le vrai multi-tâche, exemple de Linux

J'écris exemple car Linux n'est pas le seul système multi-tâche.
Linux utilise les files et les tourniquets.
Nous allons passer sur la file, la ménagère qui attend à la caisse du magasin.
Le tourniquet permet de distribuer à chacun quelques ressources et lui permettre de travailler. Rappelez vous votre enfance, tournons le manège. Nous mettons donc chaque ménagère sur une place du tourniquet. A tour de rôle celle-ci vont exécuter un peu de leur travail, un peu seulement, impossible de faire plus que le temps accordé par le gardien du processeur. Ainsi, chacun repassera jusqu'à la fin de sa tache, tache qui se décomposera en plusieurs petits travaux. Le phénomène de blocage disparait donc au vue de l'impossibilité pour une tâche de prendre plus de temps qu'il ne lui est accordé.

Retour Retour à la page de vulgarisation Accueil Retour à l'accueil

Developpez.com