Author: Carlo Denza
Original Publication Date: 12/12/2020
Translator: Tara Lie
This article discusses the history of the Unix operating system (OS), a miracle of modern technology. This OS is used across the world, and is so versatile that it can be used on any type of device or electronic calculator.
The first release of Unix was implemented in the distant year of 1969, where one of its capabilities was to be able to run a video game called “Space Travel”.
The game was a simulation of the movements of the Sun and planets, with a spaceship that could land on these places. The researcher behind this was the great Ken Thompson, an American computer scientist who received the Turing prize together with another scientist and colleague (and longtime friend) Dennis Ritchie – the inventor of the C language.
Today Unix is a culture on the global scale, and like every true culture, has associated ideas, tools and customs. Not being just a simple operating system, but almost a philosophy, it is not possible to have complete mastery of Unix. To say it plainly, an individual cannot know absolutely everything about this wonderful and complex operating system.
The Unix universe that we will analyse in this article offers us a number of incredible tools with which it is possible to create, modify and manipulate information. We can play, write programs, create documents and more. All that is required is to recognise, understand, and know how to use Unix.
Guess which software platform was implemented in the latest Sony console, the PS5? The OS that runs the PS5 is Orbis OS. a modified version of FreeBSD 9.0. FreeBSD is in fact a free version of BSD Unix. What about Raspbian, the famous OS of the Raspberry Pi? It is derived from the Debian distribution which is also based on the FreeBSD kernel. Even the servers behind Whatsapp are FreeBSD.
Having understood the versatility and the power of this operating system, let’s delve into this wonderful universe.
The History of the UNIX operating system
Towards the end of the 1960s, three (3) US entities were tasked to create an advanced operating system called Multics. The three organisations were MIT (Massachusetts Institute of Technology), AT&T Bell Labs, and the computer manufacturer General Electric (GE). Multics was the pseudo-acronym for Multiplexed Information and Computing system. It was developed to be the interactive operating system for the Mainframe GE 645s.
One of the objectives for Multics was to provide more functionality to a number of users simultaneously, as well as to provide information sharing, while offering some robustness in data security. The project went through various challenges, so much so that for various reasons Bell Labs decided to abandon it.
Ken Thompson, one of the Bell Labs researchers involved in the Multics projects, wrote a video game called Space Travel for the GE mainframe, however running the game made the machine slow and jerky. Additionally, after Bell Labs abandoned the project, he was no longer able to improve it. It was then decided that with the help of Dennis Ritchie, it would be re-written from scratch in such a way that it could be run on a different machine: the DEC PDP-7 computer.
This new experience and collaboration gave birth to the development of a new operating system that used a file system structure designed and created by Thompson himself, together with Ritchie and with the help of Rudd Canaday. Thompson and colleagues created a multitasking operating system that included: a file system, command interpreter, and utilities for the PDP-7. Given that the new multitasking OS for the PDP-7 was originally intended for only one user at a time (and moreover each part of the system was designed to best perform a single task) the newborn OS was baptised UNICS (where Uni stands for One). This acronym (Uniplexed Information and Computing System) was later changed slightly to Unix, around the 1970s.
In 1973 Ritchie and Thompson rewrote the Unix kernel in C language. Writing in C language brought enormous advantages, among which, being able to simplify maintenance and make it portable – having the ability to run on other machines. This was unlike most of the other systems for small machines of the time , which were essentially written in assembly language and did not have these advantages.
Ken Thompson and Dennis Ritchie at the keyboard of the PDP-11
What is an operating system?
Before progressing further into the Unix universe, we should first ask and understand “What is an Operating System?”. An operating system (OS) is software, that is, a complex control program whose purpose is to make the use and management of the hardware efficient.
To this end, an OS acts as the primary interface with the hardware. When we type a command to display the file names, the OS will look for the names and display them to us. When we save a file on our computer, the operating system takes on that task. Whatever we do with a computer, the OS is always there, waiting to serve us and better manage the hardware and software resources of the computer.
Unix and its family of systems
Since the first, primordial Unix developed in 1969 by a single programmer, many other people have contributed to the transformation of Unix into a family of state-of-the-art operating systems that exists today.
For many years Bell Labs remained one of the most important centres of Unix development. However, after the birth of large organisations and a series of sales and corporate acquisitions, we currently use the word “Unix” or “unix-like” to describe any operating system that satisfies a specific set of standards..
The more modern descendant, and surely the most famous version of Unix, is the AT&T System V version 4. Another important Unix system comes from the Californian university Berkeley. Initially the Berkeley Unix system was based on that of AT&T, however the newer and more recent versions were developed to be as independent as possible from System V. The official name of Berkeley’s Unix is BSD – Berkeley Software Distribution
The most recent version at the time that this article was written is the FreeBSD 13 (STABLE) which is free to download from https://www.freebsd.org/.
Evolution of Unix systems starting from Ken Thompson’s Unix
The Characteristics and Architecture of Unix
Unix is an operating system designed with the following characteristics: portability, multi-tasking, multi-user, and time sharing. It consists of a kernel, which is the core of the OS and the gateway to the hardware. Kernel services are accessed only through special functions called system calls.
The OS provides a series of common function libraries for programming, and applications can use both these libraries and system calls. The shell (the command interpreter) is an application that allows you to run the other applications.
Programs that make up UNIX.
The following topics will be discussed in the second part of this article with major technical details:
- Access to a Unix system
- The Unix file system
- Description of the directories