Jump to content

Batch processing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by HisSpaceResearch (talk | contribs) at 10:51, 8 August 2008 (Reverted edits by 152.106.240.12 to last version by Ophite23 (HG)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

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

Benefits

Batch processing has these benefits:

  • It allows sharing of computer resources among many users and programs,
  • It shifts the time of job processing to when the computing resources are less busy,
  • It avoids idling the computing resources with minute-by-minute human interaction and supervision,
  • By keeping high overall rate of utilization, it better amortizes the cost of a computer, especially an expensive one.

History

Batch processing has been associated with mainframe computers since the earliest days of electronic computing in 1950s. Because such computers were enormously costly, batch processing was the only economically-viable option of their use. In those days, interactive sessions with either text-based computer terminal interfaces or graphical user interfaces were not widespread. Initially, computers were not even capable of having multiple programs loaded to the main memory.

Present days

Batch processing has grown beyond its mainframe origins, and is now frequently used in UNIX environments and Microsoft Windows too. UNIX systems uses shells and other scripting languages. DOS systems uses batch files powered by COMMAND.COM, Microsoft Windows has cmd.exe, Windows Script Host and advanced Windows PowerShell.

Job scheduling

UNIX utilizes cron and at facilities allow for scheduling of complex job scripts. Windows has a job scheduler. Most high-performance computing clusters uses batch processing to maximize cluster usage.

Printing

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, where they should be output and priority of the print job. Then the job is sent to the print queue from where printing daemon sends them to the printer.

Databases

Batch processing is also used for efficient bulk database updates and automated transaction processing, as contrasted to interactive online transaction processing (OLTP) applications.

See also