The architecture of Linux

December 2016



While Windows adopts a monolithic kernel architecture, Linux is composed of a multitude of "bricks" software.
  • For example under Windows, it is almost impossible to operate without the GUI or even change the GUI manager.
  • Under Linux simply remove the corresponding brick and replaced by another (e.g replace Gnome with KDE or XFCE)..


Explanations


The kernel space is the heart of the operating system. It manages the hardware (disk, video card, network ...) and provides access to software and libraries located in the user layer.
  • Thus, if the software or libraries the user layer fail, it doesn't affect the system.
  • From the graphical point of view, as you can see from the above diagram, a software can make use - for example - the features of Gnome, GTK +, or use directly X. .. or nothing at all and run without a GUI.

Notes


This scheme is simple:
  • All the bricks are not represented
  • All relationships between bricks are not reported
  • The internal structure of each brick is not detailed


There are thousands of bricks software available for Linux. They are in the form of executable or library.
  • For example, if you want to create a program that makes HTTP requests, you don't need to create it yourself: just use the libcurl library or the curl library.
  • If you want an idea of ??available software components, run Synaptic and look at the packages starting with "lib ...": It does give you an idea of ??all that is available.

Window Managers


In the above diagram, the window manager KWin and Metacity are shown, but there are dozens more availble.

Related :

This document entitled « The architecture of Linux » from CCM (ccm.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.