Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Multitâche préemptif ?

14 réponses
Avatar
Myrddin y Doeth
Bonsoir,

J'avais lu que windows xp était "multitâche préemptif". C'est sûr qu'on voit
la différence, sur le même ordi, avec un système unix, réellement
multitâche...

En fait ma question est : pourquoi n'avoir fait que du préemptif ?

Et surtout : existe t-il une version de windows réellement multitâche ?
Windows 2003 par exemple, est multitâche ? Ou seulement préemptif ?

Merci :)

4 réponses

1 2
Avatar
Thierry MILLE [MVP]
"Jean-Claude BELLAMY" wrote in message
news:%23$
JE ne suis pas d'acord avec toi, Thierry !

Moi aussi, comme "Myrddin y Doeth", j'ai constaté (et constate toujours)
que ce soit sous NT4, W2K, XP, W2K3, Longhorn, ..., des temps parfois
insupportables lors d'opérations de transferts/copies/accès .. de fichiers
avec l'explorateur.

En particulier, s'il y a le moindre problème matériel et/ou réseau (une
ressource réseau qui n'est plus disponible, un CD retiré de son lecteur,
..), il n'y a plus aucune préemptivité !


Les autres processus continuent (au moins pour moi) à s'exécuter
normalement, ce n'est pas du coopératif mais bien du préemptif.

Concernant le problème de Myrddin y Doeth, tu peux faire le test pendant la
lecture d'une vidéo ou de la saisie d'un texte sous Word. Je viens de tester
la copie d'un gros fichier d'une partition à l'autre pendant la lecture
d'une vidéo (fichier local) en plein écran : aucun problème.

Maintenant, il existe bien un problème avec les time out pour des accès à
des ressources qui deviennent (ou sont) indisponibles, mais cela n'est pas
le problème remonté par Myrddin y Doeth, le plus bloquant étant
explorer.exe, effectvement.

D'ailleurs, les systèmes NT étant des multitâches préemptif, seul le
processus en attente de la ressources est "bloqué" par le système
(typiquement : "pas de réponse" dans le Gestionnaire des tâches). C'est
Windows qui isole le processus, et non le processus qui fait planter
l'intégralité de la machine en s'attribuant tout le temps processeur (cf
multitâche coopératif).

Cordialement

--
Thierry MILLE
www.lab-os.com

Avatar
DT

Non mais je vois la différence dans une opération spéciale :

sur windows, je lance avec l'explorer une copie de 30 Go de données, d'un
disque à l'autre. Pendant que windows me copie mes fichiers, mon système est
ralentit de manière horrible, à un tel point que toutes les opérations, même
ouvrir une simple fenêtre de l'explorateur, prend un temps fou. A un tel
point que j'attend que la copie soit terminée pour continuer.

sur linux, je lance la même copie, ben je peux continuer à travailler sans
ralentissement notable.

Non je ne suis pas un troll, j'ai supposé cette histoire de multitache
préemptif parce que quelqu'un m'a dit que c'était ça. Mais peut-être est-ce
simplement la manière dont l'un ou l'autre gère les accès disques, entre le
NTFS et l'EXT3.

Je me posais simplement la question, car c'est pénible de ne pouvoir plus
rien faire quand windows copie des gros fichiers...


Ces temps de latence se produisent sous Windows car ce n'est pas un
OS "temps réel dur" : on ne peut pas garantir qu'un thread (unité
exécutable d'un processus) s'exécutera dans une période donnée par
rapport à un événement (double clic, arrivée de données sur un
port, ...).

Sous XP, un processeur peut exécuter un thread pendant environ 20
millisecondes (quantum de temps) avant qu'un autre thread ne soit activé
à son tour.
Ce quantum de temps peut être modifié par le système, en cours
d'exécution. Il peut par exemple doubler dans certains cas.

Les threads possèdent des niveaux de priorité (de 0, le plus bas, à 31,
le plus haut) et tant* qu'il existe un thread éligible, d'un niveau de
priorité supérieur à celui que vous demandez (par ex : ouvrir une
fenêtre), votre thread "fenêtre" ne sera pas exécuté. D'où les temps de
réponses parfois longs. En plus, l'explorateur Windows dispose de la
classe de priorité "Haute" alors que la plupart des processus courants
bénéficient de la classe "Normale".
DT


*le niveau de priorité d'un thread de basse priorité peut être changé
par le système (renforcement dynamique) afin qu'il soit quand même
exécuté si, par exemple, un thread de priorité supérieure est
planifiable en permanence. Cela se produit si le système se rend compte
qu'un thread est "frustré" pendant plusieurs secondes.

Avatar
Myrddin y Doeth
"Jean-Claude BELLAMY" a écrit dans le
message de news: %23> Moi aussi, comme "Myrddin y Doeth", j'ai constaté (et
constate toujours) que
ce soit sous NT4, W2K, XP, W2K3, Longhorn, ..., des temps parfois
insupportables lors d'opérations de transferts/copies/accès .. de fichiers
avec l'explorateur.


Je dirais que le plus gros soucis de windows en fait c'est d'avoir mélangé
le shell avec l'explorateur de fichier et plus ou moins internet explorer
(un plantage d'IE a parfois planté tout mon système).

Un autre soucis que j'ai, c'est rapport aux ressources réseaux. Un logiciel
de p2p, par exemple, me ralentit toute ma navigation internet, alors que
sous les systèmes BSD le même type de logiciel, je ne m'aperçoit même pas
qu'il tourne. Dommage :)

Avatar
Thierry MILLE [MVP]
"Myrddin y Doeth" wrote in message
news:413c18dc$0$22040$
"Jean-Claude BELLAMY" a écrit dans le
message de news: %23> Moi aussi, comme "Myrddin y Doeth", j'ai constaté
(et constate toujours) que
ce soit sous NT4, W2K, XP, W2K3, Longhorn, ..., des temps parfois
insupportables lors d'opérations de transferts/copies/accès .. de
fichiers avec l'explorateur.


Je dirais que le plus gros soucis de windows en fait c'est d'avoir mélangé
le shell avec l'explorateur de fichier et plus ou moins internet explorer
(un plantage d'IE a parfois planté tout mon système).


Encore une fois : cela n'a rien à voir avec la préemptivité : vous confondez
tout. Le processus iexplore.exe (Internet Explorer) est différent de
explorer.exe (le shell de Windows par défaut et l'Explorateur Windows).

Cordialement

--
Thierry MILLE
www.lab-os.com


1 2