Batch processing

From Wikipedia, the free encyclopedia

Batch processing is the execution of a series of programs ("jobs") on a computer without human interaction, when possible.

Batch jobs are set up so they can be run to completion without human interaction, so all input data is preselected through scripts or commandline parameters. This is in contrast to interactive programs which prompt the user for such input.

Batch processing has these benefits:

  • It allows sharing of computer resources among many users
  • It shifts the time of job processing to when the computing resources are less busy
  • It avoids idling the computing resources without minute-by-minute human interaction and supervision
  • It is used on expensive classes of computers to help amortize the cost by keeping high rates of utilization of those expensive resources.

Batch processing has historically been synonymous with mainframe computers. Since this class of computer was so expensive, batch processing was used for the reasons listed above. Also, in the early days of electronic computing, interactive sessions with computer terminal interfaces (and later Graphical user interfaces) were not yet widespread.

Batch processing has grown beyond its mainframe origins, and is now frequently used in UNIX environments, where the cron and at facilities allow for scheduling of complex job scripts. Similarly, Microsoft DOS and Windows systems refer to their command-scripting language as batch files and Windows has a job scheduler.

A popular computerized batch processing procedure is printing. This normally involves the operator selecting the documents they need printed and indicating to the batch printing software when and where they should be output.

[edit] See also