[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

    • Adobe Acrobat Reader DC 2026.001.21651 by Razvan Serea Adobe Acrobat Reader DC software is the free, trusted standard for viewing, printing, signing, and annotating PDFs. Its the only PDF viewer that can open and interact with all types of PDF content – including forms and multimedia. It’s connected to Adobe Document Cloud – so you can work with PDFs on computers and mobile devices. Adobe Document Cloud is a revolutionary, modern and efficient way to get work done with documents in the office, at home or on-the-go. At the heart of Document Cloud is the all-new Adobe Acrobat DC, which will take e-signatures mainstream by delivering free e-signing with every individual subscription. Document Cloud includes a set of integrated services that use a consistent online profile and personal document hub. With Adobe Document Cloud, people will be able to create, review, approve, sign and track documents whether on a desktop or mobile device. Businesses will be able to take advantage of Document Cloud for enterprise which provides enterprise-class document services that integrate into systems of record such as CRM, HCM, CLM, and CMS, adding speed, efficiency and transparency to getting business done with documents. Adobe Acrobat Reader DC new feature highlights: Work with PDFs from anywhere with the new, free Acrobat DC mobile app for Android or iOS. Select functionality is also available on Windows Phone. Use the new Fill & Sign tool in your desktop software to complete PDF forms fast with smart autofill. Download the free Adobe Fill & Sign mobile app to add the same option to your iPad or Android tablet device. Save money on ink and toner when printing from your Windows PC. Store and access files in Adobe Document Cloud with 5GB of free storage. Get instant access to recent files across desktop, web, and mobile devices with Mobile Link. Sync your Fill & Sign autofill collection across desktop, web, and iPad devices. Adobe PDF Pack premium features includes: Convert documents and images to PDF files. Use your mobile device camera to take a picture of a paper document or form and convert it to PDF. Turn PDFs into editable Microsoft Word, Excel, PowerPoint, or RTF files. Combine multiple files into a single PDF (web only). Get signatures from others with a complete e-signature service. Send, track, and confirm delivery of documents electronically instead of using fax or overnight services (tracking not available on mobile). Store and access files online with 20GB of storage. Download: Adobe Acrobat Reader DC 64-bit | 719.0 MB (Freeware) Link: Adobe Acrobat Reader DC Home Page | Release Notes | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • The consumer ESU is ending in 4 months. LTSC isn't now, never has been, and never will be for consumer use, it is for OT usage - plant machinery, medical devices, manufacturing equipment etc. LTSC requires a Microsoft EA. You can't legally obtain LTSC to run on your PC at home.
    • Hmm actually looks decently interesting!  
    • Being on GitHub doesn't make something safe. Like any unofficial scripts to do x or y this caters to people with just enough knowledge to be dangerous. If you want to do what this does, and you actually know what you're doing then write your own script (or maybe just add the reg keys yourself) if you don't have the ability to read and understand what a script is doing, and especially don't run it with elevated privileges. Or in this case just use an MSA, sign up the normal route, and stop trying to push water up hill
  • Recent Achievements

    • Week One Done
      JKR earned a badge
      Week One Done
    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
    • Dedicated
      JKR earned a badge
      Dedicated
    • One Year In
      CHUNWEI earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      488
    2. 2
      PsYcHoKiLLa
      271
    3. 3
      Skyfrog
      75
    4. 4
      Steven P.
      68
    5. 5
      FloatingFatMan
      64
  • Tell a friend

    Love Neowin? Tell a friend!