[x] Close ad

BATCH PROCESSING

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

The term "batch", originated in the days when programmers wrote code on paper forms which would be keypunched onto 80-column punch cards or paper tape. The cards or tape would then be passed to the system operator ("sysop") who would schedule the task, and at a later stage feed the program into the computer. Because a number of tasks would be "batched" together rather than be put into the system immediately the tasks were referred to as "batch jobs".

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.