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 is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds.
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!
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
- 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. Here are just some popular manufacturers and brands of UNIX, that you may or may not have heard of before:
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.
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 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. In fact, today, Mac OS X is built on a version of UNIX: BSD.
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, which through chance (Digital Research were supposed to get the contract), were taken on by IBM to go on their new home/small office based computer: the IBM PC (or Personal Computer). This system was also not graphical. It required commands, in a similar format to UNIX or CP/M, but they were a little easier to use, at the cost of being simpler and 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.
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.
The UNIX world, still very different to the market of the PC and the Mac, not long after the mac got it’s graphical operating system, begun to create 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, and capable of being multi-user (although 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. In Uni, most students had wonderful new things like E-Mail, The Internet 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.
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 kernel, which is the name for the code at the heart of every operating system that talks to the hardware directly. He wanted to distribute the software freely, because it was a hobby, not a commercial product, and also to see what others thought of it. He finished the first Linux kernel in late 1991. Not only had he made a 32 bit kernel, in which programs could be run he made it do quite a lot to make it look and feel like Unix, but he didn’t have any 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.
Luckily, an ex-student in the USA, by the name of Richard Stallman had created a team of programmers devoted to free software, he called this the Free Software Foundation, who believed in making 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 GNU GPL (General Public License) that the Free Software Foundation made, also stated that the authors of the software 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. Although Stallman himself wasn’t interested in profiteering (he’s a bit of a hippy!), the opportunities for profit would come from different avenues such as support, consultancy and more recently, as extra functionality in ‘Pro’ versions which are paid for.
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 essentially 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 altered the code to work on his platform so that the FSF’s code would work with his new kernel, that he ended up calling Linux.
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 in your TV and media-centres, it’s the basis to that Android mobile phone you probably have, 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 a 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!