We covered a (slightly rambling) story about the history of operating systems.
Batch systems were extraordinarily large and expensive, so that organizations could afford at most one or two. The machines had a human operator who was responsible for scheduling tasks for the machine, in order to make best use of its (very valuable) time.
TODO: scheduling and calculating turn-around time using First-Come First-Served (FCFS) vs. Shortest Job First. (See book section 10.4, pages 350–351.)
When mini-computers became available (just the size of a refrigerator, not a whole room), then we could have one for each workgroup or department within an organization. They were powerful enough that multiple users could share the computer at the same time, by connecting multiple terminals (keyboard and monitor) to the same machine.
The job of the human operator was now automated, and this was the golden age of operating systems. Not only did they have to schedule tasks effectively, but they had to switch efficiently among serving different users, protect those users from interfering with each other’s work, and so on.
Some of the operating systems developed in this era were Multics, VMS, and UNIX.
In the 80s, computers became even smaller and cheaper – now everyone could have their own! These systems were, at first, under-powered compared to the mini computers, so they weren’t capable of running a time-sharing OS. On the other hand, since the computer was personal and not connected to anything, there didn’t seem to be a need to protect users from one another.
The extremely simplified operating systems of this era were the original MacOS and MS-DOS, which later grew an interface called Windows.
Then, in the 90s, we started to network these increasingly powerful PCs with their simplified operating systems. It was, in short, a disaster. Because the OS didn’t have any serious protection mechanisms, malware was everywhere and systems were unreliable.
So to increase reliability and security in a networked environment, we reached back to the OS innovations of the 70s. The personal computers had now become powerful enough to run a time-sharing OS. Windows NT took a lot of design ideas (and designers themselves) from VMS. And Mac OS X took the basic design of UNIX (via Apple’s purchase of NeXT Computer which came with the NeXTSTEP OS as well as Steve Jobs). This era also saw the rise of GNU/Linux, which is a free implementation of UNIX developed by Richard Stallman, Linus Torvalds, and hundreds of volunteers around the world.