Batch jobs are run in a controlled manner, so limiting their impact on the performance of the whole system. They offer a way of running long jobs which is often convenient for the user concerned who can in the meantime get on with other business, and kind to everyone else who do not see a performance degradation which might otherwise occur. Batch jobs first enter a queue, and are then trickled from the queue in a pre-determined way to be executed.
All queues accept jobs at any time.
The above job will be submitted to the default queue. To prevent large jobs swamping the system and preventing other jobs running, the various queues have memory limits imposed. Arrays are stored in an area of memory known as the data segment, and if you need to run programs larger than 128 MB, you are limited in the queues you can use. To find out the space requirement of a particular program, use the command size executable where executable is the name of the file holding the compiled program. The third number, the bss column, is the program's data segment requirement in bytes.