Batch operating system

From Computer History Wiki
Revision as of 01:06, 23 October 2018 by Jnc (talk | contribs) (punch decks)
Jump to: navigation, search

Batch operating systems were the first OS's, and were common up to the 1980s or so; some are still running today.

The essence of a batch OS is its lack of interaction with users; a job - a program, along with all its input data - is handed in to the system; when there is an opportunity, it is run; and any resultant output is provided back to the person who sumitted the job.

The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. An operational efficiency technique adopted at an early stage unfortunately increased average turn-around times: groups of jobs were collected onto magnetic tape; once a tape was full, it was mounted on a drive, and all the jobs on it were run. This increased the efficiency of the computer (since tapes could be read a lot faster than punched card decks), but also increased the turn-around time considerably

The earliest batch OS's were not multi-tasking; each job ran to completion, before the next job started. However, this did not make efficient use of a system; while a job is waiting for I/O to complete, the rest of the system was idle. This was especially a problem for the very expensive computers which were the norm at that stage.

Before interrupts were added, early computers did not have much of a choice; they had to spend a lot of time watching peripherals, waiting for them to complete an operation - generally magnetic tape drives, since those were the principal secondary storage devices at that point in time.

Once interrupts were available, multi-tasking was added, because having a mix of jobs running at any time is the best way to maximize the use of the system. However, this brought in other issues: e.g. in the earliest stages of this change, all jobs which were running at any time had to be resident in main memory together. This then required the addition of security, so that a job which encountered a programing mistake could not damage other job(s).

With the advent of time-sharing and virtual memory, all modern OS's tend to have the capability to run jobs in batch mode, and so specialized batch OS's are now fading out.