FreeRTOS Queue Communication Mechanism and Kernel Implementation

FreeRTOS Queue Communication Mechanism and Kernel Implementation

FreeRTOS provides various communication mechanisms for inter-task communication, including queues, semaphores, mutexes, event groups, and task notifications. Below is a detailed introduction to queues.Queues Queues support asynchronous data transfer between tasks and between tasks and ISRs. They can transfer any type of data and support multiple tasks sending data to the same queue, as well … Read more

Task Scheduling and Kernel Implementation of FreeRTOS

Task Scheduling and Kernel Implementation of FreeRTOS

This article introduces the tasks and scheduling kernel implementation of FreeRTOS.1. Concept of Tasks In FreeRTOS, a task is the smallest unit of system scheduling and execution. Each task has its own stack space, program counter (PC), registers, and state. Task Stack Spaceis a contiguous memory area that stores local variables, function call information, and … Read more

Linux Process Scheduling and Kernel Implementation

Linux Process Scheduling and Kernel Implementation

This article mainly introduces Linux process scheduling and kernel implementation, in the following order: key data structures of process scheduling -> different scheduling methods -> scheduling triggers and process switching.1. Key Data Structures of Process Management1.1 task_struct task_struct is the structure used by the kernel to describe a process, including scheduling policy, priority, and other … Read more