Linux OS

Linux OS or GNU/Linux is a family of Unix-like operating systems based on the Linux kernel and that maintain some level of compatibility.

Do not confuse Linux OS or GNU/Linux with the Linux kernel. When there is a need to differentiate between kernel and the operating system, just add the term “OS” or “kernel” at the end of the Linux word.

The Linux kernel is free and open source software (FOSS) under a GPLv2-only license. It is maintained by the Linux Foundation.

Linux Architecture

A Linux has a kernel.

Linux Kernel

The independent kernel (also known as the monolithic kernel in traditional Unix/Linux systems) handles interrupts, low-level device drivers (lower half), and part of memory management. It is responsible for hardware communication, process scheduling, and other core functionalities.

The kernel is not the same across all platforms. While Linux is highly portable and can run on multiple architectures (x86, ARM, RISC-V, etc.), the kernel must be compiled specifically for each platform. Additionally, different architectures may require modifications or optimizations to work efficiently.

The kernel controls access to peripherals such as terminals, disk drives, and network interfaces. It does so through device drivers and system calls, ensuring that processes access hardware resources in a controlled and secure manner.

The kernel manages secondary memory (swap space) to optimize data storage and retrieval. It uses virtual memory techniques, swapping data between RAM and disk as needed to improve performance and ensure efficient memory utilization.

Linux Process Management

The number of process states in Linux systems is 6.

The total number of process priorities in Linux is 140.

The user can priorities their own priorities using the nice and renice commands. The default priority is 0, and user can manage from 19 to -20, raging 40 processes in total.

Linux schedulers:

  • CFQ
  • Deadline
  • NOOP

Completely Fair Q. (CFQ)

Linux Memory Management

32-bit Linux has a 4-table memory system.

64-bit Linux has a 5-table memory system to be able to reach all memory addresses.

Linux Device Management

Types of devices considered by Linux:

  • Character
  • Block
  • Network

Linux File Systems

ext is a file system in Linux.

ext2 is the main file system in Linux.

ext3 is a new version of ext2.

ext4 is the most modern ext family version as of 2025.

swap file system is used for the swap partition.

Network File System (NFS)

Network Information Service (NIS) is part of NFS.

Linux Layout

You can read this post about File Hierarchy System (FHS).

Hard links cannot be done between partitions.

Soft links can be done between partitions.

The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory.

An inode requires a single block. The size of the inode will be the same as a single block.

The classical Linux layout (<ext4) is 64 bits.

The ext4 Linux layout (ext4) is 256 bits.

It takes a minimum of 2 accesses, one to the inode, and another one for the data block.

It takes a maximum of 5 access in the worst case:

  1. inode
  2. Direct
  3. Single indirect
  4. Double indirect
  5. Triple indirect

Linux Printing Servers

Linux printing servers:

  • BSD LPD
  • LPRng
  • CUPS

Linux User Interface

Aspectos of Linux user interfaces:

  • CLI
  • GUI

Linux Command-Line Interfaces

Linux command-line interfaces (CLI):

  • Bourne shell
  • Korn shell
  • CSH shell
  • Bash shell

Bourne shell was created at the Bouren university. It was one of the first shells.

C shell (csh) does not accept shells.

Bourne-again shell (Bash) is probably the most popular shell and the default one as of 2025.

You can read this post about Unix shell commands.

Linux GUIs

Linux GUI works in layers.

Linux GUI layers based on X Window, from bottom to top:

  1. Display client
  2. Display server
  3. Desktop environment
  4. Window manager
  5. Desktop environment or manager
  6. Themes

Linux Display Server

The most popular Linux display servers are X.Org and Wayland.

You can read this post about Linux display servers.

Linux Window Manager

GNOME has no default window manager and is compatible with many.

Enlightment is the most popular desktop environment used on GNOME desktop environment.

KDE Window Manager is the window manager used by KDE, and it is not compatible with other window managers.

Linux Desktop Environment

The most popular Linux desktop environments are GNOME and KDE.

You can read this post about Linux desktop environment.

You can read this post about touch-based Linux user interfaces.

GUI Programming Toolkits

X Window applications are programmed through the xlib application, that it is considered difficult to use.

Linux graphical applications are usually programmed using a widget framework like GTK (GNOME project) or Qt (KDE project).

You can read this post about GUI programming toolkits.

Linux Sound System

You can read this post about Linux sound system and servers.

Linux Administration

Operation, Administration & Maintenance (OA&M) system is run through the command sysadm.

Linux Security

Linux Firewall

iptables, arptables

Linux IDS/IPS

Linux Intrusion Prevention System (IPS) tools:

  • LogCheck
  • TripWire
  • snort

You can read this post about snort.

Linux File Encryption

There are different programs to encrypt files in Linux.

crypt and PGP work at file level.

crypt is based on 56-bit DES.

TCFS and CFS work at disk level.

Linux Log Management

The daemon that controls logs is called syslogd.

Logs are usually stored in /var/log/messages.

Linux Endpoint Security

You can read this post about Linux endpoint security.

Linux Package Managers

You can read this post about Linux package managers.

Linux Software Development

Linux Software Package

  • Autopackage
  • AppImage
  • Flatpak
  • Snap

Flatpak is developed by Red Hat.

Snap is developed by Ubuntu.

Linux Distributions

A list of Linux distros can be found on this post.

Linux on Desktop

Linux on Desktop is a website that share user experience on installing Linux distros on laptops, by volunteer contributions. It seems not very active in the 2020s and a bit outdated.

Linux on laptops official website

You might also be interested in…

Leave a Reply

Your email address will not be published. Required fields are marked *