Batch


Batch

Traitement par lots

En informatique, un traitement par lots (batch processing en anglais) est un enchaînement automatique de commandes sans intervention d'un opérateur.

Le déclenchement de ces traitements peut ainsi être automatisé, par exemple grâce au programme cron dans un système Unix. Les traitements par lots sont surtout utilisés pour des tâches automatisées, notamment pour la gestion des comptes sur le parc informatique d'une entreprise, d'une université… Les travaux lancés en lots n'utilisent que les cycles processeur non utilisés par les travaux interactifs. Les lots ont donc toujours une priorité d'exécution plus basse que les interactifs mais en revanche un temps d'exécution (time slice) plus élevé que les interactifs de façon à rester en mémoire principale le plus longtemps possible. Pourquoi le time slice est-il plus généreux pour un lot que pour un travail interactif ? Parce que lors d'un ordre de lecture de la base de données, le système charge dans le buffer plusieurs slots de façon à faire le moins possible d'accès disque, sachant qu'un accès disque provoque immédiatement une purge sur disque du lot qui devra attendre de revenir en mémoire pour continuer à s'exécuter.

La deuxième génération d'ordinateurs était exploitée exclusivement sous forme de traitement par lots, progrès sur l'utilisation en vacations de ceux de la première génération. La notion de système d'exploitation devint alors essentielle. Les ordinateurs étaient alimentés en entrée par des instructions encodées sur des cartes perforées et fournissaient les données de sortie sur des imprimantes (exemple : le système FMS).

Les terminaux interactifs en ligne de commande ne se sont répandus que vers le milieu des années 1960, lorsque que le coût du temps machine est devenu suffisamment abordable - et donc a touché un plus vaste nombre d'utilisateurs potentiels - grâce à la troisième génération d'ordinateurs.

Un vrai traitement batch comprend des codes de condition permettant d'enchaîner les traitements comme un véritable programme (si... alors... sinon...). Un programme batch n'a pas besoin pour s'exécuter d'obtenir une réponse de l'utilisateur, il s'exécute en autonome. les travaux batch sont surtout lancés de nuit par les opérateurs système suivant le planning établi, ou bien par un robot sous surveillance d'un seul opérateur. Cette notion de travaux batch n'existe réellement que sur les environnements IBM (mainframe et AS/400) et pas du tout sur Windows, et sur Unix.

Par extension, un fichier batch est, sous le système d'exploitation Windows, un fichier (ou script) contenant une série d'instructions DOS. Ces fichiers, lorsqu'ils sont lancés, exécutent les commandes contenues dans le fichier.

Le mot batch désigne alors abusivement un langage anonyme, parfois appelé langage batch ou langage DOS, et qui est interprété par les exécutables cmd.exe et command.com, moins puissant que les scripts utilisant les shells unix comme bash ou ksh, eux-mêmes moins puissants que ceux des mainframes. Un assez célébre editeur batch se nomme PowerBatch.

Des logiciels spécialisés dans la gestion des traitements par lots existent, par exemple:

  • Autosys, de la suite Unicenter (System Managemement) chez Computer Associates.
  • $Universe de Orsyp
  • TWS, de la suite Tivoli chez IBM

Les programmes de traitement par lots s'opposent aux programmes interactifs, ou transactionnels. Le transactionnel comme CICS sur les mainframes d'IBM n'est rien d'autre qu'un traitement batch qui par le biais du pooling donne la main à tour de rôle au terminal dont le bit est "on" dans une table, c'est à dire que le programme avec toutes ses données est ramené du disque en mémoire centrale, exécute la transaction et est immédiatement purgé de nouveau sur disque.

Le batch est tout de même moins rapide que les autres langages car il n'est pas compilable et demande donc, au moment de l'exécution, une interprétation de ses commandes par cmd.exe et command.com, qui envoient ensuite les calculs correspondants aux commandes au processeur. Les autres langages envoient des calculs directement, ils sont donc plus rapides. Un des atouts du batch est sa légèreté : elle est similaire au contenu d'un fichier texte basique car les commandes sont en lignes et sans trop d'options.

Mais attention : un fichier batch peut aisément formater un disque ou supprimer un fichier. Peu d'anti-virus détectent des menaces dans les fichiers batch. Par précaution, vous pouvez ouvrir avec votre éditeur de textes un fichier .bat douteux avant de le lancer.

Sommaire

Exemple : Le renommage en masse

Le renommage en masse de fichiers ou de dossiers informatiques d'une façon automatique est un exemple de traitement par lots.

Pour effectuer ce genre d'opération, un logiciel spécialisé est utilisé. Ces logiciels peuvent avoir plus ou moins de fonctionnalités, mais certaines fonctions de base sont partagées.

Fonctions de base

  • Trouver une partie du nom et la remplacer ou l'effacer.
  • Changer des lettres minuscules en majuscules et vice-versa.
  • Ajouter une séquence numérique (001, 002, 003...)
  • Ajouter la date et l'heure (actuelle ou prise du fichier ou dossier).
  • Changer la longueur du nom.

Fonctions avancées

  • Extraction d'information (comme étiquettes ID3 de MP3 ou EXIF de JPG) et les placer dans le nom.
  • Ajouter une séquence alphabétique (a, b, c, d...).


Bibliographie

  • Kris Jamsa - MS-DOS, fichiers batch - (éd. Presses Pocket / P.S.I., coll. "Quick Reference", 1991) - 207 p. - (ISBN 2-266-04059-6)
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Traitement par lots ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Batch de Wikipédia en français (auteurs)