[FAQ] How is Linux Layered?


Recommended Posts

"I don't understand how the kernel, OS and GUI are layered in Linux..."

This FAQ is a quick run-down that I have written to briefly introduce GNU/Linux (often referred to as just "Linux") to someone completely unfamiliar with how a typical Linux system is structured. The target audience for this is quite likely someone who is considering installing Linux for the first time, or who has installed it recently, but is having difficulty dealing with the variety of choices.

A Linux system usually consists of several layers, many of which have numerous alternatives available for selection. I will start at the base level, and then build up.

The Linux Kernel: The Engine

www.kernel.org

The heart of a Linux system is the Linux kernel. It is the very low-level software that deals directly with the computer's hardware. On its own, a kernel doesn't do anything. It just sits there waiting to be told what is needed.

The Linux kernel has a production branch that uses an even number as the first number after the decimal point (2.2, 2.4, 2.6, etc.). Any development work that is being worked on for the next major revision of the kernel will use an odd number after the first decimal point (2.5, 2.7) Note, that at the time I am writing this, there is no 2.7 version, as all new features are being quickly incorporated into the production 2.6 series.

The GNU OS: What Really is Running

www.gnu.org

A kernel, by itself, doesn't get work done. This is where the GNU Project (part of the Free Software Foundation, or FSF) comes in. they provide the 'tools' needed to accomplish work. Think of these as the basic set of commands to perform operations.

GNU can be used by other kernels, as well. The FSF's own Hurd kernel (under development) uses it, and there are projects to get GNU on BSD (which typically is a self-contained kernel/OS). The nice thing about this is that the higher levels are independent of the kernel, meaning that you can run the same sets of apps (including Window Managers - more on that later) regardless what kernel you choose to run in the future. (and indeed, BSDs can even run the same apps in their BSD kernel)

The X Window System: Graphics!

www.xfree86.org

www.x.org

The "X Window System", often called "X", is really just a system of handling graphics. There are two popular applications that handle the X protocol: XFree86 and X.org. X.org is a fork from the XFree86 code, just before XFree86 changed their licensing terms in 2004.

It is in X11 that your video driver is used. Also your other input and output devices (such as keyboard, mouse and screen) are declared here.

It is important to note that X does not provide for any sort of advanced windowing functions other than the display of them. User manipulation of the windows (and the decorations, such as titlebars, borders and widgets) is handled by the Window Manager, which we will cover next.

The Window Manager: So many choices...

The realm of managing windows in X is populated with a large variety of Window Managers. This is perhaps the most daunting and confusing thing for Microsoft Windows users to understand about the world of Linux.

In Linux, the user may choose a Window Manger that uses very little system resources, or they may choose ones with more features. This level will provide a fully functional GUI for your Linux box. Some examples include Fluxbox, Sawfish, FVWM, Enlightenment, Metacity and IceWM.

Compiz (or, more properly, Compiz Fusion) with its Emerald window decorator is another Window Manager with special appeal to many. It uses graphics card hardware to run visual effects of warping, zooming, shadows and more. Compiz is closely associated with Gnome, and replaces Metacity in a "3D" Gnome setup. If a user decides to switch back away from this Window Manager into a traditional (no GPU) Window Manager, they must replace it, not just remove Compiz.

The Desktop Environment: The Big Two (plus one)

www.kde.org

www.gnome.org

www.xfce.org

Where can you go beyond a Window Manager? Why, a full-blown Desktop Environment, of course! It continues where a Window Manager leaves off by incorporating things such as a "control panel" like item that lets you adjust your settings for a great deal of peripherals (scanners, printers, keyboards, mice, and anything else you can connect).

A Desktop Environment matches what most Microsoft Windows users expect in an operating system. All of these extra features come at the cost of extra resources being consumed. And, in fact, many people get a current Linux system running on an old box by not using the heavier KDE or Gnome, and getting more life out of the PC. The PC can still be updated with the latest kernel and apps (such as GIMP, OpenOffice.org and Firefox) and be a very capable desktop machine.

While KDE and Gnome have all the extra bells and whistles, if you want to slim down your resource usage, but don't want to sacrifice the convenience of having the added features of a Desktop Environment, XFCE may fit the bill. A self-described "lightweight desktop environment for various *NIX systems", screenshots of these desktops are often featured in our "Desktop" threads.

In Summary

How many layers, and which modular options you choose is up to you. The choices are daunting for someone first looking at them, but these choices make Open Source so exciting and you will have all the tools needed to make your PC work the way you want it to.

I hope this brief summary helps some of those who want to understand what makes up a Linux PC, and takes some of the confusion away. The forums here have many knowledgeable members, many of them are IT professionals (which I am not) and with the experience needed to help you out with guidance to get yourself out of a bind.

Those of you who are reading this and notice an error in what I have said, please let me know so that it can be corrected.

Link to comment
https://www.neowin.net/forum/topic/259962-faq-how-is-linux-layered/
Share on other sites

One spelling mistake :p

Edit : Otherwise Well Done (Y). Nice Article.

585135935[/snapback]

:pinch:

I went back and fixed two spelling errors, and three typos where my fingers had a mind of their own. :blush:

Some examples include Fluxbox, XFCE, Enlightenment, Metacity and IceWM.

Last time I checked XFCE is a lightweight desktop environment and not a window manager.

From www.xfce.org:

"Xfce is a lightweight desktop environment for various *NIX systems.

Designed for productivity, it loads and executes applications fast, while conserving system resources."

Last time I checked XFCE is a lightweight desktop environment and not a window manager.

585137503[/snapback]

Their site was very informative.

XFCE uses XFWM4 as the Window Manager.

I will update the first post. (Y)

Edit: Updated the DE section (and edited the listing of WMs at the end of the WM section).

Edit 2: Thank you, everyone for your improvements and compliments. :D

Edited by markjensen
  • 2 weeks later...
Very good article, just one thing, BSD is both an OS and a Kernel, it does not in fact include GNU.  (this becomes very apparent when you use a BSD system :p)

585277068[/snapback]

Very correct!

http://www.gnu.org/gnu/linux-and-gnu.html

I will make the appropriate edit. Google shows GNU/BSD as a sourceforge project, and other links with the reference (but some of those may be mis-identified, as I did above).

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Everything they say you can already do yourself on the registry by changing some things.
    • Artist's renderings are so much nicer to view than the real thing, don't you think?
    • WildBit Viewer 6.20 released; no further updates planned by Razvan Serea WildBit Viewer is a popular, fast, and extensive image viewer offering a comprehensive suite of tools for photographers, designers, and image enthusiasts. It includes a powerful Viewer, Slide Show, Editor, Search, Profile Switcher, and Multi-Screen Viewer. The Viewer provides blazing-fast folder, file list, and thumbnail navigation with customizable headers, full-screen view, and a shell toolbar to organize favorite folders. It supports all major graphic formats (over 70), including JPEG, TIFF, PNG, BMP, GIF, PCX, TGA, and RAW formats. Detailed Image Info shows EXIF, IPTC, and XMP metadata, with rotation based on EXIF orientation, wallpaper setting, image comparison, geo-tag viewing, color labels, and CMS-aware color management. The Slide Show module offers 176 transition effects, multi-monitor support, custom shows with per-image settings, image marking, zoom, rotate, and desktop hiding for a professional viewing experience. The Editor supports advanced image manipulation, including crop, resize, color adjustments, curves, edge detection, effects, batch processing, retouching, layer support, and printing. Users can apply mass renaming, update or clear metadata, and work with multi-page TIFFs and animated GIFs. Search allows filtering by name, location, date, size, attributes, and metadata, while the Profile Switcher saves and loads custom layouts for all modules. The Multi-Screen Viewer opens multiple windows on available monitors, allowing simultaneous image viewing with independent zoom, pan, and rotation. WildBit Viewer also supports portable operation, 32- and 64-bit versions, Unicode, high-DPI displays, and multiple Windows styling options. With its combination of speed, versatility, and rich feature set, WildBit Viewer is an indispensable tool for managing, editing, and showcasing images efficiently. WildBit Viewer key features: Blazing-fast folder, file list, and thumbnail browsing Supports 70+ image formats including JPEG, TIFF, PNG, BMP, GIF, and RAW Full-screen view with multi-monitor support Explorer-style file handling with customizable headers Thumbnail Browser with sorting, view change, and fast size adjustment EXIF, IPTC, and XMP metadata viewing and editing Automatic rotation based on EXIF orientation Shell toolbar for organizing favorite folders Image Compare to calculate similarity between images Mass renaming and batch metadata updates File List Generator (HTML, CSV, RTF, TXT, Unicode) Rating and color labels, CMS-aware color management Video playback (AVI, MPG, MPEG, WMV) Animated GIF, multipage TIFF, Camera RAW support Slide Show with 176 transition effects and custom settings Editor: crop, resize, rotate, flip, canvas resize, and retouching tools Batch processing and image format conversion Multi-Screen Viewer: multiple windows with independent zoom, pan, and rotate Profile Switcher: save, load, reset, delete module profiles Portable operation, 32-/64-bit support, Unicode, and high-DPI ready WildBit Viewer 6.20 changelog: Viewer, Slide Show, Editor, Search, Profile Switcher & Multi Screen Viewer. Updated ImageEn to 15.0.0 version. Viewer, Slide Show, Editor, Search, Profile Switcher & Multi Screen Viewer. Updated Jedi JCL&JVCL. Viewer - Image Geo Info, OpenStreetMap removed. Slide Show Remote Mode removed. Note! This means that WildBit Slide Show Remote is now officially EOL. Editor - Shortcut keys for Capture removed. Optimized code. Note! This version includes help what supersedes all previous releases. plus Lots of bug fixes and changes, check Readme files for details. WildBit Viewer End‑of‑Life WildBit Viewer has reached its final release with version 6.20. As development comes to a close, no further feature updates are planned. WildBit Slide Show Remote reached End-of-Life on 06 June 2026, while WildBit Viewer will reach End-of-Life on 30 June 2026. Downloads will remain available until the end of July 2026 (possibly extending into early August). After End-of-Life, the software will no longer receive updates, security fixes, or technical support. Download: WildBit Viewer 64-bit | Portable 64-bit | ~70.0 MB (Freeware) Download: WildBit Viewer 32-bit | Portable 32-bit Links: WildBit Viewer Homepage | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Thanks for liking it! 😊 That's Arch Linux with Gnome.
    • LOL. Can't even quote and edit a comment correctly. Figures you're a Linux user.
  • Recent Achievements

    • Dedicated
      Conjor earned a badge
      Dedicated
    • Week One Done
      Windows Guy earned a badge
      Week One Done
    • Dedicated
      Mark Spruce earned a badge
      Dedicated
    • Collaborator
      conkir earned a badge
      Collaborator
    • Rising Star
      olavinto went up a rank
      Rising Star
  • Popular Contributors

    1. 1
      +primortal
      479
    2. 2
      PsYcHoKiLLa
      252
    3. 3
      Steven P.
      71
    4. 4
      FloatingFatMan
      69
    5. 5
      +Edouard
      69
  • Tell a friend

    Love Neowin? Tell a friend!