Linux Uprobe: A Powerful Tool for Dynamically Tracing User-Space Programs

Linux Uprobe: A Powerful Tool for Dynamically Tracing User-Space Programs

Previously, we introduced kprobes in the Linux kernel, which is a dynamic tracing technology specifically for the Linux kernel space. In this article, we will introduce a similar technology called uprobes (User Space Probe), which, as the name suggests, focuses on dynamic tracing in the Linux user space. It allows developers to set probes at … Read more

Overview of the Linux sysfs System

Overview of the Linux sysfs System

Linux sysfs System 1. Overview: What is sysfs? <span>/sys</span> directory is a virtual file system provided by the kernel through the <span>sysfs</span> file system. It was introduced in the 2.6 kernel and is similar to <span>procfs</span> (<span>/proc</span>) but has different design purposes: • Purpose: To display the hierarchy of kernel objects (kobject), along with their … Read more

Learning the Linux Kernel – System Calls

Learning the Linux Kernel - System Calls

Learning the Linux Kernel – System Calls Info ❓ How can user applications safely and stably access underlying hardware and system resources in a multitasking and virtual memory operating system while preventing illegal operations? Main Idea By introducing system calls as the only <span>legitimate intermediary</span> between user processes and the kernel, we can abstract hardware, … Read more

Getting Started with Embedded Linux: Core Concepts Explained

Getting Started with Embedded Linux: Core Concepts Explained

From routers to smart speakers and industrial controllers, the flexibility of Linux and the prevalence of low-cost processors have made it a paradise for developers. Even more astonishing is that in China, you can currently buy a development board capable of running Linux for less than 100 yuan, which is practically a steal. The goal … Read more

Do Not Confuse Shell Commands with Linux Commands!

Do Not Confuse Shell Commands with Linux Commands!

Under the black curtain of the terminal, Shell commands and Linux commands are like twin flames, intertwined yet distinctly characterized. Beginners often confuse the two, but in reality, they are mirror projections of ‘environment’ and ‘system’. 1. Definition Distinction: Interpreter vs Kernel Shell commands: Instructions executed through a Shell interpreter (such as Bash/Zsh), essentially serving … Read more

Linux Kernel GPIO User Space Interface

Linux Kernel GPIO User Space Interface

GPIO (General Purpose Input/Output) is a pin on a microcontroller or microprocessor that can be programmed as an input or output for communication with external devices. In Linux systems, developers can easily read and set the state of GPIO through user space interfaces provided by the kernel, enabling control and monitoring of external devices. This … Read more