I'm trying to understand the fundamentals of the Real Time Operating System ( FreeRTOS) .
https://www.freertos.org/RTOS-task-states.html
What I have understood after reading so far, I am describing it with the help of an example.
Example :
Task priority
Task 1 has the highest priority.
Task 2 has the lowest priority
Task Time
Task 1 must be handled and completed without failure at every 40us.
Task 2 must be completed in under 800μs.
CPU time
Task 1 takes 5us CPU time
Task 2 takes 800us CPU time.
In FreeRTOS, a task has four states:
Ready :
Task 1 and Task 2 are ready to run but currently not running on processor
Running :
Task 1 and Task 2 are both ready to run but scheduler picks Task 1 as it is a higher priority task and should be run first.
Blocked :
Task 1 runs on the processor for 5us and it goes into a blocked state for 35 us.
I don't understand any difference between suspended and blocked state. I want someone to explain me how suspended state is different from blocked state
https://www.freertos.org/RTOS-task-states.html
What I have understood after reading so far, I am describing it with the help of an example.
Example :
Task priority
Task 1 has the highest priority.
Task 2 has the lowest priority
Task Time
Task 1 must be handled and completed without failure at every 40us.
Task 2 must be completed in under 800μs.
CPU time
Task 1 takes 5us CPU time
Task 2 takes 800us CPU time.
In FreeRTOS, a task has four states:
Ready :
Task 1 and Task 2 are ready to run but currently not running on processor
Running :
Task 1 and Task 2 are both ready to run but scheduler picks Task 1 as it is a higher priority task and should be run first.
Blocked :
Task 1 runs on the processor for 5us and it goes into a blocked state for 35 us.
I don't understand any difference between suspended and blocked state. I want someone to explain me how suspended state is different from blocked state