SebastianOberschwendtner / OTOS

Bearbones realtime operating system for embedded systems. Focus lies on KISS (Keep-It-Super-Simple).
GNU General Public License v3.0
2 stars 0 forks source link

Add Preemptive Scheduling #1

Open SebastianOberschwendtner opened 3 years ago

SebastianOberschwendtner commented 3 years ago

Expected Behavior

The task execution should be interrupted by the kernel and the SysTick timer should be used to schedule the next task to be executed.

Todos for Preemptive Scheduling

SebastianOberschwendtner commented 2 years ago

Update

The current work enables a priority and timing based scheduling. But there is no preemption out of the box yet. The rationale behind this is to not interrupt critical threads and hardware dependent threads in the middle of their execution. A real-time application should anyhow put some thought into the correct schedule and not rely on the OS to do that.

Upcoming

The current thread scheduling can probably just be executed in an interrupt and then preemption should be possible, but this has to be tested first! Also the current scheduling is computed every 1 ms which may be to fast for the preemptive version.