Discussion:Multitâche
Attention ! En français, les mots composé avec les préfixes du type anti-, auto-, micro-, multi-... s'attachent au mot qu'ils composent (sauf s'il y a hiatus).
Je ne comprends pas pourquoi cet article est intitulé "multitâches" au pluriel, alors que de nombreuses occurrences du mot sont correctement écrites dans l'article, ce qui est incohérent.
Encore plus bizarre, la redirection singulier->pluriel au lieu de l'inverse.
- Elle avait été inversé voici quelques mois, je l'ai remis dans le sens pluriel --> singulier - phe 27 août 2006 à 15:58 (CEST)
Pas mal de modif depuis la version en:, l'article est un peu moins complet.
j'aurais voulu ajouter: *[[Programmation concourante]] mais apparement en français il faut traduire par *[[programmation silmutanée]] que je n'aime pas du tout ...
Ceci devrait étre aussi ajouté a la fin de l'article:
* Concurrent programming * Time-sharing * Multithreading * Preemptive multitasking
phe 15 mai 2004 à 03:51 (CEST)
- Luigi Zaffalon utilise "Programmation concurrente" dans le titre de plusieurs livres sur portal, Java, Ada 95 édités aux PPUR (Lausanne). --Lf69100 (discuter) 10 juin 2016 à 11
- 04 (CEST)
L'article a reçu plusieurs modifications depuis sa traduction [1], les deux premières ne sont pas correctes :
- ajout : « Le multitâche coopératif est une forme simple de multitâche ou chaque processus doit explicitement, dans le code du programme, permettre à une autre tâche de s'exécuter par le biais de drapeaux indicateurs (flags) »
- Quelle rapport entre une implémentation spécifique (hypothétique ?) et la notion de multitache coopératif ?
- . Il [le mutitâche coopératif] a été utilisé par exemple dans les produits Microsoft Windows jusqu'à Windows 3.11 ou dans Mac OS jusqu'à Mac OS 9. Cette approche est nécessaire lorsqu'on utilise des processeurs sans MMU sophistiquée, mais présente plusieurs inconvénients :
- Confusion entre l'utilisation d'un MMU et du multitâche préemptif.
Celle ci est tangeante :
- Le système doit alors sauver l'état du processus en cours qui pourra ainsi être restauré plus tard lorsque son tour viendra d'utiliser à nouveau le processeur. --> Le système doit alors sauver l'état du processus en cours (le compteur ordinal, les valeurs des registres) ; le processus est placé dans une file d'attente ; lorsqu'il est en bout de file, son contexte d'exécution est restauré.
- J'étais resté intentionnelement vague sur ce point, parler de file d'attente est trop réducteur amha.
phe 11 aoû 2004 à 18:31 (CEST)
Au sujet de la question de Phe sur le nom à donner à la programmation d'un système multitâche : j'ai déjà entendu plusieurs fois parler de «multiprogrammation». Reste à vérifier si ce terme est vraiment dans les usages voire considéré comme officiel...
Comme Phe, je relève de nombreuses affirmations fausses. Comme «Le multitâche préemptif est plus robuste que le multitâche coopératif (...)», ou «(...) est dit multitâche, s'il permet d'exécuter, apparemment simultanément (...)». Il me semble que cet article ne tient compte que des systèmes d'exploitation du monde de la micro-informatique (Windows, UNIX, MacOS, DOS, ...). Dans le monde de l'informatique embarquée, les besoins légèrement différents font tomber certaines appréciations de «plus ou moins bien» données ici.
Je suis par ailleurs surpris qu'on ne parle pas de «temps-réel» (où le multitâche est une notion importante et délicate). Mais, plus gênant encore, on ne parle pas d'ordonnanceur ou d'ordonnancement, alors qu'il s'agit d'une pièce fondamentale du multitâches.
Bref, à mon avis, il faut refaire l'article. Plutôt que de tout entreprendre seul, je vous propose de paufiner l'ébauche suivante : Utilisateur:JonathanIlias/Multitâche
--JonathanIlias 20 avr 2005 à 09:34 (CEST)
- Ton idée n'est pas mauvaise et tes remarques généralement justes, mais ton nouvel article va bien au-delà de la définition de multi-tâche : tu veux y définir les services essentiels d'un système d'exploitation. Aurélien
- Effectivement, cela va peut-être un peu loin. J'avais essayé de reprendre quelques informations depuis l'article anglais. Par contre, s'il n'est effectivement pas nécessaire d'entrer dans les détails des objets de synchronisation ou de la mémoire virtuelle, il me paraît important de relier l'article à ces notions. N'hésite pas à modifier le brouillon d'article dans ce sens, sinon je le ferai quand j'aurai un peu de temps. --JonathanIlias 20 avr 2005 à 13:59 (CEST)
- hmmm, ma plus forte objection au changement à l'heure actuelle, c'est que je ne crois pas au multi-tâche ... il s'agit d'un concept marketing pour dire "ce système vous permet de faire tourner Word + Excel + Firefox simultanément etc ..." c'est à dire que ça remplace la notion de time-sharing bien connue depuis 40 ans ... par rien de nouveau. Un article sur le "temps partagé", ses applications et ses algorithmes me semblerait mieux. Un bon article sur les services d'un OS c'est bien aussi. Aurélien
- Le multitâche est un argument commercial, certes, mais c'est avant tout une technique ou plutôt un outil (au sens bibliothèque logicielle) qui permet de penser la conception d'un logiciel différemment. Il y a des théories sur la question qu'il me semble important de préciser, ou auxquelles faire référence (algorithmes d'ordonnancement, principes d'exclusion mutuelle, etc...).
- D'autre part, le multitâche n'est pas restreind au monde de la micro-informatique (j'entend l'informatique destinée aux «utilisateur»), les gros-systèmes (calculateurs) et même les systèmes embarqués font usage de ces concepts.
--JonathanIlias 22 avr 2005 à 20:08 (CEST)
Moi pas comprendre
[modifier le code]- Le premier ordinateur multitâche dans le monde a été conçu par la firme Bull en 1958. Il s'agissait du Gamma 60. Cet ordinateur ne possédait toutefois pas encore de langage de programmation (logiciel, software en anglais) à la hauteur des performances du système d'exploitation (matériel informatique, hardware en anglais).
Je croyais que le logiciel utilisait un langage de programmation et que le système d'exploitation fonctionnait sur du matériel.
Gédé (d) 6 décembre 2007 à 19:17 (CET)
- Le mot "logiciel" utilisé dans la citation désigne dans ce contexte tout ce qui n'est pas physique, par opposition au "matériel" (hardware)
- Si j'ai bien compris on ne pouvait exploiter toute la puissance du Gamma 60 car les langages de programmation existants ne permettaient pas d'utiliser les possibilités de multitâche de la machine ; un peu comme avoir une carte 3D sans pouvoir créer de programme qui utilise la 3D
- Si quelqu'un a une idée sur comment expliciter ce passage... 81.49.227.218 (d) 26 juillet 2008 à 21:39 (CEST)
- Disons que les outils logiciels ne permettaient pas de tirer tout le parti du matériel. Pas besoin de charabia inexact. Gédé (d) 26 juillet 2008 à 23:00 (CEST)
- Le premier ordinateur multitâche dans le monde a été conçu par la firme Bull en 1958. Il s'agissait du Gamma 60. Cet ordinateur ne possédait toutefois pas encore de langage de programmation (logiciel, software en anglais) à la hauteur des performances du système d'exploitation (matériel informatique, hardware en anglais).
- Autant qu'il me souvienne des années 60
- les concepteurs du Gamma 60 se plaignaient de ce que le système d'exploitation et les logiciels sous-utilisaient le matériel, qui comportait notamment 2 unités arithmétiques distinctes
- cette machine possédait un Algol 60 qui a influencé la Méthode Warnier ; à l'époque révolutionnaire (blocs, récursivité...) ce langage était pourtant strictement séquentiel.
- elle est à l'origine du concept de programmation maillée dont les organigrammes comportaient des barres de synchronisation entre tâches, mais dont l'utilisation dans les langages de l'époque n'était pas explicitée (sauf, peut-être, en assembleur). --Lf69100 (discuter) 10 juin 2016 à 10:29 (CEST)
- Autant qu'il me souvienne des années 60
Fibres
[modifier le code]Il y a une notion informatique qui est développée dans le Wikipédia anglophone, mais que je ne retrouve pas dans le Wikipédia francophone, c'est celle de Fibre (traduction supposée, je ne sais pas ce que ça devrait réellement donner en français, puisque le choix anglophone du mot me semble implicitement lié à la logique antérieure du choix du mot thread).
Les fibres sont une forme simplifiée de Processus léger dans laquelle la commutation n'est pas du tout préemptive et doit donc être réalisée explicitement.
Cette notion me semble devoir être rapprochée de celle de multitâche coopératif, et si c'est le cas, il est inexact de dire que cette façon de programmer a « été utilisée, par exemple, dans les produits Microsoft Windows jusqu'à Windows 3.11 » puisque les fonctions nécessaires pour cela sont toujours disponibles dans les versions actuelles de Windows, qu'elles ne sont absolument pas obsolètes, et qu'elles peuvent être une façon de résoudre certains problèmes de synchronisation en consommant très peu de ressources processeur et en s'affranchissant des problèmes traditionnels de synchronisation. Lire l'article en anglais. — Gingko (d) 10 avril 2008 à 18:43 (CEST)