read.cash Log in
@valo

The Linux operating system - structure, graphics and distributions This is my third article in the series about Linux. I already presented shortly the history, mentioned what are the interfaces, and why we use a "window where you can type". Now it's time to discuss the structure of the OS and then Linux distributions (also known as distros). This ended up being too long an article, so I decided to split it in two. The installation tutorial will come in the next article. The kernel The core part of the Linux operating system is the kernel. It is modular in the sense that there are various tools and utilities that can be put into use. The kernel is what Linus Torvalds developed. It runs the bash shell and comes with the GCC compiler (GNU complier for the C programming language). The kernel runs the system processes, i.e., it tells the hardware what to do. It handles, for example, disk reading and writing, memory allocation and mapping, CPU scheduling, networking, interaction with peripheral devices such as a keyboard, a mouse and a USB stick.

Graphical user interface The user can interact directly with the graphical shell instead of typing commands. The set of windows, menus, buttons, mouse pointers, etc, comprises the desktop environment. There are multiple commonly available ones, such as GNOME, KDE, Unity, MATE and Cinnamon. They come with different options when it comes to customisation and usability. In between the kernel and the actual graphical interface the user interacts with lies the display server. Therefore, it also handles the output to the monitor. The programs that can summon a window communicate with the display server, thus they are called display clients. Still, the Linux community unequivocally agrees that one can harness the full power of the OS only by using the command-line interface

Linux distributions There are hundreds of different Linux distributions, i.e., varieties of the operating system offering different tools and libraries. Libraries are sets of computer code used by various programs. It makes programming easier since ideally there are ready-made, well-tested functions. Having said that, there myriad of distributions are derived from several "base" distributions: Debian, Red Hat Enterprise Linux, Arch Linux, BSD, Gentoo, SuSe and others. Among the most popular distributions for desktop users are Ubuntu and Linux Mint. Both are derived from Debian (which itself is also a distribution, apparently). The other major set of distributions are based on the Red Hat project. These include Fedora and CentOS. Choosing a distribution is a matter of comparing ease of use, package and library availability, and security among others. In the end, it's not so critical, and personal taste is also a factor. For example, when it comes to stability, I would go for CentOS, yet it tends to trail far behind others when it comes to package updates. That correlates with stability, of course. Old means tested for a longer time. However, at some stage software depends on libraries that are simply unavailable, and one is forced to either not use them (not so fun) or choose a different OS.

Further reading [1] The Linux operating system, part 1 https://read.cash/@valo/the-linux-operating-system-part-1-f81b3c77 [2] The Linux operating system, terminal, command line, shell https://read.cash/@valo/the-linux-operating-system-terminal-command-line-shell-f850f0f4 [3] Wikipedia - Comparison of Linux distributions https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions

6 comments

Log in to join in Reading is open to everyone. Replying needs an account.