LinuxFu #01: What Is Linux? // Technology
This is the first video in the LinuxFu series designed to take you from knowing nothing about Linux to knowing everything. This first episode we’ll be looking at a bit of history, what Linux is and what makes it so special.
The Who & Where - A bit of history
You could say, Linux all started with a post made by Linus Torvalds to the comp.os.minix UseNet group on the 25th August 1991. He said he was working on a free operating system that was “just a hobby” and “won’t be big and professional like gnu”.
By September that year he was uploading regular updates to the Helsinki University ftp servers.
By 1992 Linux finally had a GUI based on the X Window System and Linus changed the kernel licensing from “non commercial use” to the GPL version 2.
This same year saw the first of many fairly interesting debates, this one between Minix creator, Andrew Tanenbaum, and Linus over whether a monolithic or micro kernel was better, with Tanenbaum stating that “Linux is obsolete”.
By 1993 Linux distributions started to appear like; Slackware and Debian.
In 1996 Linus was bitten by a penguin at a zoo and consequently the penguin became the very familiar mascot.
By around mid 1998 tech giants started to announce support for Linux with IBM providing software patches.
The following year RedHat was born as a public company.
2002 saw the start of a very long running debate between Linus and GNU founder, Richard Stallman, over the fact that Linux contains “binary blobs” and therefore violates the GPL.
In 2003 IBM ran the first Linux advertisement during a superbowl, and that same year there was the famous legal battle between IBM, Linux and the SCO Group, (who claimed they held the copyright to UNIX). Then there were counter sues between Novell and SCO. It was a real mess that lasted for years.
By 2004 there was so much riding on Linux that new versions were being released every 3 months.
In 2006 the GPL/GNU Linux heated debate was still running with the Linux Journal stating the reason for this being “Linus got the glory for what Stallman wanted to do”. Even Tannenbaum joined in on the discussions. That same year companies such as Microsoft and Novell started to consider Linux as “competition”,
and by 2007 the Linux Foundation was created in response to that.
By 2010 Android, which runs the Linux kernel, was the most popular smartphone platform.
from dishwashers, routers, printers, to SBCs and small embedded systems like the Raspberry Pi or Omega2, to notebooks and desktops, to servers, to large datacentres and geo-clustered applications.
People are hacking Linux to run on SD cards, that actually runs on the SD card, not just storing the filesystem and even hard disk hardware.
It is one of the most ubiquitious Operating Systems on the planet second only to spiders.
But, why Linux?
Why is Linux so good? There are several reasons for this.
- Well, it’s free, as in beer,
- and since it’s free, it’s very portable to any hardware.
- It’s scalable, from small devices to planet-wide clusters.
- Linux gives you many different ways of achieving the same thing,
- and it’s free. Did I say free already?
What are the downsides?
Well, there is a steep learning curve and this is one of the reasons why most people don’t like it.
What makes Linux, Linux?
One thing is for sure and that is; Linux is a “look alike” of the UNIX Operating System. You can’t say it is a “variant”. Even though it has a very strong resemblance to UNIX the SCO case effectively redefined it as “similar”.
There are many many variants, or distributions, of Linux, but apart from a few differences they all essentially work the same.
These days you have two main variants which are defined by the package management system used:
- dpkg - which is used by distributions such as Debian, Ubuntu and Raspbian.
- RPM - which is used primarily by RedHat, but also by Fedora, OpenSUSE and CentOS.
For embedded systems dpkg has become the most popular. Actually it has become popular on desktops as well. Whereas servers within datacentres tend to use RedHat.
Every distribution has it’s pros and cons and like religion and politics; has sparked numerous arguments over which is better.
But, what makes an O/S a “Linux” O/S?
Fundamentally, the kernel used. If you’re using the Linux kernel, then you can argue that you are running a Linux Operating System. You could argue Android is actually Linux.
With UNIX there are two main software components; the kernel and “user space”.
“user space”
is referred to any code not running as part of the kernel, which includes such things as your web browser, mail client or desktop.
The kernel
does everything else and is the most important part.
- It allows many processes to run at the same time - called pre-emptive multi-tasking.
- Manages memory and handles inter-process communications for processes.
- Handles devices.
- Manages storage,
- and provides processes with a system call API.
The next episode in the series we’ll be looking at the booting process, shell basics and filesystem structure.