A Brief History of Operating Systems
This is a look at a history of the development of operating systems, from the earliest computers to the present day. Various points of reference will be made as I recall significant things about whatever time period or operating system we are up to. But first, we need to define what operating systems are.
The way I define an operating system is:
A piece of software which manages the physical components of a computer, also providing libraries and frameworks for other software to be executed on that computer.
That’s all there is to an operating system. Others may agree or disagree, but I think this sums it up well. It’s just another piece of software which you can install and run. While it could do damage to the physical hardware, it’s extremely rare nowadays. But that definition relies on knowing what a computer is. So let’s have a quick look at what makes a computer a computer. You need:
– Input and output mechanisms (keyboard, mouse, screen, network etc)
– Persistent storage (storage that is retained in the event of system shutdown or power loss – hard drives, tape, etc)
– Volatile memory (storage that is lost at system shutdown or power loss eg RAM)
This is, again, a ridiculously simplified look at what makes a computer, but if you remove any one component, it can’t function as a computer. At the opposite end of the scale, this means a huge amount of devices become “computers”, such as watches, televisions and fridges.
The Process of Processing Processes
When you turn on your computer, it goes through something called POST – Power On System Test. This is a series of tests to ensure all components of your computer are present and functioning. This test is handled by the BIOS – Basic Input Output System – stored on either a ROM chip (if you’re old-school like me) or flash memory (to allow easier upgrading).
Once the POST is complete, the BIOS hands control over to the operating system by means of a bootloader. It directs the operating system to the Master Boot Record (MBR) on the hard drive, which holds the information for actually starting the operating system (which executable to run and when).
The operating system then takes its own stock of the system, recognising hardware (keyboard, network cards, monitor etc) and running the appropriate software (“drivers”) to make them work. Once it has the hardware sorted out, it runs various programs to present the interface – for example, an authentication program to permit users to log into the computer system.
So now we can define computers and operating systems, and we know how it does their things, when did the two first meet? It would be that hotbed of early computing, Manchester in England. The system credited with having the first modern operating system was the Atlas, commissioned in 1962. The reason why this is because the Atlas was the first system to make use of persistent storage for the purpose of storing software commands for hardware functions. This tied all four hardware components of a computer together through the use of software.
Early Operating System Milestones
Some important events in the history of operating systems are:
1962: Aforementioned Atlas computer
1964: Berkeley Timesharing System and Dartmouth Time Sharing System
– not really stand-alone OSes, but hugely important software that allowed the processor to switch between two processes at high speed. This revolutionised multi-user systems
1969: Development of UNIX began, released in 1970
– Hugely influential operating system, with direct affects still felt today
1975: CP/M released
– Introduced referring to hard drives as letters (“C:” etc) and the “8.3 format” file naming system. Inspiration for 86-DOS
1978: Apple DOS released for the Apple II
– First OS released by Apple
1980: 86-DOS released
– Later purchased by Microsoft and branded as MS-DOS in 1981
1984: Mac OS (System 1) released, along with the iconic Apple Macintosh
1985: Microsoft Windows 1.0 released
– Basically a giant application running on the underlying MS-DOS 3.0
1987: OS/2 released by IBM
– Originally developed in conjunction with Microsoft. The partnership would split, and Microsoft would take their share and build the NT line of OS’es
– UNIX-based OS developed by NeXT, purchased by Apple and developed into MacOS product line. Also the basis for Tim Berners-Lee to develop what became the world-wide web.
Microsoft Takes Over The World
In 1990, Microsoft released Windows 3.0, which really took off and supplanted Microsoft as the desktop of choice for most of the world. Beyond that point:
1991: Initial release of the Linux kernel, central to the Linux operating system
1991: Apple’s veritable System 7 OS released
1992: Yggdrasil Linux (also known as LGX), the first distribution of a Linux OS, released
1992: 386BSD released
– Source material for other *BSD OSes
1993: Microsoft Windows NT 3.1 released (first of the NT product line publicly available)
1995: Microsoft Windows 95 released
1996: PalmOS release on the Palm Pilot 1000 and Palm Pilot 5000
1999: Mas OS 9 released – last of the pre-NeXTSTEP OS’es released by Apple
2000: Microsoft Windows 2000 and Windows ME released. The last of the true 9x and NT separate OS’es.
2001: Apple Mac OS X Cheetah released
2001: Microsoft’s Windows XP released
– This OS was designed to start merging the 9x line and the NT line of Microsoft OS’es.
2007: Apple iPhone OS 1 debuts on the iPhone
2008: Android released
– Based off the Linux kernel
That turned out to be more comprehensive than I anticipated, however this is certainly not a comprehensive list. I’m planning on doing more in-depth posts on each of Microsoft, Apple and the whole UNIX/Linux/open source environment, as they deserve their own posts.