Difference between revisions of "Batch operating system"

From Computer History Wiki
Jump to: navigation, search
(punch decks)
(Copyedit for better flow)
Line 1: Line 1:
'''Batch''' [[operating system]]s were the first OS's, and were common up to the 1980s or so; some are still running today.
+
'''Batch''' [[operating system]]s 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 [[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.
  
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 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
+
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.
  
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 [[input/output|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.
+
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.
  
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 - generally [[magnetic tape drive]]s, since those were the principal [[secondary storage]] devices at that point in time.
+
The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. That operational efficiency technique 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.
  
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).
+
==Development==
  
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 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.
  
 
{{semi-stub}}
 
{{semi-stub}}

Revision as of 17:12, 23 October 2018

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.

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.

The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. That operational efficiency technique 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.