views:

118

answers:

3

Hi,

Accoding to wiki, Batch processing is execution of a series of programs ("jobs") on a computer without manual intervention.

I wonder what is the difference and relation between batch processing and putting a process into background?

Are backgrounding a job always batch processing? Are there batch processing not backgrounding?

Thanks and regards!

+2  A: 

I'd say batch processing is often scheduled (with cron or something) to be performed on a regular basis and do not require any input, while a "process that you can put in the background" may, at some point, require you to give it some input. That's how I'd see it, but I'm not taking this from a dictionary or anything...

Etienne Perot
+1  A: 

@etienne is exactly right.

A little history helps here. The term batch processing was originally used on mainframes. At the time jobs would be given to operators to run. They would be processed on the machine (as a "batch") and then the results would be given back to the person who asked to run the job (usually a programmer.)

These days batch often refers to jobs which run in the background automatically (via a scheduling program.)

Hogan
+2  A: 

Batch processing usually involves repeatedly doing the same action to a lot of things. For instance, the bulk printing of letters or the bulk loading of records into a data warehouse. These are usually scheduled activities. In the olden days they were called overnight runs; even in modern 24-7 systems they tend to be scheduled in what passes for the quiet times.

By their nature batch processes run in the background. But other types of process also run in the background. There are daemons which run constantly, but mostly sleep. There are monitoring processes which respond to events, like message queue readers. Then are asynchronous user tasks, which beaver away while the user gets on with something else. What distinguishes these from batch processes is just volume: they are dealing with single records or handfuls of records.

APC