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

  FORUM HardWare.fr
  Linux et OS Alternatifs

  multitache, kesako?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

multitache, kesako?

n°67646
davidbator
Posté le 15-02-2002 à 19:04:11  profilanswer
 

Est ce que kelk1 pourrai expliquer (simplement) a un debutant et pas informaticien kom moi le principe du multitache et repondre a C 2 kestions:
 
Est ce que Linux marche en multitache avec tous les processeurs (un pote ma affirme le contraire)?
kelle est la difference avec windoz (SVP evite les Windoz C de la merde et Linux C top, je veux un truc constrictif avec pour et contre de chaque)?
 
Merci

mood
Publicité
Posté le 15-02-2002 à 19:04:11  profilanswer
 

n°67658
VinKill
Posté le 15-02-2002 à 19:40:06  profilanswer
 

un systeme multitache est un systeme qui permet de faire tourner plusieurs applications en même temps. Seule les Unix, Linux, OS/2, Solaris &co sont capables de faire cela. Windows n'est pas un systeme multitaches mais un systeme multithreads qui consiste en fait a separer un programme en plusieurs processus afin de tenter de se rapprocher d'un system multitaches a proprement parlé.
 
Voila mr :)


---------------
Open your mind, close your windows
n°67660
davidbator
Posté le 15-02-2002 à 19:43:30  profilanswer
 

merci VinKill,
 
kest ce que t veux dire par " multithreads qui consiste en fait a separer un programme en plusieurs processus "
 
et a propos de ma premiere kesion?

n°67664
kenses
Beuha? euha!!!
Posté le 15-02-2002 à 19:48:02  profilanswer
 

ba enfaite je pense qu'il voulait dire que windows (separe les taches en plusieur parties donc cela donne des threads)==>ca j'en suis pas sur.Et ensuite ,il traite une threads de chaque programme l'une apres l'autre.
Donc voila  
mais je sais pas si mon explication est exact..

n°67665
Dark_Schne​ider
Close the World, Open the Net
Posté le 15-02-2002 à 19:48:52  profilanswer
 

multi = plusieurs
tache = acte
 
multitache = faire plusieurs acte en même temps. Par example j'imprime et en même temps je peux continuer à bosser. sous DOS tu lances une command et tant quelle n'est pas finie tu ne peux rien faire ( = monotache ou encore DOS est une grosse tache ).
 
Linux = multitache préemptif ( i.e c'est le kernel qui décide quand il arrête une application pour donner la main à une autre ).
 
explication : soit 2 applis lancées a1 et a2. On ne peut matériellement les exécuter en même temps sur un systême UP ( Uniprocesseur ) car un processeur ( à moins d'être parallélisé ) ne fait qu'une chose à la fois. si les 2 applis prennent un temp t1 et t2 respectivement ( t1 = t2 = t ) pour s'éxécuter à la suite, tu auras ceci :
+ sous DOS ( monotache ) le temps sera 2*t  ( grosso ) avec une appli exécuté à la suite. d'abord a1 et quand a1 est fini on lance a2
+ multitache : a1 lancé puis suspendu à t1/2 a2 lancé puis suspendu lui aussi à t2/2, on remet a1 qui se fini et ensuite on fini a2. Conséquence tu as l'impression que les 2 applis fonctionnent en même temps. Bien sûr les applis souvent ne sont suspendue que quelques millisecondes. C'est à peine perceptible ( enfin cela dépend de d'autres facteurs ).
 
Linux et win9x/NT sont multitache.
 
linux = multitache préemptif : c'est le noyau qui décide quand suspendre une appli pour poursuivre l'exécution d'une autre. C'est grosso modo le rôle de ce qui est appelé le schedule ( vient de l'anglais to schedule = plannfier ). les emplacements de mémoires sont protégées ( cf explication plus loin ).
 
win9x = multitaches coopératif : les applis décident entre elles quand elles rendent la main. Si une ne veut pas elle peux bloquer le système. Exemple quand tu imprimes ( lors de l'envoie de donnée au port parralèle ) ou accèdes à une disuquette, le système se fige pdt un moment, tu ne peux pas vraiment faire qualquelchose en même temps. tu remarques très bien que les autres applis sont "suspendues". Autre pb, un applie plante, entre dans uen boucle sans fin, ne rend pas la main, et bien tu es dans la merde. le noyau n'a aucun pouvoir ( Windows ne peut arréter se programme car le sys est occupé blablabla ).
De plus les emplacements de mémoires ne sont pas protégés, i.e a1 écrie dans zone1 et a2 écrit dans zone2. a1 n'est pas censé toucher à zone2 et a2 pas censé toucher à zone1. a1 plante et fait n'importe koi. Comme les emplacements mémoires ne sont pas protégées, a1 peut corrompre zone2 entrainant alors le plantage de a2. C'est tout le système qui s'écroule ( BSOD = Blue Screen Of Death ou Ecran Bleu ). Ainsi par example un bête lecteur de Cd si il était buggé pouvait faire planter tous le sys.*
 
winNT ( Nt4, 2k, XP ) = multitache préemptif et emplacements mémoire protéges.
 
Pour avoir du full multitache il faut plusieurs processeurs exploités de façon symmétrique (en mêm temps/en parralèle ). C'est le SMP ( symetric Multi Processing ).
win9x ne gère pas le SMP
winNT le gère
linux le gère
 
http://www.freenix.fr/unix/linux/H [...] WTO-6.html
http://www.linux-france.org/prj/ja [...] rcche.html
http://www.linux-france.org/prj/ja [...] hread.html
http://www.linux-france.org/prj/jargonf/S/SMP.html
http://www.linux-france.org/prj/ja [...] moire.html
http://www.linux-france.org/prj/ja [...] acute.html
http://www.linux-france.org/prj/ja [...] acute.html
http://www.linux-france.org/prj/ja [...] ation.html
http://www.linux-france.org/prj/ja [...] duler.html
http://www.jackperr.com/perso/linus/linux_dompub.php3
http://glinux.tuxfamily.org/?page=glossaire#man
 
 
google c'est vraiment de la balle traçante :
http://www.google.com/linux?hl=fr&q=multitache&lr=
 
PS : désolé pour les fautes et autres imprécisions. Je me suis emmélé à un moment et ai fait un truc BCP plus compliqué que je ne le voulais

 

[jfdsdjhfuetppo]--Message édité par Dark_Schneider--[/jfdsdjhfuetppo]


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°67667
VinKill
Posté le 15-02-2002 à 19:54:05  profilanswer
 

ton programme en lui meme est un processus. Le fait de faire du multithreading c'est de decomposé ton processus en plusieurs autres processus qui peuvent etre geres par un ou plusieurs processeurs.  
 
En ce qui concerne linux, c bien un multitaches.


---------------
Open your mind, close your windows
n°67675
davidbator
Posté le 15-02-2002 à 20:05:41  profilanswer
 

merci, je pense que je pense que je commence a comprendre le principe.

n°67687
kenses
Beuha? euha!!!
Posté le 15-02-2002 à 20:17:59  profilanswer
 

dark, tu dis que linux fonctionne en mode coopératif donc comme windows 98.
Ca crain pas un peux cette fçon de fonctionner?????
PS: tu as trop bien expliquer on dirais le cour que j'ai eu sur Windows. Bravo.

n°67689
Dark_Schne​ider
Close the World, Open the Net
Posté le 15-02-2002 à 20:18:50  profilanswer
 

ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
me suis trompé. Linux c'est du préemptif
 
sorry
 
je corrige
 
frapper moi !
 
 
Mea Culpa, Mea Maxima Culpa

 

[jfdsdjhfuetppo]--Message édité par Dark_Schneider--[/jfdsdjhfuetppo]


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°67690
Dark_Schne​ider
Close the World, Open the Net
Posté le 15-02-2002 à 20:20:18  profilanswer
 

et pourtant au début je ne m'étais pas trompé. hum je dois changer l'OS de mon cerveau. ;)


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
mood
Publicité
Posté le 15-02-2002 à 20:20:18  profilanswer
 

n°67695
djoh
Posté le 15-02-2002 à 20:26:07  profilanswer
 

Dark_Schneider a écrit a écrit :

multi = plusieurs
tache = acte
 
multitache = faire plusieurs acte en même temps. Par example j'imprime et en même temps je peux continuer à bosser. sous DOS tu lances une command et tant quelle n'est pas finie tu ne peux rien faire ( = monotache ou encore DOS est une grosse tache ).
 
Linux = multitache préemptif ( i.e c'est le kernel qui décide quand il arrête une application pour donner la main à une autre ).
 
explication : soit 2 applis lancées a1 et a2. On ne peut matériellement les exécuter en même temps sur un systême UP ( Uniprocesseur ) car un processeur ( à moins d'être parallélisé ) ne fait qu'une chose à la fois. si les 2 applis prennent un temp t1 et t2 respectivement ( t1 = t2 = t ) pour s'éxécuter à la suite, tu auras ceci :
+ sous DOS ( monotache ) le temps sera 2*t  ( grosso ) avec une appli exécuté à la suite. d'abord a1 et quand a1 est fini on lance a2
+ multitache : a1 lancé puis suspendu à t1/2 a2 lancé puis suspendu lui aussi à t2/2, on remet a1 qui se fini et ensuite on fini a2. Conséquence tu as l'impression que les 2 applis fonctionnent en même temps. Bien sûr les applis souvent ne sont suspendue que quelques millisecondes. C'est à peine perceptible ( enfin cela dépend de d'autres facteurs ).
 
Linux et win9x/NT sont multitache.
 
linux = multitache préemptif : c'est le noyau qui décide quand suspendre une appli pour poursuivre l'exécution d'une autre. C'est grosso modo le rôle de ce qui est appelé le schedule ( vient de l'anglais to schedule = plannfier ). les emplacements de mémoires sont protégées ( cf explication plus loin ).
 
win9x = multitaches coopératif : les applis décident entre elles quand elles rendent la main. Si une ne veut pas elle peux bloquer le système. Exemple quand tu imprimes ( lors de l'envoie de donnée au port parralèle ) ou accèdes à une disuquette, le système se fige pdt un moment, tu ne peux pas vraiment faire qualquelchose en même temps. tu remarques très bien que les autres applis sont "suspendues". Autre pb, un applie plante, entre dans uen boucle sans fin, ne rend pas la main, et bien tu es dans la merde. le noyau n'a aucun pouvoir ( Windows ne peut arréter se programme car le sys est occupé blablabla ).
De plus les emplacements de mémoires ne sont pas protégés, i.e a1 écrie dans zone1 et a2 écrit dans zone2. a1 n'est pas censé toucher à zone2 et a2 pas censé toucher à zone1. a1 plante et fait n'importe koi. Comme les emplacements mémoires ne sont pas protégées, a1 peut corrompre zone2 entrainant alors le plantage de a2. C'est tout le système qui s'écroule ( BSOD = Blue Screen Of Death ou Ecran Bleu ). Ainsi par example un bête lecteur de Cd si il était buggé pouvait faire planter tous le sys.*
 
winNT ( Nt4, 2k, XP ) = multitache préemptif et emplacements mémoire protéges.
 
Pour avoir du full multitache il faut plusieurs processeurs exploités de façon symmétrique (en mêm temps/en parralèle ). C'est le SMP ( symetric Multi Processing ).
win9x ne gère pas le SMP
winNT le gère
linux le gère
 
http://www.freenix.fr/unix/linux/H [...] WTO-6.html
http://www.linux-france.org/prj/ja [...] rcche.html
http://www.linux-france.org/prj/ja [...] hread.html
http://www.linux-france.org/prj/jargonf/S/SMP.html
http://www.linux-france.org/prj/ja [...] moire.html
http://www.linux-france.org/prj/ja [...] acute.html
http://www.linux-france.org/prj/ja [...] acute.html
http://www.linux-france.org/prj/ja [...] ation.html
http://www.linux-france.org/prj/ja [...] duler.html
http://www.jackperr.com/perso/linus/linux_dompub.php3
http://glinux.tuxfamily.org/?page=glossaire#man
 
 
google c'est vraiment de la balle traçante :
http://www.google.com/linux?hl=fr&q=multitache&lr=
 
PS : désolé pour les fautes et autres imprécisions. Je me suis emmélé à un moment et ai fait un truc BCP plus compliqué que je ne le voulais  
 
 




 
 
a chaque réponse que tu donne, tu m'impressionne un peu plus  :jap:

n°67696
zerod
atchoum !
Posté le 15-02-2002 à 20:28:30  profilanswer
 

d'accord avec dark sauf sur les taches qui s'arretent a t1/2, c'est un peu plus compliqué, il y a divers ordonnancements (EDF,round robin... ) certains favorisent les taches à echeances courtes (qui doivent se terminer au + tot) d'autres allouent un quotas de temps processeur à chaque taches en fonctionnant en fifo, ceci pour eviter les famines (taches qui n'a jamais acces au processeur).  
ouala :D  
 
pour plus d'informations faire des recherches sur OS temps réels dans ton amis (google)

 

[jfdsdjhfuetppo]--Message édité par zerod--[/jfdsdjhfuetppo]

n°67700
matafan
Posté le 15-02-2002 à 20:35:17  profilanswer
 

En fait si j'ai bien compris, linux c'est préemptif en espace utilisateurs, et coopératif en espace noyau : si du code en espace noyau boucle sans passer la main, ça bloque le sytème ; le même code en espace utilisateur ne pose aucun problèmes. En tout cas pour les noyaux 2.4 et précédents, puisque le « patch preempt », qui sera intégré aux 2.5, offre du mutlitache préemptif en espace noyau.
 
Sinon la bonne explication est celle de Dark_Schneider. Un système multitache donne l'impression d'une exécution simultanées des différents processus ou threads (il y a des threads sous linux aussi) en découpant le temps en « quantum » : il accorde un quantum de temps à un processus, puis l'endort et accord un nouveau quantum de temps à un autre processus. L'ordre dans lequels les processus obtiennent les quantums de temps est déterminé par un « scheduler », selon une politique qui dépend de  l'OS. Mais en aucun cas on ne peut dire que l'OS découpe les taches en threads... Un thread, c'est quelque chose qui est défini explicitement à la programmations.

 

[jfdsdjhfuetppo]--Message édité par matafan--[/jfdsdjhfuetppo]

n°67703
Jar Jar
Intaigriste
Posté le 15-02-2002 à 20:40:31  profilanswer
 

Dark_Schneider a écrit a écrit :

win9x = multitaches coopératif : les applis décident entre elles quand elles rendent la main.



Ah non. Le multitâche coopératif, c'est MacOS (avant MacOS X) et Windows 3.1.
Win9x/ME, c'est du multitâche préemptif, en mode 32 bits protégé (les applications ont leur propre espace mémoire et ne peuvent se voir les unes les autres), comme winNT ou unix. Les deux différences sont :
- le noyau de win9x est encore en partie en 16 bits, et quand il repasse en mode 16 bits, ça le ralentit et c'est une source de bugs ;
- la gestion de la mémoire est buggée à mort, donc souvent, quand une appli écrit (ou lit, mais c'est moins grave) hors de l'espace qui lui est alloué, au lieu de se faire instantanément tuer pour erreur de segmentation, elle va écrire dans la mémoire allouée pour une autre application.
 
En revanche, linux (et probablement Windows NT) s'exécute exclusivement en mode 32 bits protégé ; il est impossible d'y exécuter du code 16 bits (flasher un BIOS, par exemple, y est impossible), ou alors dans un émulateur.
 
Et oui, linux comme *BSD sont multitâches et multi-utilisateurs, quel que soit le processeur, c'est la définition d'un unix. Que ce soit sur un Athlium 4 GHz, sur une Dreamcast, une Playstation, un Palm ou un Atari.

n°67708
fabriceMer​c
Posté le 15-02-2002 à 20:56:46  profilanswer
 

et macOS X c'est du multitache comment ?
Il parait que les programmeur qui ont fait macOSX ont bien fait leur boulot en ce qui concerne le multitache.

n°67711
Dark_Schne​ider
Close the World, Open the Net
Posté le 15-02-2002 à 21:00:34  profilanswer
 

MacOS X basé sur *NSD -> *BSD = Unix -> Unix = préemptif


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°67730
trictrac
Posté le 15-02-2002 à 21:56:52  profilanswer
 

windows est multi tache coop!!
 
Dark a donné les bons exemples, rien a redire!

n°67735
kadreg
profil: Utilisateur
Posté le 15-02-2002 à 22:11:17  profilanswer
 

trictrac a écrit a écrit :

windows est multi tache coop!!
 




 
3.1 oui. 9X est préemptif (sauf le sous système 16bits), mais une tache peut quand même arriver a tout prendre si elle le reclame à l'ordonnanceur.
 
Il est aussi sensé être en mode protégé, d'ailleur un programme qui ecrit n'importe ou se fait jeter normalement. Mais toute personne ayant tenté de développer sous 9X te dira qu'il se rate régulièrement. J'ignore pourquoi.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°67826
Dark_Schne​ider
Close the World, Open the Net
Posté le 16-02-2002 à 09:42:56  profilanswer
 

lecture intéressante :
http://casteyde.christian.free.fr/system/win/
 
moi je stick sur le coopératif.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°68087
AlphaT
Posté le 16-02-2002 à 22:57:20  profilanswer
 

Sous Linux et NT, la gestion des processeurs est  symétrique (ce qui veut dire processeurs non spécialisés)
 
Novell 4 et 5 : processeurs asymétriques = 1 proco pour gérer les droits d'accès, 1 proco pour gérer les disques durs.
 
IBM AIX : Gestion plus complexe, jusqu'à 8000 processeurs montés en parallèle (ex.: Deep Blue avec 256). Il ne s'agit plus de multitâche mais de multitraitement : Plusieurs procos pour un seul programme.
 
Il se peut que je me trompe je manque d'info sur AIX.

 

[jfdsdjhfuetppo]--Message édité par AlphaT--[/jfdsdjhfuetppo]

n°68367
Jar Jar
Intaigriste
Posté le 17-02-2002 à 21:29:07  profilanswer
 

Non et non, Windows 9x est un multitâche préemptif. Buggé, mais préemptif.
 
La preuve, quand on fait Control-Alt-Suppr, on peut envoyer un signal de fermeture à une tâche, et si elle ne répond pas au bout de 5 secondes, il propose de la tuer purement et simplement ; impossible avec un multitâche coopératif, car l'application ne rendrait jamais la main !
 
Pour ce qui est du bug qui permet à une appli d'obtenir une priorité supérieure au système, il est toujours présent dans Windows 2000 et XP (Microsoft appelle ça une fonctionnalité).

n°68373
Dark_Schne​ider
Close the World, Open the Net
Posté le 17-02-2002 à 21:43:31  profilanswer
 

c'est pkoi je me tape un BSOD des fois quand il me dit que le sys est occupé et CTRL+ALT+SUPPR pour continuer ? et quand je fais CTRL+ALT+SUPPR j'ai ... le même BSOD ? justement l'appli ne rend pas la main et win9x n'arrive pas à la tuer !
solution ? reset hard
 
 
ki n'ayant pas utilisé win9x n'a pas été confronté à ce pb. C'est justement une des choses qui m'ont fait préférer Unix ! ( kill -9 -1 me fait trop tripper )


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°68394
Jar Jar
Intaigriste
Posté le 17-02-2002 à 22:09:43  profilanswer
 

Bah bien sûr, ce que j'ai expliqué, c'est ce qui se passe quand ça marche bien (mais ça m'est arrivé plusieurs fois, si si !). Mais un BSOD, c'est complètement différent, c'est un plantage du noyau. Il suffit que l'appli ait réussi à écrire dans la mémoire du noyau, ou que le système ne soit pas capable de la tuer dans certaines conditions, et c'est le BSOD. Bref, le problème de Win9x, c'est bien que le noyau n'est pas assez protégé.

n°68461
kroll33
OS/2 Rulezzz
Posté le 18-02-2002 à 10:11:46  profilanswer
 

AlphaT a écrit a écrit :

 
IBM AIX : Gestion plus complexe, jusqu'à 8000 processeurs montés en parallèle (ex.: Deep Blue avec 256). Il ne s'agit plus de multitâche mais de multitraitement : Plusieurs procos pour un seul programme.
Il se peut que je me trompe je manque d'info sur AIX.  




Aix c'est un unix multitache premptif et multiutilisateurs que ce soit avec 1 ou plusieurs proc.
Je le trouve très solide, par rapport à un linux par exemple.


---------------
Folding : sigFAH  ----  stanford
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  multitache, kesako?

 

Sujets relatifs
Plus de sujets relatifs à : multitache, kesako?


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