En informatique, une tâche est une unité d’exécution dite aussi unité de travail. Il s'agit d'un terme global qui peut être précisé par une dénomination plus spécifique telle que le processus, le processus léger, le fil d'exécution et le mécanisme de requête-réponse (en).

Un exemple de groupement de fils d’exécution (en) (cases vertes) avec un ordonnancement des tâches en attente (pastilles bleues) et des tâches traitées (pastilles jaunes) vu comme un ensemble appelé tâche ou unité de travail.

Dans le diagramme adjacent, on trouve un exemple de tâche où une file d'attente de travaux à effectuer (task queue) est rangée en entrée d'un groupement de fils d’exécution (thread pool) afin d'être traités puis stockés en sortie dans une file de travaux terminés (completed tasks). L'ensemble du travail ou les tâches qui effectuent ce travail peuvent tous être appelés « tâches ».

Terminologie générale

modifier

Dans certains systèmes d'exploitation il a le sens d'une « unité d'exécution ». Dans d'autres cas, une tâche peut être le synonyme d'un processus ou il peut encore être synonyme de fil d’exécution. Dans une exécution non interactive (traitement par lots), une tâche est une unité d'exécution d'un travail qui elle-même est typiquement un processus.

Le terme de « multitâche » fait principalement référence au sens de traitement de plusieurs tâches qui s'exécutent en même temps, mais elle présente des nuances selon le sens que l'on donne au terme de « travail ».

Terminologie IBM

modifier

L'utilisation du terme par IBM a été influente, bien que soulignant l'ambiguïté du terme. Dans la terminologie d'IBM, une « tâche » a des dizaines de significations spécifiques, notamment :

  • Une unité de travail représentant l'une des étapes d'un processus ;
  • Un traitement à accomplir par un dispositif ou un processus ;
  • Un processus et les procédures qui exécutent le traitement ;
  • Un ensemble d'actions conçues pour atteindre un résultat particulier. Une tâche est exécutée sur un ensemble de cibles selon un ordonnancement spécifique ;
  • Une unité de calcul. Dans un travail parallèle, deux ou plusieurs tâches simultanées fonctionnent ensemble via le passage de message à la mémoire partagée. Bien qu'il soit courant d'allouer une tâche par processeur physique ou logique, les termes de « tâche » et de « processeur » ne sont pas interchangeables ;
  • Une activité ayant une valeur commerciale, lancée par un utilisateur et qui sera réalisée par un logiciel.

Cette terminologie IBM est allégrement reprise dans les logiciels et les manuels édités par Microsoft.

Dans z/OS en particulier, la tâche est définie précisément comme :

« Dans un environnement multiprogrammation ou multitraitement, une ou plusieurs séquences d'instructions traitées par un programme de contrôle comme un élément de travail à accomplir par un ordinateur. »

À travers z/OS, le terme de tâche dans OS/360 est à peu près équivalent à un processus léger : les tâches d'une étape du travail partagent un espace d'adressage. Cependant, dans MVS/ESA via z/OS, une tâche ou un bloc SRB (en) peut avoir accès à d'autres espaces d'adresse via une liste d'accès.

Note et référence

modifier

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

R (langage)

à la science des données soutenu par la R Foundation for Statistical Computing. Il fait partie de la liste des paquets GNU et est écrit en C, Fortran

Cloud Native Computing Foundation

Native Computing Foundation », GeekWire, 29 janvier 2018 (consulté le 21 janvier 2020) (en-US) « CNCF Graduates Rook to Automate Kubernetes Storage Tasks »

MapReduce

Amazon.com ou Facebook. Il commence aussi à être utilisé au sein du Cloud computing. De nombreux frameworks ont vu le jour afin d'implémenter le MapReduce

Génération à enrichissement contextuel

vectorielles: Pré-entraîner le moteur de récupération avec l’Inverse Cloze Task (ICT): une technique qui aide le modèle à apprendre à retrouver les bons

ESP32

Faust Architecture for the ESP32 Microcontroller, Turin, Sound and Music Computing Conference (SMC-20), 2020 (lire en ligne) Nicholas H. Tollervey, Programmer

Extensible Messaging and Presence Protocol

est un ensemble de protocoles standards ouverts de l’Internet Engineering Task Force (IETF) pour la messagerie instantanée, et plus généralement une architecture

Tensor Processing Unit

tasks" — Jeffrey Dean, minute 0:47 / 2:17 from YouTube clip. (en) « Google's Tensor Processing Unit explained: this is what the future of computing looks

Google App Engine

Juin 2009 : Possibilité de planifier des tâches automatiques avec l’API Task Queue. Support de Django Septembre 2009 : Support du protocole XMPP (messagerie