LinuxFu #01: What Is Linux? // Technology


.ctx.Page.Params.thumbnail:images/LiFu01.jpg

YouTube video: 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”.

He had based it loosely on another O/S called Minix and at that stage he thought that “it probably never will support anything other than AT-harddisks, as that's all I have”.

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.

These days Linux runs on everything:

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.

However, the caveat is that knowledge builds on top of previous knowledge. So rest assured, that steep learning curve at the start flattens off over time.

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:

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.

There has always been arguments over which parts of the operating system should be in the kernel and which parts in user space, but these main functions remain.

The next episode in the series we'll be looking at the booting process, shell basics and filesystem structure.


Related

Mick Hellstrom avatar
About Mick Hellstrom
Hacker. Maker. YouTuber.

MickMake forums