Fundamentals 34 min read

Overview of Linux System Architecture: Kernel, Shell, Filesystem, and Applications

This article provides a comprehensive overview of Linux system architecture, covering the kernel, memory and process management, virtual file system, device drivers, networking, shell types, filesystem hierarchy, partitioning, mounting, and common commands, offering a solid foundation for understanding Linux fundamentals.

Architects' Tech Alliance
Architects' Tech Alliance
Architects' Tech Alliance
Overview of Linux System Architecture: Kernel, Shell, Filesystem, and Applications

1. Linux Kernel

The kernel is the core of the operating system, managing processes, memory, device drivers, files, and networking, which determines system performance and stability. It consists of memory management, process management, device drivers, filesystem, and network management. System call interfaces (SCI) enable user‑space programs to invoke kernel functions, with architecture‑specific implementations located in ./linux/kernel and ./linux/arch.

1.1 Memory Management

Linux uses virtual memory, dividing physical memory into 4 KB pages and providing mechanisms such as the slab allocator, swapping pages to disk when memory is exhausted, and managing page allocation via structures like ./linux/mm.

1.2 Process Management

Linux supports multitasking by time‑slicing processes, using a priority‑based scheduler. It provides inter‑process communication mechanisms (signals, pipes, shared memory, semaphores, sockets) and system calls (fork, exec, kill, exit) for creating, controlling, and synchronising processes.

1.3 Filesystem

Linux adopts a unified hierarchical VFS (Virtual File System) that abstracts various concrete filesystems (ext2, ext3, FAT, VFAT, etc.). VFS provides a common API (open, close, read, write) and sits above the buffer cache and device drivers, allowing user programs to access files without knowing the underlying filesystem type.

1.4 Device Drivers

Device drivers run in kernel mode, providing abstract interfaces to hardware while handling device‑specific details. Errors in drivers can crash the system.

1.5 Network Interface (NET)

Linux supports BSD sockets and the full TCP/IP stack. The network subsystem consists of socket APIs, protocol layers, and device drivers for hardware communication.

2. Linux Shell

The shell is the user interface that interprets commands and passes them to the kernel. Common shells include Bourne Shell, Bash (Bourne Again Shell), Korn Shell, and C Shell.

3. Linux Filesystem

Linux supports many filesystem types (ext2, ext3, ext4, FAT, VFAT, NTFS, XFS, JFS, ReiserFS, etc.). Files are organized into directories forming a single tree rooted at /. The article describes file types (regular, directory, link, device, FIFO, socket) and how to view them with ls -l, file, or stat.

3.1 File Types

Regular files, directories, symbolic links, hard links, device files (block and character), FIFO pipes, and sockets.

3.2 Linux Directory Structure

Key directories: /bin, /dev, /etc, /home, /lib, /sbin, /tmp, /root, /mnt, /proc, /var, /usr (with sub‑directories /usr/bin, /usr/sbin, /usr/lib, etc.).

3.3 Filesystem Types and Features

Describes ext2/ext3, RAMFS, NFS, FAT variants, NTFS, XFS, JFS, ReiserFS, UDF, and others, explaining formatting, superblock, inode, and data block concepts.

3.4 Inode and Block Allocation

Explains indexed allocation (used by ext2/3) versus FAT’s chained allocation, and the impact on fragmentation and performance.

3.5 Mounting Filesystems

Mounting attaches a filesystem’s root to a directory (mount point). The mount command syntax and common options ( -t, -o) are shown. Example for mounting a Windows FAT partition:

# mount -t vfat /dev/hda5 /mnt/winc

3.6 Automatic Mounting via /etc/fstab

The /etc/fstab file lists filesystems to mount at boot, with fields for device, mount point, type, and options (e.g., defaults, ro, rw, user, noauto).

3.7 Hard and Symbolic Links

Hard links share the same inode; deleting one does not affect the other. Symbolic links are special files containing a pathname and can span filesystems; they become dangling if the target is removed.

3.8 Common File Management Commands

Disk utilities: fdisk, df, du. Directory navigation: cd, pwd, mkdir, rmdir. File operations: ls, cp, mv, rm. Viewing content: cat, more, less, head, tail. Permissions: chmod, chown, chgrp. Search: which, whereis, locate, find.

4. Linux Applications

Typical Linux distributions include editors, programming languages, X Window system, office suites, internet tools, and databases.

5. Linux Kernel Parameter Tuning

Kernel parameters are exposed via the /proc filesystem and can be adjusted at runtime to optimise performance.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

LinuxShellfundamentalsFilesystem
Architects' Tech Alliance
Written by

Architects' Tech Alliance

Sharing project experiences, insights into cutting-edge architectures, focusing on cloud computing, microservices, big data, hyper-convergence, storage, data protection, artificial intelligence, industry practices and solutions.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.