Batch Operating Systems
Batch Processing Operating System
Back in 1950s and 1960s, there were no well-developed operating systems, advanced computer architecture and secondary memory devices. Instead there were large mainframe computers for the processing work and punched cards or magnetic tapes were used to provide the input and receive the output. The major problem was the lack of hard disk in those times.
So, what the users did was that they prepared the program (which was termed as a job in those days) manually and then used an input magnetic tape using which the job’s code was submitted to the computer. Once this was done, the user could no longer interact with the job and when the processing was done, an output magnetic tape was used to obtain the output.
What is Batch processing ?
Jobs that can run without end user interaction, or can be scheduled to run as resources permit, are called batch jobs. Batch processing is basically for those frequently used programs that can be run with minimal human interaction. A program that reads a large file and generates a report, for example, is considered to be a batch job.
Need for Batch Systems
But there was another problem too. Suppose one job is in C language and other one is in Java. We know that both the jobs now require entirely different environments for their execution. So, the I/O magnetic tapes needed to be loaded and unloaded again and again. As the number of users increased, so did the number of jobs and it was really a time-consuming process. Most of the time was wasted in this I/O work only and CPU remained idle for too long.
Then a solution to this problem was devised that jobs requiring similar environmental conditions will be submitted altogether within a batch. Since similar jobs were put together in a batch, this system was termed as a batch system.
How users uses batch operating system
Batch operating system users do not interact with the computer directly. Each job is prepared by each user on an off-line device like punch cards and submits it to the computer operator. To increase the processing speed, jobs with similar needs are batched together and run as a group. After completing the coding for the programs the programmers hand over their programs to the operator and the operator then analyisis the programs having similar requirements and then devide them into batches.
Why BOS are used ?
batch operating systems load very less stress on cpu and involve lesser user interaction so that’s why we can use batch system in now a days also. Another advantage of batch operating systems is that the large repeated jobs can done without interacting with computer to tell the system that you have to do that job after finishing that job. Old batch operating systems were not interactive i.e. the user interaction was not involved when the program is running. Now in modern batch operating systems we have interactions also. For example we can schedule the job and when the specific time comes then computer acknowledge the processor that time is over. This helps us tin avoiding too many errors and makes debuging easier.
Role of a batch operating system
The main role of a batch operating system is to automatically executing the jobs in a batch. This is the primary task of a batch processing system i.e. performed by the 'Batch Monitor' resides in the low end of main memory. This technique was feasible due to the invention of hard-disk drives and card readers. Now the jobs can be saved on the disk to make the pool of jobs for its execution as a batch. Firstly the extracted jobs are read and executed by the batch monitor, and then these jobs are grouped, placing the similar jobs (jobs with the similar needs) in the same batch, So, in the batch operating system, the batched jobs were executed automatically one after the other saving its time by performing the tasks (like loading of compiler) only for once. It resulted in better system utilization due to reduced turn around time.
Advantages of Batch Systems
- A lot of manual work is reduced.
- Execution becomes fast and well managed.
- CPU’s idle time is reduced.
- Repetitive use of Punched cards and magnetic tapes is reduced.
Disadvantages of Batch Systems
- Sequential execution: This is one of the major disadvantages of Batch Systems. Jobs in a batch are always executed sequentially. For example, if there are 4 jobs in one batch, then they are always executed one by one and the output is obtained only once all 4 jobs are completed. so Difficult to provide the desired priority.
- Starvation: Different jobs in a single batch might take different amounts of time in execution. This might lead to starvation of some jobs. Suppose there are 4 jobs in a batch and the first job takes too long to execute then the other three jobs in the same batch will have to wait for long until the first one is completed.
- No interaction between job and user: Once a batch is submitted to the computer, the user is no longer able to interact with any of the jobs. Suppose there is a job which requires the user to give the input data during runtime. Now, He must wait until all the jobs in that batch are completed. So, the overall execution time is increased a lot.