Replies: 2 comments 5 replies
-
Hi, I can provide some background on the history of SCH: The RTEMS (and other RTOS priority based preemptive schedulers) will schedule the highest priority task that is ready to run, correct? In the case of a cFS system using SCH, are we using SCH as a "high level" scheduler and the RTOS priority based preemptive scheduler as an arbiter when multiple apps are ready to run at the same time? If this is not a valid use case, what would a cFS system look like without SCH? I know that new apps can be written to sleep for a specific time, and just check for SB messages rather than pend, etc, but it would definitely require changes to the suite of cFS apps that are driven by message traffic. I am curious to know what others think. Regards, |
Beta Was this translation helpful? Give feedback.
-
@stanislaw is the handbook posted somewhere public? |
Beta Was this translation helpful? Give feedback.
-
Hello,
I would like to ask this on behalf of our SW team.
The ECSS software handbook (ECSS-E-HB-40A) describes a few scheduling models appropriate for avionics software. The SCH application provided with cFS seems to implement something similar to a table-driven Cyclic Executive, and RTEMS by default is configured to use a priority-driven preemptive scheduler. Both of these scheduling models are valid in isolation, but in putting cFS on top of RTEMS it seem that we are effectively defining a completely different scheduling policy (cyclic executive) on top of another (fixed priority preemptive), when the RTEMS fixed-priority scheduler coupled with a sound rate-monotonic analysis alone would suffice.
(see also: RTEMS' rate monotonic manager)
Is the SCH application intended to be used when the underlying RTOS already provides sound real-time scheduling capability?
We also appreciate any pointers to the documentation or the slides or anything else where the topic of scheduling in the context of cFS is explained.
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions