LinuxFu #01: What Is Linux? // Technology

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.

If you like this YouTube channel please subscribe by clicking the in-video button, or the little red "Subscribe" button in your browser or app. You can also get updates by subscribing to me on Facebook, Twitter, Google+, Pinterest, and also Tumblr.