Operating System Design and Implementation: Based on LoongArch Architecture

Operating System Design and Implementation: Based on LoongArch Architecture

Introduction:The rapid development of the IT industry has raised higher requirements for talent cultivation in universities. We can no longer be satisfied with producing talents who can only use foreign CPUs and operating systems; instead, we need to cultivate talents who can “create” their own operating systems. This is essential for achieving autonomy in the … Read more

Linux Kernel Learning Notes

Linux Kernel Learning Notes

This article is an excellent piece from the Kanxue Forum. Kanxue Forum Author ID: e*16 a The following is based on the code of linux0.11. 1 Kernel's Five Major Structures 2 Interrupt Workflow 1. ARM Memory (1) Convert CPU working mode (2) Copy and stack registers (3) Set interrupt vector table (4) Save the return … Read more

ARM V8 Exception Vector Table

ARM V8 Exception Vector Table

Among them, el0_sync is the entry address for system synchronous exceptions; el0_irq is the entry address for interrupt exceptions; first, look at synchronous exceptions, where el0_svc is the exception caused by the system call svc;kernel_entry 0: indicates that this is a kernel jump from el0 to el1, performing register saving for user space, mainly saved … Read more

The Signal Delivery Process in the Linux Kernel

The Signal Delivery Process in the Linux Kernel

1 Execute the default action of the signal 2 Capture the signal 3 Re-execute the system call 4 x86_64 architecture – do_signal() Previously, we introduced how the kernel notices the arrival of a signal and calls related functions to update the process descriptor so that the process can receive and handle the signal. However, if … 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

Analysis of Linux Kernel Source Code: How sendfile and splice Achieve Zero-Copy

Analysis of Linux Kernel Source Code: How sendfile and splice Achieve Zero-Copy

Previously, we introduced several Linux zero-copy technologies, among which sendfile and splice are very similar. Both system calls allow data to be moved/copied directly in kernel space without passing through user space. In this article, we will analyze the kernel source code of these two system calls to see how they achieve zero-copy. 1. Analysis … Read more

Understanding Linux-vdso

Understanding Linux-vdso

In the Linux system, there is a very special and important <span>virtual</span> shared library <span>linux-vdso.so.1</span>, where <span>vdso</span> stands for <span>Virtual Dynamic Shared Object</span>, meaning it is a virtual dynamic shared library. What makes it special? Simply put, it is a <span>"phantom"</span> shared library that is not on the hard disk, but is an <span>accelerator</span> code … Read more

In-Depth Analysis of Linux System Call Process

In-Depth Analysis of Linux System Call Process

Overview of System Calls A system call is the standard interface for user-space programs to interact with the operating system kernel. It provides the only legitimate way for user programs to access core functionalities such as hardware device access, process management, and file system operations. In Linux, system calls implement a secure switch between user … Read more

Check Your Embedded Device’s CPU Temperature: Can It Cook Meat?

Check Your Embedded Device's CPU Temperature: Can It Cook Meat?

Many of you have probably seen videos of enthusiasts cooking meat using computer CPUs. Is the temperature of a computer CPU really that high? Let’s take a look at the temperature of our computer’s CPU. There are many ways to check the CPU temperature on a PC. A simple method is to install benchmarking software … Read more

Fundamentals of Assembly Language Security Techniques

Fundamentals of Assembly Language Security Techniques

Overview of Traditional Security Techniques This section will introduce some traditional, fundamental yet effective assembly language security techniques, rather than cutting-edge rootkits or virus/antivirus technologies. This foundational knowledge is crucial for understanding modern security mechanisms. Basic Concepts of Viruses and Trojans In the realm of traditional security, the distinctions between viruses and trojans are as … Read more