In-Depth Analysis of FreeRTOS Kernel Source Code: From Task Scheduling to Interrupt Handling

In-Depth Analysis of FreeRTOS Kernel Source Code: From Task Scheduling to Interrupt Handling

In-Depth Analysis of FreeRTOS Kernel Source Code: From Task Scheduling to Interrupt Handling Introduction As a representative of embedded real-time operating systems, FreeRTOS has an elegant and efficient kernel implementation. This article will delve into the key implementations of the FreeRTOS kernel, including task scheduling, memory management, interrupt handling, and other core mechanisms. Task Management … Read more

No Memory Issue That One Line of Python Code Can’t Solve

No Memory Issue That One Line of Python Code Can't Solve

Produced by Big Data Digest Compiled by: Javen, Hu Jia, Yun Zhou Insufficient memory is a common issue encountered during project development. My team and I faced this problem in a previous project where we needed to store and process a fairly large dynamic list. Testers often complained to me about memory shortages. However, in … Read more

Detailed Explanation of OOM (Object-Oriented Memory) Types in C++

Detailed Explanation of OOM (Object-Oriented Memory) Types in C++

What is OOM Type OOM (Object-Oriented Memory) types refer to those classifications in C++ that are closely related to object lifecycle and memory management. Understanding these types is crucial for writing safe and efficient C++ code. Main Classifications of OOM Types 1. Trivial Types Characteristics: Has a trivial default constructor Has a trivial copy/move constructor … Read more

Linux Memory Management

Linux Memory Management

(Click the public account above to quickly follow) Source:WsztRush Link: http://wsztrush.github.io/%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF/2015/05/13/Linux-Memory.html Most servers today run on Linux, so as a programmer, it is necessary to have a basic understanding of how the system operates. Regarding memory, you need to know: Address Mapping Memory Management Methods Page Faults First, let’s look at some basic knowledge. From … Read more

Performance Metrics for Linux Servers

Performance Metrics for Linux Servers

(Click the public account above to quickly follow) Source: taozj https://taozj.org/201701/linux-performance-basic.html If you have good articles to submit, please click → here for details A server based on the Linux operating system exhibits various performance metrics while running. Generally, operations and maintenance personnel, as well as system administrators, are very sensitive to this data, but … Read more

Day 3 – The Virtual Memory Mechanism of Linux

Day 3 - The Virtual Memory Mechanism of Linux

This article aims to introduce the memory usage methods in the Linux kernel, detailing the various regions of memory allocation and their functions. 1. Physical Memory Allocation 1. Physical Memory Allocation Diagram Linux kernel’s physical memory allocation General Overview: The entire physical memory is divided into four blocks. Block 1: Linux Kernel Program This is … Read more

Dynamic Memory Allocation in C: malloc and free

Dynamic Memory Allocation in C: malloc and free

Dynamic Memory Allocation in C: malloc and free In C programming, dynamic memory allocation is an important concept. It allows programs to request and release memory as needed during runtime. <span>malloc</span> and <span>free</span> are the two most commonly used functions for dynamic memory management. In this article, we will provide a detailed introduction to the … Read more

Differences and Connections Between C and C++

Differences and Connections Between C and C++

Differences and Connections Between C and C++ Introduction C and C++ are two widely used programming languages with a long history, playing significant roles in software development. Despite their many similarities, there are also notable differences. This article will explore the similarities and differences between these two languages in detail. 1. Basic Overview 1. C … Read more

Applications of Unions in Microcontroller Programming

Applications of Unions in Microcontroller Programming

01Union In the previous article “Combining Enumerations and Structures”, it was mentioned that a structure is like a packaging that encapsulates variables with common characteristics. A structure is a composite or complex type that can contain multiple members of different types. In C language, there is another syntax that is very similar to structures, called … Read more

The Basis for FreeRTOS Task Allocation

The Basis for FreeRTOS Task Allocation

The Core Role of the FreeRTOS Idle Task ‌Maintaining Minimum System Operation Guarantee‌ Automatically created after the scheduler starts, with the lowest priority (usually 0), ensuring that there is always a task for the system to execute. When all user tasks are blocked or suspended, the idle task takes over the CPU to avoid an … Read more