Article de reference

Tâche (informatique)

Un exemple de pool de threads (cases vertes) avec des files d' attente de tâches en attente (bleu) et de tâches terminées (jaune), dans le sens de la tâche comme « unité de trav...

Un exemple de pool de threads (cases vertes) avec des files d' attente de tâches en attente (bleu) et de tâches terminées (jaune), dans le sens de la tâche comme « unité de travail ».

En informatique , une tâche est une unité d' exécution ou une unité de travail. Le terme est ambigu ; les termes alternatifs précis incluent processus , processus léger , thread (pour l'exécution), étape , requête ou requête (pour le travail). Dans le diagramme ci-contre, il y a des files d'attente de travail entrant à faire et de travail sortant terminé, ainsi qu'un pool de threads pour effectuer ce travail. Les unités de travail elles-mêmes ou les threads qui effectuent le travail peuvent être appelés « tâches », et ceux-ci peuvent être appelés respectivement demandes/réponses/threads, tâches entrantes/tâches terminées/threads (comme illustré) ou demandes/réponses/tâches.

Terminologie

Dans le sens d'« unité d'exécution », dans certains systèmes d'exploitation , une tâche est synonyme de processus et dans d'autres de thread . Dans l'exécution non interactive ( traitement par lots ), une tâche est une unité d'exécution au sein d'un travail [ la tâche elle-même étant généralement un processus. Le terme « multitâche » fait principalement référence au sens de traitement (plusieurs tâches exécutées en même temps), mais comporte des nuances dans le sens de travail de plusieurs tâches exécutées en même temps.

Au sens d'« unité de travail », dans un job (qui signifie « travail unique »), une tâche peut correspondre à une seule étape (l'étape elle-même, et non son exécution), tandis que dans le traitement par lots , les tâches individuelles peuvent correspondre à une seule étape de traitement d'un seul élément d'un lot, ou à une seule étape de traitement de tous les éléments du lot. Dans les systèmes en ligne, les tâches correspondent le plus souvent à une seule requête (dans les architectures requête-réponse ) ou à une requête (dans la recherche d'informations ), soit à une seule étape de traitement, soit à l'ensemble du traitement à l'échelle du système.

Exemples

Dans le langage de programmation Java , ces deux concepts (unité de travail et unité d'exécution) sont confondus lorsque l'on travaille directement avec des threads, mais clairement distingués dans le framework Executors :

Lorsque vous travaillez directement avec des threads, a Threadsert à la fois d'unité de travail et de mécanisme d'exécution. Dans le cadre de l'exécuteur, l'unité de travail et le mécanisme d'exécution sont séparés. L'abstraction clé est l'unité de travail, qui est appelée tâche .

Terminologie IBM

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

  • Une unité de travail représentant l’une des étapes d’un processus.
  • Une unité de travail à accomplir par un dispositif ou un processus.
  • Un processus et les procédures qui exécutent le processus.
  • Un ensemble d'actions conçues pour atteindre un résultat particulier. Une tâche est exécutée sur un ensemble d'objectifs selon un calendrier précis.
  • Unité de calcul. Dans une tâche parallèle, deux tâches simultanées ou plus fonctionnent ensemble via la transmission de messages et la mémoire partagée. Bien qu'il soit courant d'allouer une tâche par processeur physique ou logique, les termes « tâche » et « processeur » ne sont pas interchangeables.
  • Une activité qui a une valeur commerciale, est initiée par un utilisateur et est exécutée par un logiciel.

Dans z/OS spécifiquement, il est défini 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. »

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

Noyau Linux

Le terme tâche est utilisé dans le noyau Linux (au moins depuis la version 2.6.13, jusqu'à la version 4.8 incluse ) pour désigner une unité d'exécution qui peut partager diverses ressources système avec d'autres tâches du système. Selon le niveau de partage, la tâche peut être considérée comme un thread ou un processus conventionnel . Les tâches sont créées à l'aide de l' clone()appel système, où un utilisateur peut spécifier le niveau de partage des ressources souhaité.

Histoire

Le terme tâche pour une partie d'un travail remonte à la multiprogrammation au début des années 1960, comme dans cet exemple de 1961 :

Le modèle série a la capacité de traiter les tâches d'un travail de manière indépendante, similaire au fonctionnement de l' IBM 709. [

Le terme a été popularisé avec l'introduction d' OS/360 (annoncé en 1964), qui proposait la multiprogrammation avec un nombre fixe de tâches (MFT) et la multiprogrammation avec un nombre variable de tâches (MVT). Dans ce cas, les tâches étaient identifiées comme des processus légers, un travail était composé d'un certain nombre de tâches et, plus tard, les tâches pouvaient avoir des sous-tâches (dans la terminologie moderne, des processus enfants ).

Aujourd'hui, le terme « tâche » est utilisé de manière très ambiguë. Par exemple, le gestionnaire de tâches de Windows gère les processus (en cours d'exécution) , tandis que le planificateur de tâches de Windows planifie les programmes à exécuter ultérieurement, ce que l'on appelle traditionnellement un planificateur de tâches , et utilise l' .jobextension . En revanche, le terme « file d'attente de tâches » est couramment utilisé dans le sens d'« unités de travail ».

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index