[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

    • AMD RX 9070 GRE AI, Blender benchmarks vs 9070 XT, 7800XT, Nvidia RTX 5070, 4070 by Sayan Sen Earlier this week, we shared the first part of our review of AMD's new RX 9070 GRE. It was about the gaming performance of the GPU, and we gave it an 8 out of 10. As a follow-up, similar to how we did with the 9070 XT and non-XT, we are doing a dedicated productivity review for the RX 9070 GRE as well, where we compare it against the 9070 XT, 9070, 7800 XT, as well as Nvidia's 5070 and 4070. This will include AI, rendering, compute, and more benchmarks. AI performance, especially, is a very important metric in today's world, and AMD also promised big improvements thanks to its underlying architectural improvements. We will be pitching it against the data we already have for the RX 9070, and RX 9070 XT, but also the Nvidia 5070 FE, MSI GeForce RTX 4070 VENTUS 2X 12G, and Gigabyte Radeon RX 7800 XT GAMING OC 16G as they are in a similar price class, but also because we do not have a comparable 5060 Ti card lying around here that we can compare it against. Before we get underway, this is a collaboration between Sayan Sen and Steven Parker, who lent me his test bed. Also, there was no editorial input from AMD. First up, the specs of the RX 9070, 9070 XT, and 9070 GRE, which were given to us by AMD: Radeon RX 9070 GRE Radeon RX 9070 Radeon RX 9070 XT Boost Clock: Game Clock: up to 2.79GHz up to 2.20GHz up to 2.52GHz up to 2.07GHz up to 2.97GHz up to 2.40GHz Stream Processors 3,072 (48 CU) 3,584 (56 CU) 4,096 (64 CU) Ray Accelerator 48 56 64 AI Accelerator 96 112 128 ROPs 96 128 Texture Mapping Units 192 224 256 Memory 12 GB GDDR6, 18Gbps Clock, 192-bit Bus 432 GB/s 16 GB GDDR6, 20Gbps Clock, 256-bit Bus Effective Memory Bandwidth: 640 GB/s Infinity Cache 48 MB (3rd Gen) 64 MB (3rd Gen) Card Bus PCI-E 5.0 X16 Output 2x HDMI 2.1b 2x DisplayPort 2.1a Power consumption 220W 304W Recommended PSU 650W 750W Slot width 2x 3x Price (SEP) $549 $599 As you can see from the specs above, it is less than the standard RX 9070 in every way that counts, except for slightly higher Boost and Game clock speed. Design Moving on, the RX 9070 GRE we were given is an XFX Swift triple-fan, dual-slot design with two 8-pin connectors. At 30cm (self-measured), it will fit in most systems easily. There is no RGB either. The AMD Radeon RX 9070 GRE by XFX from all angles. Test system Our test system consists of the following: Lian Li O11 Dynamic Mini V2 Flow (Amazon|Newegg) ASUS Z890 ProArt Creator WiFi (Amazon|Newegg) Intel Core Ultra 7 270K Plus (Amazon|Newegg) Thermal Grizzly KryoSheet - 44x37 (Amazon|Newegg) 2x 16GB G.Skill Trident Z5 RGB (7200 MT/s in XMP) (Amazon|Newegg) Sabrent Rocket4 Plus 2TB SSD (Amazon) Windows 11 25H2 (Build 26200.8246) AMD shared a press driver based on the recently released Adrenaline 26.5.2 that we were required to use. We now move on to our benchmarks. First up, we have Geekbench AI running on ONNX. For some reason, the 9070 GRE does exceptionally well here in both half-precision (FP16) and single-precision (FP32). It manages to beat the RTX 5070 and RX 9070 non-XT, and is only behind the 9070 XT. Since Geekbench runs in short bursts instead of continuously hammering the graphics card, it seems the GRE's faster boost clocks are helping here. Next up, we move to the UL Procyon AI test suite, starting with the image generation benchmark. We chose the Stable Diffusion XL FP16 test since it is the most intense workload available on Procyon. The Nvidia cards do very well here, as even the 4070 out-muscles AMD's best fairy easily. The positive thing about the GRE is that it gets quite close to the 9070 non-XT in this test; this indicates that the VRAM does not play a very big role here, as SD XL relies on float16 (FP16). So this is something to keep in mind again. If you wish to work with float32 AI workloads, graphics cards with larger than 12 GB buffers would likely emerge as victors. Regardless, the gains are still massive on AMD's 9000 series compared to the 7000 series. Following image generation, we move to the text generation benchmark. This is one test where the 9070 GRE struggled, quite a lot. It seems that the 12 GB VRAM and lower memory bandwidth of the new Radeon 9070 GRE are hurting it quite a bit; the split is massive, especially in a test like Llama2, which packs 13 billion parameters. As such, in all the tests, the 9070 GRE is the slowest of the lot. Next, we tried Blender, and here the AMD GPUs were beaten by Nvidia. Rendering is something the Green team has always had a lead over the Red side, and it has not changed so far. On the positive side, though, the 9070 GRE shows significantly better results than the 7800 XT, which means AMD is on the right path. Catching up to Nvidia, though, will require a lot more effort. And we hope HIP and ROCm can keep improving. Wrapping up AI testing, we measured OpenCL throughput in the Geekbench compute benchmark. The RX 9070 GRE alongside the 9070 did not fare well here at all, even falling behind the 7800 XT. Interestingly, even the RTX 5070 could not beat the 4070 on OpenCL, so perhaps this suggests that OpenCL optimization may not have been a priority for either AMD or Nvidia in the modern era. Conclusion We reached the end of our productivity performance review of the 9070 GRE, and we have to say it's a mixed bag. Unlike the 9070 and 9070 XT, the GRE excels in some areas while losing ground fairly easily in others. Similar to how it happened in gaming, any time the card's memory subsystem gets hammered, it tends to fall behind the others. This was the case with text generation, wherein we saw the VRAM sometimes hit its maximum available 12 GB of usage with larger model sizes. So what do we make of the RX 9070 as a productivity hardware? It can certainly be used, but you have to know it has its limitations. For those looking for a GPU that can deal with more, AMD recently unveiled the Radeon AI PRO R9700, which is essentially a 32 GB refresh of the 9070 XT with some additional workstation-based optimizations. On a similar note, the new Ryzen AI Halo platform is something you can consider if you want to set up a local AI processing station. Considering everything, we rate AMD's Radeon RX 9070 GRE a 7.5 out of 10 for its productivity performance. Price is less of a factor for those looking at productivity cases compared to those considering the GPU for gaming, and as such, we felt it did quite decently on many occasions and can be handy if you need a 12 GB GPU and, for some reason, don't want to get Nvidia. Purchase links: RX 9070 / XT / GRE (Amazon US) As an Amazon Associate, we earn from qualifying purchases.
    • Does anyone here know if these updates are integrated into the UUP dump isos?
    • Motrix Next 3.9.4 by Razvan Serea Motrix Next is a modern, open-source cross-platform download manager built as the official next-generation successor to the original Motrix project. It has been completely rewritten using Tauri 2, Vue 3, TypeScript, and Rust, while still relying on the powerful Aria2 download engine for high-speed multi-protocol transfers. The app supports HTTP, HTTPS, FTP, BitTorrent, ED2K and magnet links, offering advanced features like multi-connection acceleration, task scheduling, bandwidth control, and batch download management. With a significantly reduced install size (around 20MB), it focuses on being lightweight, fast, and resource-efficient compared to traditional Electron-based download tools. Designed for Windows, macOS, and Linux, Motrix Next delivers a clean, modern UI inspired by Material Design 3 principles, with smooth animations and a minimal workflow. It improves usability through better download organization, system tray integration, and enhanced torrent handling including selective file downloads and tracker management. Motrix Next features: Multi-protocol downloads — HTTP, FTP, BitTorrent, Magnet, .torrent, ED2K, and Metalink tasks BitTorrent — Selective file download, DHT, peer exchange, encryption controls, metadata caching, GeoIP peer flags, and tracker probing Browser extension integration — Embedded Extension API with independent authentication, download confirmation, smart auto-submit, filename hints, referer/cookie forwarding, and real-time controls (Chrome Web Store · Edge Add-ons) Safe filename handling — Content-Disposition, RFC 2047, non-UTF-8, percent-encoded, and extensionless URL resolution with path traversal sanitization Download organization — Favorite and recent folders, optional file-type categorization, stale-record cleanup, and completed history backed by SQLite Concurrent downloads — Independent controls for active tasks, HTTP connections per server, segments per file, and BT peer limits Speed control — Global and per-task upload/download limits with day-of-week and time-of-day scheduling System integration — Tray operation, optional tray speed display, macOS Dock badge/progress, protocol handlers for magnet://, thunder://, and motrixnext:// Lightweight mode — Destroys the WebView on minimize-to-tray while Rust keeps the engine, task monitor, notifications, history, and extension routing alive Notifications and power options — Native task start/complete/failure notifications, keep-awake during downloads, and optional shutdown after completion Network controls — Scoped proxy support for downloads, app updates, and tracker updates, plus system proxy detection Auto-update channels — Stable, Beta, and Latest Across Channels policies with separate download and install phases Diagnostics — Structured logs, exportable diagnostic ZIPs, database integrity checks, automatic DB rebuild, and Linux GPU rendering fallback Personalization — Light/dark/system theme, 10 color schemes, 26 languages, and first-launch system language detection Motrix Next 3.9.4 changelog: Motrix Next 3.9.4 promotes the 3.9.4 beta cycle to stable. This release refreshes bundled engine binaries, improves task detail readability and copy actions, expands link handling for magnet and ED2K workflows, polishes responsive navigation and text wrapping, updates browser extension documentation, and refines network preference controls. New Features Task Detail copy actions — Added copyable values for task metadata and reusable render functions for long text fields. Magnet and ED2K lifecycle support — Added task lifecycle handling for magnet and ED2K links. History cleanup for deleted tasks — Deleted tasks can now remove matching history records. User-Agent management — Added user-agent management and improved related network preference controls. Browser extension documentation — Added the Firefox Add-ons link for the Motrix Next extension. Improvements Engine binaries — Updated bundled binaries for supported architectures. Task Detail readability — Long task names, URLs, tracker values, and copyable metadata now render more clearly. Deletion messaging — Refined localized task deletion text for clarity and consistency. Text wrapping — Improved URI input wrapping and task name multiline display. Navigation layout — Improved sub-navigation responsiveness. Disk allocation default — Changed the default file allocation method to trunc. Proxy controls — Improved proxy button styling in network preferences. Download: Motrix Next 64-bit | ARM64 | macOS ~20.0 MB (Open Source) Links: Website | macOS / Linux | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • NVIDIA officially supports Ubuntu, as linked above with the GeForce NOW Hands on I did in collaboration with Paul Hill.
    • TO be clear I am not running linux today, however I keep thinking about it. And I want to make sure there are minimal obstacles if I decide to make that switch in the coming months.
  • Recent Achievements

    • Proficient
      Eric Biran went up a rank
      Proficient
    • 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
  • Popular Contributors

    1. 1
      +primortal
      479
    2. 2
      PsYcHoKiLLa
      250
    3. 3
      Steven P.
      72
    4. 4
      +Edouard
      69
    5. 5
      FloatingFatMan
      67
  • Tell a friend

    Love Neowin? Tell a friend!