Unix and Linux operating systems
- Unix and Linux are, loosely speaking, two families of operating systems (OSs) That's the software that sits between the computer hardware and the usual programs.
- If you've never hear of them, check the Wikipedia pages of Unix and Linux
- Unix is rather old (1969) and used to be proprietary software. Linux was born as a free (as in free speech) implementation of Unix for the Intel 80386, a popular processor used in IBM PC clones, that paved the way to their ubiquity.
- Historically, Unix is tied with the C programming language, in which it was written (the first time for an OS! back then OSs were written in assembly). Unix was also instrumental to the birth of Internet (and later of the www).
- Today, Unix and Linux are playing a huge role in the Internet infrastructure, mobile computing and High Performance Computing (HPC). Most of Internet's servers run on Unix or Linux, and the same is true for routers and firewalls, not to mention Android (another Linux-based OS) phones! Mac OS X is also a flavor of unix.
- Regarding HPC systems, the plot on the side that shows the share of top500 supercomputers by OS leaves no doubt that if you want to do computer simulations, you will have to deal with a variant of Linux.

Share of top500 computers by OS
The benefits of Unix/Linux include:
- A stable OS structure: You can use a Unix-like OS very much the same way people did in the late 1960s. Graphical interfaces on top have changed (as well as the implementation under the hoods) but the way to use a terminal (nowadays a virtual one) through a command shell as well as the basic system library functions (more on these topics later) have not changed. This means that it will be very likely that the software you write will be still usable in 40 years (and 40 years old software is still usable today) without many changes, if any at all, in most cases. Also, and very importantly, no-one strictly speaking owns Linux, and it will keep being around as long as users and developers will keep using it.
- Portability: The software you write/download can be used on a wide range of Unix-based machines, without (too much) hassle. This includes your laptop as well as multimillion pound computing clusters.
- Plenty of resources: The amount of freely accessible software, in particular free software where you have access to the source code (and can modify it to your needs) is simply staggering, and so are resources (forums, HOWTOs, online courses, code repositories for development). You can find almost anything you need to perform advanced computer simulations, analyse your data and present them.
- There are several OSs based on Linux or variants of Unix. But wait. We said that Unix and Linux are OSs! Well, the same name is used to describe several things. To be correct, Linux is an OS kernel, a piece of software that handles memory, decides when and which programs need to be given time to run on the CPU, and collects the drivers for your devices (hard disks, keyboard, mouse, ...).
- On top of the kernel, one needs software libraries that implement basic facilities (like opening, reading and writing files) that are device-independent. In this way you can open and write a file calling the same code, regardless whether this file is on a hard-drive, on a USB device, etc. This is the role of the GNU C library, or, glibc.
- GNU (the recurrent acronym GNU's Not Unix) is a collection of more than 300 software programs and libraries (including the glibc discussed above) that constitutes the core of a Linux based OS, also known as a Linux distribution.
There are several ways to try out a linux distribution. The next page will deal with this.

Left: schematics of an OS layer structure; Center: Tux, the Linux mascotte; Right: the GNU logo. Do not let the peaceful, good-natured look of Tux trick you into thinking that Linux is a toy OS.