Understanding Linux: Architecture, Kernel, and Distributions
Operating System FoundationsUnlike proprietary platforms such as Windows, Linux represents a family of open-source, Unix-like operating systems designed for free distribution and modification. Its architecture adheres to POSIX standards, enabling robust multi-user, multitasking, and multi-threading environments across both 32-bit and 64-bit inf ...
Posted on Wed, 16 Sep 2026 16:51:05 +0000 by AGISB
Understanding CPU Limitation with CGroup in Linux CFS Scheduler
1. Core Cnocepts
Linux kernel's task scheduling is complex, but we'll focus on how CGroup limits CPU usage in the CFS scheduler. This explanation simplifies the process by omiting nested CGroup scenarios and using CentOS 7.6 (3.10.0-957.el7) kernel code as reference.
2. Basic CGroup CPU Configuration
To create a CGroup named 'test' with CPU lim ...
Posted on Mon, 17 Aug 2026 16:25:30 +0000 by samona
Understanding Linux Page Cache in Kernel Memory Management
File System Layer Architecture
Before exploring page cache, understanding the file system layer architecture provides essential context for comprehending how data flows through the Linux kernel.
1 VFS Layer
The Virtual File System (VFS) layer serves as a generic abstraction for file operations in Linux. It consolidates common functionalities sh ...
Posted on Wed, 12 Aug 2026 16:32:36 +0000 by h123z
Managing CPU Frequency Scaling via Sysfs in Linux
The cpufreq infrastructure in Linux allows for dynamic adjustment of processor clock speeds to balance performance and power consumption. This subsystem exports its configuration through the sysfs interface, usually found at /sys/devices/system/cpu/cpu[N]/cpufreq/. By modifying specific files in this directory, users can control how the kernel ...
Posted on Wed, 05 Aug 2026 16:37:27 +0000 by northernmonkey
File Creation Operations in the Operating System
14.5 File Creation
14.5.1 The file_create Implementation
When creating a new file, several critical operations must be performed in sequence:
Inode Allocation: Each file requires an inode to track its size, location, and metadata. The process begins by allocating an inode number from the inode bitmap. This involves updating the inode bitmap, ...
Posted on Wed, 29 Jul 2026 16:49:33 +0000 by dnast
Linux /proc File System Overview
Understanding the /proc Virtual File System
The /proc directory serves as a virtual file system in Linux that provides access to kernel and process information through file-like interfaces. This system acts as a window into the kernel's data structures, allowing users and applications to retrieve system information without making direct system ...
Posted on Mon, 20 Jul 2026 17:02:57 +0000 by Loafin
Linux Core Concepts: Memory, Processes, IPC, and I/O Multiplexing
Inspecting Process Memory Usage
Using top
PID – Process ID
USER – Owner
PR – Priority (lower = higher)
NI – Nice value
VIRT – Virtual memory
RES – Physical memory
SHR – Shared memory
S – State (S=sleep, R=run, Z=zombie, N=negative nice)
%CPU – CPU usage
%MEM – Physical memory ratio
TIME+ – Cumulative CPU time
COMMAND – Execu ...
Posted on Sun, 12 Jul 2026 17:21:43 +0000 by Warboss Alex
Developing a Bare-Metal Environment for RISC-V
Modern applications rely on complex execution environments—ranging from standard libraries to operating systems—to manage resources and hardware interactions. To build a kernel from scratch, one must strip away these abstractions and interface directly with the CPU and memory. This process involves navigating the target platform's architecture, ...
Posted on Mon, 06 Jul 2026 16:13:44 +0000 by learningsql
Implementing Process-Specific Kernel Page Tables and Optimizing Copy Operations in xv6
Memory Layout and Page Table Management
Hardware Device Mapping
Hardware devices like UART0 (0x10000000L), VIRTIO0, CLINT, and PLIC have fixed physical addresses and interrupt numbers defined by hardware design. The kernel uses these addresses to communicate with devices, initialize registers, and handle interrupts.
Kernel Loading and Execution ...
Posted on Fri, 19 Jun 2026 17:44:33 +0000 by zhahaman2001
Obfuscating Linux Processes through Filesystem Mounting and Library Hijacking
Process Concealment via Procfs Mounting
In Linux environments, process metadata is exposed via the /proc pseudo-filesystem. Standard monitoring utilities like ps, top, and htop retrieve system information by reading the subdirectories within /proc that correspond to specific Process IDs (PIDs). By utilizing the mount command with the --bind fla ...
Posted on Wed, 03 Jun 2026 16:49:12 +0000 by cameronjdavis