Welcome along to the Ultimate Linux Newbie Guide! In this chapter we cover the essentials including: What an Operating System is, What UNIX is and how Linux differs from UNIX.
Linux, By Definition:
Linux (/ˈlɪnəks/ (listen) LIN-əks) is a family of free and open-source software operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).-Wikipedia
The above definition is probably not going to help you much if you don’t know what an Operating system is, and what this UNIX thing is, so let’s start at the first major point: What is an Operating system? I promise I won’t make it boring!A
What’s An Operating System?
Imagine you have a brand new computer. Imagine that nobody had put a disk of any kind into it, ever. That would mean that there was no software installed on the system. If you switched the computer on; It would beep a few times and then tell you that it couldn’t start an operating system. The most important software to a computer is one thing: — the Operating System.
Without an Operating system, you couldn’t surf the web, you couldn’t play music, you couldn’t write letters. You can’t do anything.
Some of you will have heard of famous operating systems already but may not fully appreciate it. For example, Microsoft make a well known operating system called Windows, Apple make two that you may know: MacOS (on most Macintosh computers) and iOS (on iPhones and iPads). An operating system is the software that sits between you, the user, and the hardware inside the computer. If you click the mouse on an icon on your screen, the operating system interprets that you want to load the program that you are clicking on. For all of this to happen, The Operating system (some times referred to as the OS or O/S) must know how to use a screen (to show you what’s going on), to use a mouse (so you can move it around and click with it), to use your hard disk drive (to load up the data from it). It must also need to know pretty much everything else about the hardware installed inside your computer, ie: RAM (Computer Memory), Hard disks/USB/CD drives, keyboards, joysticks, sound controllers, graphics controllers, printers, scanners, etc.
So when you start typing a letter, for example, you have already loaded up a word processing piece of software. This software is called application software and is running ‘on top’ of the Operating System, but nonetheless, all of the time whilst the word processor application is running, it talks constantly to the O/S for vital information.
Okay, we’ve established that an O/S is necessary, but what else does an O/S do: Probably the most basic and yet essential tasks of an operating system is the job of managing our files and data. A basic O/S should be able to do the following with files and folders:
- Create them
- Move them to other directories (otherwise known as folders)
- Rename them
- Copy them
- Delete/remove them
- Send and receive files to/from other devices such as Printers/Scanners and your Internet connection.
- …and a bit more.
Now you have the idea of what an Operating system is, let’s find out about a specific type of operating system called UNIX, the grandfather of Linux…
What is UNIX? (And a little bit of history)
The UNIX operating system began life in 1969, in Bell Labs, a division of the American telephone firm, AT&T. There are now many different types of UNIX, making it one of the longest running commercial operating systems available, way longer than Microsoft Windows or Apple MacOS.
UNIX History Timeline
Linux is just one type of UNIX which is most famously known for being an open source, free (as in free speech, not always cost), derivative of UNIX. Most of UNIX’s different flavours are still being updated and are still in use all over the world today. Most of the successful ones are based on the AT&T System V (system five) release, which set a standard for UNIX back in 1983. Here are just some popular manufacturers and brands of UNIX, that you may or may not have heard of before:
Developed from 1993, by Sun Microsystems (acquired by Oracle), Solaris was a leader in the commercial UNIX world until the prevalence of open source software & Linux. Solaris still exists today, but Oracle seem less interested in the future of Solaris, and so many organisations have, or are in the process of moving to Linux.
HP’s implementation of the UNIX standard System V, called HP-UX was released in 1984 and is still being used today in many enterprise environments.
Which band of big names wouldn’t be complete without big blue? Interestingly enough the recent logo of AIX is now green…. Anyway, IBM released their take on Enterprise Unix in 1986, dedicated for it’s own IBM hardware, so that they didn’t miss out on all of this UNIX malarkey.
Berkley University: NetBSD and FreeBSD. Berkely Systems Distribution (or BSD) is the closest match to Linux in terms of a direct relationship. Apple macOS and iOS is even built on a modified BSD core (kernel) called Mach. FreeBSD is a fork of BSD which is cost zero.
With the exception of FreeBSD, there was (and still is) a pretty grand fee to own one of the above versions of UNIX. Mainly large commercial organisations and universities have traditionally used these UNIX variants, however Linux appears to be replacing traditional UNIX on a lot of corporate systems due to it’s proven track record, it’s growing reputation as a contender to UNIX, and it’s low price tag, which can often be free.
UNIX is good because it is a true multi-tasking, multi-user operating system. This means that it can do more than one thing at a time (for example, have a word processor and a music player open and working at the same time) and it can provide all it’s services to lots of users at the same time. Modern day workplaces rely on servers to provide a central resource of information and connectivity to users. UNIX was also the platform that many firsts came on: The Internet, the C programming language which is the basis for most modern computer programming languages. These were all firsts that took the other operating systems like Windows and Mac OS a long time to catch up to.
So, Unix is pretty clever, huh? Well, yes. It is, but Unix was also traditionally a pretty boring system that involved learning lots of commands that were tedious to learn.
Why don’t we all use UNIX today if it’s so good?
In 1981, a small company based in Seattle called Microsoft released an operating system. Through chance (Digital Research were supposed to get the contract), IBM took them on to provide an operating system on their new home/small office based computer. This was the IBM PC (or Personal Computer). This operating system was also not graphical. It required commands, in a similar format to UNIX or CP/M, but they were less powerful. The main pitfall of MS-DOS – (Microsoft’s PC Operating System) was, that it had no multi-user, multi-tasking or networking support as standard. By the early 1990’s, this was really starting to wear on PC users. UNIX still had far more power than most operating systems of the time, it was just way too expensive, and legal issues between UNIX vendors licensing UNIX was causing headaches and therefore did not have much exposure outside of large organisations, educational establishments and government offices. It made a lot of sense for most small and medium sized businesses to continue using MS-DOS (and later Windows), it ran the software most people needed, even if it wasn’t delivering the benefits that we all would later take for granted.
During the 80’s, Apple had released another computer, which was separate from the PC, and did not run any PC software, because it relied on it’s own O/S, named MacOS. This time, Apple had decided to make an operating system that was graphical, and later, incorporated colour, pictures, icons and even sounds! Instead of typing everything into the keyboard as commands, the same actions could be made as clicks and movements with a mouse. As with all things Apple, this was revolutionary at the time and changed the face of the world of computing, but still, they hadn’t really grasped UNIX’s multi-tasking, multi-user, networked benefits.
At around the same time, the UNIX world got it’s graphical operating system which began creating a graphical front-end to it’s command-line world, it was called X, or ‘The X Window System’.
In 1990, Microsoft eventually released Windows 3.0 (versions 1 and 2 did not sell well). Windows at the time was a 16-bit, single-tasking, single user, graphical interface built on-top of MS-DOS. UNIX still prevailed: it was multi-user, multi-tasking and it worked on 32 or 64-bit platforms.
It took until 1995, with the advent of Microsoft Windows 95 for Windows to finally go 32 bit, multi tasking. It was also sort-of capable of being multi-user, however it was not best suited: Windows NT came along shortly after, to do that job.
How does Linux differ from UNIX?
During the time from 1991 to 1995, many computing or engineering students were accustomed to the power of UNIX and X, at university. Many students had wonderful new things like E-Mail, the web and more. At home, they would have to make do with their 16 bit computers, waiting for all these powers to come to their homes one day. A lot of them felt like all this good stuff was being reserved for the computers at Uni. They had to make do with MS-DOS or Windows 3.1. UNIX was a big, expensive beast.
Enter: Linus Torvalds
Linus was, in 1991, a student in Finland studying Computer programming at The University of Helsinki. Linus used UNIX at University on a daily basis. He got bored of his 386 PC running MS-DOS, and decided to start his own UNIX kernel. A kernel is the name for the program at the heart of every operating system that talks to the hardware directly. He wanted to distribute the kernel software freely, because it was a hobby, not a commercial product. He also wanted to see what others thought of his work so he decided to publish it for free on the Internet. He finished the first Linux kernel in late 1991. In quite a short space of time he had made a 32 bit kernel, in which programs could be run. At that point he had a kernel, but he didn’t really have any useful software to run on it.
Here is Linus’ very first post to the Internet in 1991, about the creation of what would become Linux:
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since April, and is starting to get ready.
The Free Software Foundation and the GPL
Over in the USA, a fellow by the name of Richard Stallman had created a team (of programmers) devoted to free software. Richard called this the “Free Software Foundation“. The goal of his organisation was to make software free to distribute, and free to obtain the source code along with it so that others could make improvements to the software through the Internet. The FSF created a bunch of tools that mirrored the functionality of their commercial, proprietary UNIX counterparts. These tools were called the GNU tools. GNU stands for ‘GNU’s Not Unix’. Don’t ask!
The Free Software Foundation needed a license for the software that they (and anyone else) could use it. The license was based on the principles of CopyLeft. It was released as the GNU GPL (General Public License). The GPL is now at version 3, but at the heart of it, the license still has the same pretenses: That any authors of the software using the GPL could charge for the software, as long as they are willing for it to be freely distributed. By creating community-based software, that has open standards and is subject to peer review, the quality of the software would be good. Richard Stallman may be an eccentric hippie, but he gave birth to the whole wonderful world of open source, from as far back as 1984.
Stallman had been busy making a whole suite of software, for example: a text editor called emacs, and bash (the Bourne Again Shell) which is a command line interface based upon the original Bourne Shell that comes with the BSD variant of UNIX. The FSF’s software was entirely based upon the UNIX software suite, and generally improved on it. In 1991, the only thing that the FSF were missing to make it a fully fledged operating system was The Kernel (the brains of the operating system).
Linus managed to ensure that his kernel would work with the GNU’s apps. Once Linus made the combination of the GNU UNIX applications, the code compiler (gcc) and a working kernel, Linus had something that worked! Linus decided to call his creation Linux.
Linux is pronounced ‘Lih-nucks’ not ‘Ly-nucks’. Here’s Linus Torvals pronouncing it!
Now, over twenty five years on from the original post on the Internet, Linus is still working on Linux, but it’s now an effort which is collaboratively worked upon by millions of other individuals, corporations and organisations around the world. You probably don’t know it, but Linux is everywhere today. It’s on your Android mobile phone, in your TV and nine out of ten websites run Linux on their servers (think Google, Amazon and Facebook to name but a few), Linux might even be in your new dishwasher or fridge-freezer!
Now, visit Chapter Two to see why using Linux instead of Microsoft Windows or MacOS may be the best thing you ever did with your computer!