Let's talk Linux 101- kernel, terminal, and desktop

ยท

3 min read

I'm sure you are interested to learn about using Linux for one of the following reasons: you may be an aspiring kernel developer, system administrator, software developer, or someone who wants to build robots, home automation, or self-driving cars.

In any case, the goal of this blog is to give you an introduction to what Linux is and to let you know that Linux is for everybody.

"Linux is for everybody." - My Humble Self

Linux is the name given to operating systems that are built around the open-source Linux kernel, in addition to other common tools, such as the GNU coreutils or BusyBox.

The different operating systems that use the Linux kernel are called Linux Distributions or Linux Distros.

Linux Use Cases

Linux can be used for everything from running huge global networks to controlling electronic projects like a raspberry pi.

Linux can be your everyday desktop environment at home or school, your software development platform at work and it even runs some of the world's largest and most powerful supercomputers.

Software developers use Linux for their coding and programming work and an enormous amount of services we use on the web are hosted on Linux servers.

Many developers who work outside the kernel use Linux to create software for productivity like office suites, image editors, chat applications, and more.

The Kernel

While it is common to think of Linux as an operating system, it is more precise to understand Linux as the Kernel of an operating system.

All operating systems have a Kernel. The Linux Kernel is an open-source program.

It was first released by Linux Torvalds in 1991 and was created in response to restrictive licensing that burdens other operating systems at the time. The license that applies to the Linux kernel allows it to be used and distributed freely.

A kernel is a software that communicates with the computer hardware in other to give programs and therefore users access to these hardware resources.

The kernel is what allows us to use a computer but it is only part of a working operating system. We can think about it using three(3) levels.

  1. Hardware Level: At this level, we have the memory, CPU, storage, network card, and so on.

  2. Kernel Level: The kernel communicates with this hardware and presents a series of system calls - open(), write() , or close() to programs running in what is called the user space.

  3. User space: This is a metaphorical area outside of kernel space where the software running on the system operates.

Terminal and Desktop

There are two primary ways of using or interacting with a system that runs Linux. Through a Desktop environment or through a Text-based shell.

Some popular desktop env include GNOME Shell, Cinnamon, Mate, etc.

The console is a text-based interface where an interactive shell runs. Here commands are typed for the shell to run.

The shell is the software we interact with using text commands and text outputs. There are a number of different shells out there but the bash shell is the most common.

A shell can run inside of a terminal emulator in a GUI or in a text mode as a console.

Conclusion

What you intend to do with Linux will determine whether you intend to spend more time in a desktop environment or a terminal environment.

It is good to be familiar with the shell regardless of what you plan to use a Linux system for.

Hope this article gives you a good start in the Linux world.

Do well to like ๐Ÿ‘, share and subscribe ๐Ÿ˜‰ for more.

...stay tuned for more on Linux.

ย