« DOS/Liste des commandes » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Expertom
m cat
Ligne 2 :
En [[informatique]], un '''traitement par lots''' (''batch processing'' en anglais) est un enchaînement automatique de commandes ([[Processus (informatique)|processus]]) sur un [[ordinateur]] sans intervention d'un [[opérateur]].
 
Leibikch batchet estt'un toutcon de mêmepremierr moinsclasse rapide.il quese lesmet autresa coter de moi et il rigole comme un hmar merci et c tou pour le moment. 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.
==Détails==
 
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 [[histoire de l'informatique#Deuxième génération (1956-1963)|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 [[carte perforée|cartes perforées]] et fournissaient les données de sortie sur des [[imprimante]]s (exemple : le système [[Fortran Monitor System|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 [[histoire de l'informatique#Troisième génération (1963-1971)|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]] [[Microsoft Windows|Windows]], un fichier (ou ''script'') contenant une série d'instructions [[MS-DOS|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 [[Bourne-Again shell|bash]] ou [[ksh]], eux-mêmes moins puissants que ceux des [[mainframe]]s.
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:
 
* [[CA Unicenter Autosys Job Management|Autosys]], de la suite Unicenter (System Managemement) chez [[Computer Associates]].
* [[$Universe_(Orsyp)|$Universe]] de [[Orsyp]]
* [[TWS_(Tivoli)|TWS]], de la suite [[Tivoli_(IBM)|Tivoli]] chez IBM
 
Les programmes de traitement par lots s'opposent aux [[Système de traitement transactionnel|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.