In my previous post, I talked about computer hardware as the lowest level of computing. Moving upwards through the technology stack, it is hard to imagine a modern computer or a computing device without an Operating System (OS) that manages its hardware and software. But it wasn’t always like that…
Early computers did not have operating systems. The first real OS was GM-NAA I/O, developed in 1956 by General Motors’ Research division for its IBM 704 computer. In the 1960s, IBM was the first computer manufacturer to take on the task of developing operating systems for their 360 series of machines. Later, MIT, Bell Labs, and General Electric started to develop Multics, a time-sharing OS for the GE-645 mainframe. This project has failed, but spinned-off a new smaller project for a single-tasking OS called Uniplexed Information and Computing Service, or simply Unics. The spelling has eventually changed to the more familiar Unix. Unix became popular in academic circles in the late 1970s and early 1980s, and was quickly adopted by the industry. Leading manufacturers like IBM, Sun Microsystems and HP developed variations of Unix for their server machines.
In 1974 the first commercially successful Personal Computer (PC) OS was released. Unlike previous operating systems, CP/M allowed all Intel and compatible microprocessor-based computers from other manufacturers to run it on any new hardware.
In the 1980’s as personal computers started to gain popularity, Microsoft developed MS-DOS for the IBM PC. It was the first widely available OS for home users. Few years later, Apple developed Mac OS, a UNIX-like OS for the Macintosh home PC. This was the first OS with a built-in Graphical User Interface (GUI). Microsoft soon adopted a similar approach when Windows was introduced, first as a desktop app on top of MS-DOS and later (since Windows 95) as a full OS that became dominant in the PC market. In 1991, Linus Torvalds developed Linux as a free, open-source Unix variant. As the Internet emerged, Linux became popular among Web servers and quickly replaced Unix as the leading OS for most servers. On the other end it was used for embedded systems and mobile devices, especially those that are running Android, which is based on the Linux kernel.
This article describes the basics of operating systems, their functionality and building blocks.