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

Understanding IOMMU Groups and Domains in Linux

The Input/Output Memory Management Unit (IOMMU) is a hardware component that enables memory protection and address translation for Direct Memory Access (DMA) operations initiated by peripheral devices. By enforcing isolation between devices and system memory, the IOMMU enhances both security and performance. In Linux, IOMMU groups represent the ...

Posted on Fri, 29 May 2026 23:30:59 +0000 by jefrat72

Interrupt Handling in Kernel Development: Architecture and Implementation

Modern operating system kernels rely fundamentally on interrupt-driven execution. Interrupts enable asynchronous event handling—such as hardware signals, exceptions, and system calls—without requiring constant polling or blocking waits. Interrupt Classification External Interrupts Maskable interrupts arrive via the INTR pin and can be disabled ...

Posted on Mon, 11 May 2026 01:54:52 +0000 by dwu

A Practical Guide to SPI Driver Architecture and User-Space Programming in Linux

SPI Core Concepts SPI (Serial Peripheral Interface) is a synchronous, full-duplex serial communication protocol originally developed by Motorola. It enables MCUs or MPUs to exchange data with peripherals such as flash memory, ADCs, network controllers, or other processors. Key attributes include high-speed operation, serial data transfer, and t ...

Posted on Fri, 08 May 2026 18:50:31 +0000 by A584537