Kernel Scheduling: Getting Started with Micrium OS #4

preview_player
Показать описание
In this episode, we’ll dig into task management and the kernel's scheduling policy. We'll look at cooperative scheduling, preemptive scheduling, and round-robin scheduling.

Backed by more than 20 years of embedded software development, Micrium OS includes an RTOS kernel, communication stacks, a file system, and graphical user interface that have been relied upon by engineers around the world looking for safe, reliable, and secure operation.
Рекомендации по теме
Комментарии
Автор

Where can I get the full source (I understand it is not open source, but it was said that it has source available for non-commercial use)? The github repo I found is missing some headers and definitons.

u-ux
Автор

I always found preemptive scheduling a poor choice compared with cooperative scheduling and was sad to see that Micrium uses it. The problem is that preemptive scheduling forces you to use semaphores to communicate between tasks. Semaphores are hard - experienced developers are wary and have tales to tell. Semaphores are needed around interrupts but littering them through application code adds complexity and bugs like deadlocks. By contrast cooperative scheduling tasks can assume that shared data is valid while they are running and will not change until they yield to another task.

jamesbromley