The evolution of the Operating Systems

(To Francesco Rugolo)

The computer as we know it, that is a small and relatively inexpensive device, capable of performing numerous computing functions in a very short time, is a very recent invention and has reached its popularity and diffusion only in recent decades.

I believe that a historical overview is due, in this article we will certainly talk about computers but more specifically about Operating systems (OS).

Il Operating system is the software that allows the various hardware and software components of the computer to interact correctly with each other, allowing you to perform operations simultaneously1.

In the mid-40s and 50s the large computational machines were in fact without an operating system, they were massive machines whose operation was still based on vacuum tubes also called thermionic valves, they were put into operation only when it was inserted the perforated or magnetic card that started the program and reset after each use.

It wasn't until the 60s that, with the invention of the transistor, there was a revolution in computers and the first operating systems appeared on the market, programmed specifically for the machine (often IBM-branded) and for the task for which it was purchased. Operating systems in this era were mainly developed by the same companies that used the machinery and not by the manufacturer. The first OS was in fact developed by General Motors for an IBM 704 machine (opening photo) they used called GM-NAA I / O and its task was simply to run a new program immediately after the completion of the previous one.

Towards the 70s we saw the birth of the "minicomputer" and the "microcomputer", and in parallel of numerous operating systems, these machines were used by various companies and universities and only by a few enthusiasts as the costs and the difficulty of maintenance of the latter were not within the reach of the general public. Many of these machines were based on the Unix operating system, initially developed by the American company AT&T.

Only in the eighties did those that we can define appear on the market Home Computer, with Microsoft and Apple leading this digital revolution.

The first operating systems for personal computers were not particularly easy to use, in fact they were rather cryptic and lacking a real graphic interface, it was in 1984 that the first Mac OS was launched on the market, the first operating system for personal computers equipped with a graphical interface.

A few years earlier, however, in 1981, the birth of MS-DOS (Microsoft Disk Operating System) laid the foundations of most of the operating systems that will be used in the following decades by numerous machines, followed four years later by the first operating system to graphical interface developed by Microsoft itself, we are talking about Windows 1.0 even if you will have to wait until version 3.0 to see the Windows platform gain great popularity on the market.

In the early nineties, when Windows and Apple proprietary software were already dominant in the market, a new concept of OS appeared. Thanks to the creation of the Linux kernel by the young Finnish student Linus Torvalds, we saw the spread of the GNU operating system (GNU's Not Unix) combined with the Linux kernel, distributed as free software. In the last three decades, numerous Linux distributions have emerged, created mainly by user groups interested in the project and all distributed under the free software license. Among the most famous Linux Red Hat, Debian, Gentoo etc.

From all these software various successive versions were derived in the following years and in the 2000s operating systems for mobile phones and tablets such as Symbian, Android, iOS, Windows Phone etc. were seen on the market.

The great majority of the operating systems mentioned above are derived from Unix, the operating system born in the year 1969 in the Bell laboratories, owned by the American telecommunications company AT&T, the same laboratories that saw the discovery of the transistor, the programming language C and numerous discoveries in the field of telecommunications and space.

Unix software quickly became used by AT&T and was distributed to numerous universities who worked on the source code to adapt the OS to their needs.

When AT&T split into several smaller companies, the Unix operating system ceased to be "free" software, resulting in the creation of GNU by Richard Stallman in 1983 (photo). GNU is an OS based heavily on the Unix architecture, but rewritten to contain only free software.

Unix is ​​also the basis of Apple's proprietary software macOS and partially also of Microsoft Windows as for a long time the company acquired software licenses from AT&T, including Android, one of the most used OS for mobile. Unix-Like as it is based on the Linux kernel, derived from Unix itself.

All these operating systems therefore share a common base, and then have developed according to their different needs and many have been designed for specific uses such as the management of computer networks, the so-called Server Operating Systems such as Microsoft Server and RHEL.

For the more "brave" users who want to try a curious and certainly unconventional operating system I could not fail to mention TempleOS.

Designed by Terrence Andrew Davis from 2003 until his death 15 years later, it composes itself as a monolithic type operating system, with similarities to the Commodore 64 OS.

The conception of this OS is certainly interesting as Davis, who had been suffering from schizophrenia for years, said he was in direct contact with God, who, just like a prophet, dictated to Davis how to build his "Third Temple" as that of Solomon in Jerusalem. Among these indications, for example, there was the desire to admit only a resolution of 640x480 or graphics with only 16 colors.

Now it's not up to us to decide if TempleOS was really adapted to God's will, but we can try it out for fun and poke around its various quirks.

1 An integrated collection of service routines for supervising the sequencing of programs by a computer. An operating system may perform the functions of input / output control, resource scheduling, and data management. It provides application programs with the fundamental commands for controlling the computer. Source: NIST SP 800-82 Rev. 2 from The Automation, Systems, and Instrumentation Dictionary.

Photo: web / Sam Williams