Difference between revisions of "Batch operating system"

From Computer History Wiki
Jump to: navigation, search
m (Links)
m (fmt)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Batch''' [[operating system]]s were the first OS's, and were common up the 1980s or so; some are still running today.
+
'''Batch operating systems''' were the first [[operating system]]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 [[user]]s; 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 submitted the job.
  
The essence of a batch OS is its lack of interaction with [[user]]s; 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.
+
==Origins==
  
The earliest batch OS's were not [[multi-tasking]]; each job ran to completion, before the next job started. However, this does not make efficient use of a system; while a job is waiting for [[input/output|I/O]] to complete, the rest of the system is idle. This was especially a problem for the very expensive computers which were the norm at that stage.
+
They were a development of the earliest stages of computer use, when [[magnetic tape drive]]s were the principal [[secondary storage]] devices. Initially, users signed up for blocks of time on the computer; set-up, etc, meant that a lot of time on these rare and expensive machines was wasted.
  
So 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.
+
An operational efficiency technique was adopted at an early stage: the programs and data of 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, with the output being [[spooling|spooled]] to on another drive, to be printed on an off-line [[line printer]] later.
  
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.
+
The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. That operational approach unfortunately increased average turn-around times: it 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.
  
{{stub}}
+
==Development==
 +
 
 +
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 was waiting for [[input/output|I/O]] to complete, the rest of the system was idle.
 +
 
 +
Before [[interrupt]]s were added, early computers did not have much of a choice; they ''had'' to spend a lot of time watching [[peripheral]]s, waiting for them to complete an operation.
 +
 
 +
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, which might not be possible. This also 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 have now faded out.
 +
 
 +
[[Category: OS Basics]]

Latest revision as of 08:41, 10 September 2022

Batch operating systems were the first operating systems, 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 submitted the job.

Origins

They were a development of the earliest stages of computer use, when magnetic tape drives were the principal secondary storage devices. Initially, users signed up for blocks of time on the computer; set-up, etc, meant that a lot of time on these rare and expensive machines was wasted.

An operational efficiency technique was adopted at an early stage: the programs and data of 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, with the output being spooled to on another drive, to be printed on an off-line line printer later.

The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. That operational approach unfortunately increased average turn-around times: it 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.

Development

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 was waiting for I/O to complete, the rest of the system was idle.

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.

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, which might not be possible. This also 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 have now faded out.