Difference between revisions of "Operating system"

From Computer History Wiki
Jump to: navigation, search
(New page: Operating systems are the programs that run on computers to allow users to do their work. They range from the simple CP/M to the complex Windows NT. {{stub}})
 
(de-stub)
Line 1: Line 1:
Operating systems are the programs that run on computers to allow users to do their work.  They range from the simple [[CP/M]] to the complex [[Windows NT]].
+
'''Operating systems''' (often abbreviated to '''OS''') are programs which use only the capabilities provided directly by a computer's hardware, and give users with a more capability-rich environment in which to do their work.
  
{{stub}}
+
The functionality of operating systems has expanded over time, as the complexity of computing systems, and the uses to which they were put, expanded.
 +
 
 +
==Evolution==
 +
 
 +
Among the first things they did was to hide the low-level details of the devices attached to the system, so that users could use them by specifying higher-level operations (e.g. 'print this string', instead of having to massage device registers).
 +
 
 +
Initially, computers on did one thing at a time, but the machines of that period (essentially all [[mainframe]]s, in modern terminology) were so very expensive that it was crucial to keep them fully utulized at all times. Therefore, [[batch operating system]]s evolved, to handle a queue of 'jobs', so that the computer could proceed to the next one as soon as the prior one completed.
 +
 
 +
Operating systems then began to manage the the resources of the computer ([[CPU]], [[main memory]] and [[disk]] storage). So, for example, operating systems provided [[file system]]s for users to store their data in.
 +
 
 +
(Which led to a [[Dave Clark]] aphorism that 'the function of an operating system is to provide multiple names for things in the system, so that it can busy itself keeping track of the relationships between the names' - as in this case, where block numbers and file names are involved.)
 +
 
 +
The 'batch' method of interacting with computers (one handed in one's 'job', waited for it to be run, and then got the output - if any! - back) was efficient for computers, but not for people. In the early 1960's, another method of interacting with computers, [[time-sharing]], developed, in which a single computer could be shared among many users simultaneously, through the use of [[premptive multi-tasking]].
 +
 
 +
This required the operating system to ensure that one user could not interfere with another user, so protection of users (and their data, stored on disk) from each other became another function of the operating system.
 +
 
 +
At about the same time, [[virtual memory]] (which allowed a user to perform large computations on computers with a limited amount of memory, without having to concern themselves with moving data back and forth from disk, to the limited amount of main memory actually available) appeared, and (once the hardware could do it), managing virtual memory became another standard OS responsibility.
 +
 
 +
As computers became cheaper, with the development of [[minicomputer]]s, it became feasible to have computers interact with other equipment, in order to record data, or control things. This lead to the development of [[real-time systems]], which had their own needs.
 +
 
 +
The developmen of [[personal computer]]s recapitulated almost this entire development sequence; early PC OS'd provided only distance from the details of the hardware, but multi-tasking soon followed, and then virtual memory.
 +
 
 +
==Current OS's==
 +
 
 +
Operating systems range from the simple [[CP/M]] to the complex [[Windows NT]]; among the most common ones now are [[UNIX]], and its descendant, [[Linux]].

Revision as of 15:29, 6 August 2017

Operating systems (often abbreviated to OS) are programs which use only the capabilities provided directly by a computer's hardware, and give users with a more capability-rich environment in which to do their work.

The functionality of operating systems has expanded over time, as the complexity of computing systems, and the uses to which they were put, expanded.

Evolution

Among the first things they did was to hide the low-level details of the devices attached to the system, so that users could use them by specifying higher-level operations (e.g. 'print this string', instead of having to massage device registers).

Initially, computers on did one thing at a time, but the machines of that period (essentially all mainframes, in modern terminology) were so very expensive that it was crucial to keep them fully utulized at all times. Therefore, batch operating systems evolved, to handle a queue of 'jobs', so that the computer could proceed to the next one as soon as the prior one completed.

Operating systems then began to manage the the resources of the computer (CPU, main memory and disk storage). So, for example, operating systems provided file systems for users to store their data in.

(Which led to a Dave Clark aphorism that 'the function of an operating system is to provide multiple names for things in the system, so that it can busy itself keeping track of the relationships between the names' - as in this case, where block numbers and file names are involved.)

The 'batch' method of interacting with computers (one handed in one's 'job', waited for it to be run, and then got the output - if any! - back) was efficient for computers, but not for people. In the early 1960's, another method of interacting with computers, time-sharing, developed, in which a single computer could be shared among many users simultaneously, through the use of premptive multi-tasking.

This required the operating system to ensure that one user could not interfere with another user, so protection of users (and their data, stored on disk) from each other became another function of the operating system.

At about the same time, virtual memory (which allowed a user to perform large computations on computers with a limited amount of memory, without having to concern themselves with moving data back and forth from disk, to the limited amount of main memory actually available) appeared, and (once the hardware could do it), managing virtual memory became another standard OS responsibility.

As computers became cheaper, with the development of minicomputers, it became feasible to have computers interact with other equipment, in order to record data, or control things. This lead to the development of real-time systems, which had their own needs.

The developmen of personal computers recapitulated almost this entire development sequence; early PC OS'd provided only distance from the details of the hardware, but multi-tasking soon followed, and then virtual memory.

Current OS's

Operating systems range from the simple CP/M to the complex Windows NT; among the most common ones now are UNIX, and its descendant, Linux.