Archives par mot-clé : Multithread

CICS – Terminologie

Concepts de tâche, multitâche, multithreading, conversation et pseudo conversation

Tâche:

Une tâche est créée pour chaque identifiant de transaction exécuté, TRANSID, reconnu par CICS (trouvé dans la table de contrôle du programme). Une tâche peut inclure un ou plusieurs programmes. Une tâche continue jusqu’à ce qu’un programme rende le contrôle à CICS ou émette une commande RETURN dans un programme pseudo-conversationnel. Une seule tâche peut être en cours d’exécution à un moment donné, mais l’utilisateur peut percevoir que de nombreuses tâches sont en cours d’exécution.

Multitâche :

Le multitâche signifie que le système d’exploitation (OS) permet à plusieurs tâches d’être exécutées simultanément, que les tâches utilisent le même programme ou des programmes différents. Par conséquent, ce n’est pas un concept propre à CICS. Mais CICS gère le multitâche des tâches CICS dans sa propre région. Autrement dit, CICS fournit un environnement multitâche dans lequel plusieurs tâches CICS s’exécutent simultanément.

Multithread :

Le multithreading est l’environnement système dans lequel les tâches partagent le même programme dans l’environnement multitâche. Le multithreading est un sous-ensemble du multitâche, puisqu’il concerne des tâches qui utilisent le même programme.Dans l’environnement multithreading, un programme est partagé par plusieurs tâches simultanément. Pour chaque tâche, le programme (c’est-à-dire les instructions et la zone de données) doit fonctionner comme s’il exécutait des instructions exclusivement pour chaque tâche. Par conséquent, cela nécessite des considérations particulières telles que la réentrance ou la réutilisation en série.Contrairement à l’environnement multithreading, dans l’environnement à thread unique, un programme est utilisé par un seul travail (ou tâche) à la fois. Un exemple typique est un travail par lots.

Terminologie SCIC


Concepts de tâche, multitâche, multithreading, conversation et pseudo conversation

Tâche:

Une tâche est créée pour chaque identifiant de transaction exécuté, TRANSID, reconnu par CICS (trouvé dans la table de contrôle du programme). Une tâche peut inclure un ou plusieurs programmes. Une tâche continue jusqu’à ce qu’un programme rende le contrôle à CICS ou émette une commande RETURN dans un programme pseudo-conversationnel. Une seule tâche peut être en cours d’exécution à un moment donné, mais l’utilisateur peut percevoir que de nombreuses tâches sont en cours d’exécution.


Multitâche :

Le multitâche signifie que le système d’exploitation (OS) permet à plusieurs tâches d’être exécutées simultanément, que les tâches utilisent le même programme ou des programmes différents. Par conséquent, ce n’est pas un concept propre à CICS. Mais CICS gère le multitâche des tâches CICS dans sa propre région. Autrement dit, CICS fournit un environnement multitâche dans lequel plusieurs tâches CICS s’exécutent simultanément.

Multithread :

Le multithreading est l’environnement système dans lequel les tâches partagent le même programme dans l’environnement multitâche. Le multithreading est un sous-ensemble du multitâche, puisqu’il concerne des tâches qui utilisent le même programme.

Dans l’environnement multithreading, un programme est partagé par plusieurs tâches simultanément. Pour chaque tâche, le programme (c’est-à-dire les instructions et la zone de données) doit fonctionner comme s’il exécutait des instructions exclusivement pour chaque tâche. Par conséquent, cela nécessite des considérations particulières telles que la réentrance ou la réutilisation en série.

Contrairement à l’environnement multithreading, dans l’environnement à thread unique, un programme est utilisé par un seul travail (ou tâche) à la fois. Un exemple typique est un travail par lots.


Question d’entretien : Différence entre le multitâche et le multithreading ?

Le système d’exploitation permet l’exécution simultanée de plusieurs tâches, c’est ce qu’on appelle le multitâche. Si la ou les tâches simultanées utilisent la même copie du programme, cela s’appelle le multithreading. Il est donc évident que le multitâche est un sous-ensemble du multithreading.


Modes de programmation d’applications :

  • Conversationnel
  • Pseudo-conversationnel

De la conversation:

  • Le système envoie un message à l’écran
  • Attend la réponse de l’utilisateur.
  • Cela prend un temps considérable en termes de temps système. Ce temps est appelé THINK TIME de l’utilisateur. (Désavantage)
  • Reçoit la réponse
  • Traiter les données reçues.

La programmation conversationnelle est une technique de codage qui entraîne le chargement d’un programme et le reste dans la mémoire principale jusqu’à ce que l’utilisateur ait fini de travailler avec le programme. Le programme n’est pas libéré de la mémoire principale lorsqu’il n’est pas actif, comme dans la programmation pseudo conversationnelle. Par exemple, un programme conversationnel affiche une carte et reste dans la mémoire principale en attendant la réponse d’un utilisateur.

Les applications pratiques de la programmation conversationnelle sont très limitées.

Pseudoconversation :

  • Le système envoie un message
  • Terminer la transaction en spécifiant la prochaine transaction à démarrer
  • Allouer des ressources à d’autres transactions
  • Interroger l’entrée du terminal à intervalle régulier
  • Reçoit les données et démarre la prochaine transaction spécifiée précédemment

CICS permet à de nombreux utilisateurs de se connecter et d’utiliser CICS simultanément. La taille de la mémoire principale de l’ordinateur est finie. Si de nombreux utilisateurs exécutent des transactions nécessitant un stockage principal considérable, une condition de stockage insuffisant peut se produire, entraînant des retards.

La programmation pseudo-conversationnelle est une technique de codage qui se traduit par le chargement d’un programme dans le stockage principal en cas de besoin et sa libération lorsqu’il n’est plus actif. Par exemple, lorsqu’une carte est affichée et que le programme attend la réponse d’un utilisateur, le programme peut être libéré de la mémoire principale et rechargé si nécessaire.

CICS charge et libère automatiquement les programmes d’application de la mémoire principale. Les programmes à forte utilisation sont souvent définis comme résidents du stockage principal et le système les conserve dans le stockage principal. Les tables et les cartes, qui sont considérées comme des programmes par CICS, sont généralement contrôlées par un programme.

Généralement, lors de l’utilisation de la technique de traitement pseudo-conversationnelle, le fait d’appuyer sur une touche AID provoque le chargement d’un programme s’il n’est pas déjà dans la mémoire principale. Lorsqu’un programme a terminé avec un segment logique de traitement, il envoie normalement une carte, enregistre les données requises et rend le contrôle à CICS.


Réentrant et Quasi-réentrant

Si la même copie du programme est utilisée par plusieurs tâches, le système doit s’occuper de la réentrée appropriée après l’interruption SVC/CICS.

Un programme réentrant est défini comme un programme qui ne se modifie pas pour pouvoir se réintégrer et continuer le traitement après une interruption par l’appel SVC de l’OS. Les programmes batch ne sont pas réentrants. La réentrance dans l’environnement CICS est appelée quasi-entrant car l’interruption dans CICS peut impliquer plus d’un appel SVC ou aucun SVC du tout.

Les programmes COBOL doivent être compilés avec l’option RENT pour la réentrance dans un environnement multithreading.

Question d’entretien : Différence entre le multitâche et le multithreading ?

Le système d’exploitation permet l’exécution simultanée de plusieurs tâches, c’est ce qu’on appelle le multitâche. Si la ou les tâches simultanées utilisent la même copie du programme, cela s’appelle le multithreading. Il est donc évident que le multitâche est un sous-ensemble du multithreading.