1.2. History of Operating Systems¶
Earliest computers had no Operating System
- Applications loaded manually
- Users were experts on the hardware
First System Software was libraries of code to manage devices.
This grew to batch processing systems, where some focused on application programming and some on systems programming.
1.2.1. Batch Processing¶
A typical computer in the 1960s and 70s was a large machine. Its processing was managed by a human operator. The operator would organize various jobs from multiple users into batches.
1.2.2. Timesharing¶
A timesharing system allows multiple users to interact with a computer at the same time
Multiprogramming allowed multiple processes to be active at once, which gave rise to the ability for programmers to interact with the computer system directly, while still sharing its resources
In a timesharing system, each user has his or her own virtual machine, in which all system resources are (in effect) available for use
1.3. Current Operating Systems Research Topics¶
-
Symmetric multiprocessing
Allows for several CPUs to process multiple jobs at the same time. CPUs are independent of one another, but each has access to the operating system.
-
Asymmetric multiprocessing
Some operating systems functions are assigned to subordinate processors, which take their instructions from the main CPU.
-
distributed processing
Processors are placed at remote locations and are connected to each other via telecom devices. Different from symmetric multiprocessing systems as they do not share memory. Computations can be dispersed among several processors.