Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1730 connectés 

  FORUM HardWare.fr
  Windows & Software

  qu'est ce que le multitache préhemptif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

qu'est ce que le multitache préhemptif

n°732019
bistou
Vieux .... très très vieux!
Posté le 13-06-2002 à 13:39:03  profilanswer
 

et comment ça fonctionne :/
et aussi scheduler
 
vs auriez pas 2-3 explication la dessus?
 
merci


Message édité par bistou le 13-06-2002 à 13:39:29

---------------
:sol:
mood
Publicité
Posté le 13-06-2002 à 13:39:03  profilanswer
 

n°732038
mrbebert
Posté le 13-06-2002 à 13:59:22  profilanswer
 

Lorsqu'il y a plusieurs applis (ou des applis multi-threadées), le processeur doit exécuter tous les flux d'instructions (les threads) "en même temps". Bien sur c'est impossible, donc en fait, il s'exécutent les uns à la suite des autres. C'est l'OS qui va décider quel thread il doit mettre sur le/les processeur(s) (en fonction de leur priorité, des évènements.....). Ca, c'est le multi-tache.
 
A l'origine (windows 3.1 quoi :D ), c'était l'appli qui "rendait" le processeur pour que l'OS mette un autre thread (multitache coopératif). Pas génial.
Dorénavant, ce n'est plus le cas. Le principe du multitache préemptif, c'est que l'OS assigne un thread sur un proc pour une durée déterminée. Passé ce délai, le contrôle revient au scheduler (le programme qui gère l'assignation des threads) qui met un autre thread.
La coupure est transparente pour l'appli.


Message édité par mrbebert le 13-06-2002 à 14:00:29
n°732040
bistou
Vieux .... très très vieux!
Posté le 13-06-2002 à 14:03:29  profilanswer
 

mrbebert a écrit a écrit :

Lorsqu'il y a plusieurs applis (ou des applis multi-threadées), le processeur doit exécuter tous les flux d'instructions (les threads) "en même temps". Bien sur c'est impossible, donc en fait, il s'exécutent les uns à la suite des autres. C'est l'OS qui va décider quel thread il doit mettre sur le/les processeur(s) (en fonction de leur priorité, des évènements.....). Ca, c'est le multi-tache.
 
A l'origine (windows 3.1 quoi :D ), c'était l'appli qui "rendait" le processeur pour que l'OS mette un autre thread (multitache coopératif). Pas génial.
Dorénavant, ce n'est plus le cas. Le principe du multitache préemptif, c'est que l'OS assigne un thread sur un proc pour une durée déterminée. Passé ce délai, le contrôle revient au scheduler (le programme qui gère l'assignation des threads) qui met un autre thread.
La coupure est transparente pour l'appli.  




 
k merci bcp
 
comme en cohop un thread pouvait rester une durée indet ... s'il plantait l'os plantait donc aussi je supp?


---------------
:sol:
n°732042
copycat
Posté le 13-06-2002 à 14:04:31  profilanswer
 

le sheduler permet de donner temps de temps a une tache pour etre executé et ensuite il donne le processeur a un autre process un certain temps ainsin de suite.

n°732047
qi130
Posté le 13-06-2002 à 14:06:22  profilanswer
 

multitache préemptif= plusieurs process partage la mémoire, mais pas le processeur. C'est le process qui a le focus qui travaille, il faut activer les autres pour qu'ils bossent à leur tour. De plus, si le process qui bosse plante, il faut rebooter car on ne peut pas tuer la tache.
 
Je crois que la première mouture de W95 était comme ça, peut être aussi celle de NT (?).
 
W95 est sorti aux temps de la gloire d'OS/2, mais ça faisait désordre en entreprise car OS/2 lui était full mutitache (car développé par les ingénieurs qui ont mis au point MVS (OS390 aujourd'hui) = OS gros système IBM supportant CICS, DB2 etc...)
 
Voilà pour la page d'histoire.


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
n°732048
bistou
Vieux .... très très vieux!
Posté le 13-06-2002 à 14:06:40  profilanswer
 

Copycat a écrit a écrit :

le sheduler permet de donner temps de temps a une tache pour etre executé et ensuite il donne le processeur a un autre process un certain temps ainsin de suite.  




 
k merci  :jap:


---------------
:sol:
n°732054
Eclipse
Posté le 13-06-2002 à 14:09:30  profilanswer
 

Hello !
 
Sur un système d'exploitation multitâche ( comme windows, linux, etc... ), plusieurs applications peuvent cohabiter : Tu peux en même temps écouter un mp3 et surfer sur le net.
 
Ce qui veut dire que ton système d'exploitation va donner la main à winamp, puis à internet, et ainsi de suite.
On va maintenant appeler chaque programme processus, ou tâche.
 
C'est l'ordonnanceur qui va donner le droit d'exécution à chaque tâche. L'ordonnanceur va allouer le processeur et les ressources systèmes aux tâches.
 
Maintenant, tu connais le principe du multitâche. Contre-exemple : Sur un Palm, tu ne peux pas écouter un mp3 en même temps que consulter ton agenda, car PalmOS n'est pas multitâche.
 
Cependant, il ne semble pas logique que toutes les tâches aient le même droit tout le temps. Une tâche 'vitale' doit pouvoir s'éxécuter dès qu'elle le souhaite, même si une autre est en train de fonctionner.
Ainsi, tu peux ( sous certains OS ) fixer des priorités aux tâches. Lorsqu'une tâche de plus forte priorité que celle du moment souhaite s'éxécuter, elle prend la place de la précédente jusqu'a ce qu'elle ait fini son traitement, et ainsi de suite.
 
Très peu d'OS sont vraiment multitâches préemptif. Windows ne l'est pas ( du moins, il est préemptif, mais pas à priorité, et non déterministe ), linux non plus.
 
J'espere avoir été clair... Si ce n'est pas le cas, repost tes commentaires et j'y répondrais :)

n°732059
hardcorega​mer
Posté le 13-06-2002 à 14:13:28  profilanswer
 

Tu parle d'assignement de priorité CPU ?

Eclipse a écrit a écrit :

Hello !
 
Sur un système d'exploitation multitâche ( comme windows, linux, etc... ), plusieurs applications peuvent cohabiter : Tu peux en même temps écouter un mp3 et surfer sur le net.
 
Ce qui veut dire que ton système d'exploitation va donner la main à winamp, puis à internet, et ainsi de suite.
On va maintenant appeler chaque programme processus, ou tâche.
 
C'est l'ordonnanceur qui va donner le droit d'exécution à chaque tâche. L'ordonnanceur va allouer le processeur et les ressources systèmes aux tâches.
 
Maintenant, tu connais le principe du multitâche. Contre-exemple : Sur un Palm, tu ne peux pas écouter un mp3 en même temps que consulter ton agenda, car PalmOS n'est pas multitâche.
 
Cependant, il ne semble pas logique que toutes les tâches aient le même droit tout le temps. Une tâche 'vitale' doit pouvoir s'éxécuter dès qu'elle le souhaite, même si une autre est en train de fonctionner.
Ainsi, tu peux ( sous certains OS ) fixer des priorités aux tâches. Lorsqu'une tâche de plus forte priorité que celle du moment souhaite s'éxécuter, elle prend la place de la précédente jusqu'a ce qu'elle ait fini son traitement, et ainsi de suite.
 
Très peu d'OS sont vraiment multitâches préemptif. Windows ne l'est pas ( du moins, il est préemptif, mais pas à priorité, et non déterministe ), linux non plus.
 
J'espere avoir été clair... Si ce n'est pas le cas, repost tes commentaires et j'y répondrais :)  



n°732066
papangue
Posté le 13-06-2002 à 14:19:21  profilanswer
 

Eclipse a écrit a écrit :

Hello !
.
 
Cependant, il ne semble pas logique que toutes les tâches aient le même droit tout le temps. Une tâche 'vitale' doit pouvoir s'éxécuter dès qu'elle le souhaite, même si une autre est en train de fonctionner.
Ainsi, tu peux ( sous certains OS ) fixer des priorités aux tâches. Lorsqu'une tâche de plus forte priorité que celle du moment souhaite s'éxécuter, elle prend la place de la précédente jusqu'a ce qu'elle ait fini son traitement, et ainsi de suite.
 
Très peu d'OS sont vraiment multitâches préemptif. Windows ne l'est pas ( du moins, il est préemptif, mais pas à priorité, et non déterministe ), linux non plus.




 
tu y va un peu fort je trouve... certes les process en cours d'execution ont tous un niveau de priorité (qui dépend du temps entre 2 executions, de la priorité donnée par le system ou le user,...), mais quand tu dis ". Lorsqu'une tâche de plus forte priorité que celle du moment souhaite s'éxécuter, elle prend la place de la précédente jusqu'a ce qu'elle ait fini son traitement, et ainsi de suite." je ne suis pas d'accord.... cette tache doit attendre que le dispatcher lui donne la main pour s'executer. Mais la différence entre un process de haute priorité et au de priorité basse est le temps cpu et les ressources attribués....c'est tout...
De plus OUI windows est préemptif, 2k et XP aussi tout comme le sont les system UNIX.
OUI le coopératif c'est win9x (la preuve, quand une appli plante tout le système se casse la gueule).
 
Par contre le problème de préemptif est justement la gestion des priorité...il ne faut surtout pas qu'un process se retrouve toujours en queue de priorité pour finalement n'être jamais exécuter.... c'est la tout le problème ...mais il y a pas mal d'astuces utilisées suivant les OS pour eviter ce genre de chose


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  qu'est ce que le multitache préhemptif

 

Sujets relatifs
Plus de sujets relatifs à : qu'est ce que le multitache préhemptif


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)