Difference between revisions of "Batch operating system"
(+turnaround) |
(Role of interrupts) |
||
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 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 time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. | 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 time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'. | ||
− | The earliest batch OS's were not [[multi-tasking]]; each job ran to completion, before the next job started. However, this | + | 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 is idle. This was especially a problem for the very expensive computers which were the norm at that stage. |
− | + | 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. | |
+ | |||
+ | 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. | 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. | ||
{{semi-stub}} | {{semi-stub}} |
Revision as of 23:41, 22 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. The time from when the job is submitted, to when the results are ready for the user, it called the 'turn-around'.
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 is 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.