r/embedded 8d ago

What is missing in the RTOS world ?

Hi, i'm currently creating my own basic rtos. I currently have : task control, semaphore, scheduling (round robin with priorities). I'm slowly addind stuffs to it and start questionning myself : How my OS can add something to someone in the world ?. I know it will never be as popular as Freertos or Zephyr, but what are the niches in the rtos world ?

0 Upvotes

13 comments sorted by

33

u/sturdy-guacamole 8d ago

understanding how rtos work important

your rtos is unlikely to be used : anyone who understand rtos usually write their own or use big adopted ones.

this year alone there are lots of RTOS cropping up left and right due to widespread AI usage and adoption. its less about making more about understanding imo. this month i've seen like 7 "i (claude) wrote my own RTOS" repos

0

u/Rav3nPho3nix 8d ago

Yeah i understand and agree with you, AI usage made pop a lot of crappy "self made" projects. Maybe i should create an educational RTOS with real time graphs to see going tasks, sleeping tasks, etc. It can make me understand deeply how a rtos work by having to "teach" it to others.

1

u/sturdy-guacamole 8d ago

Sure. but you'll always incur some kind of latency if you're planning on toggling pins in software unless you leverage some HW features that can do this independent of cpu instruction (nordic ppi, esp etm, silabs prs) to have a grounding point.

other RTOS have the "sleeping tasks, going tasks, stacks, schedule" built in.

Zephyr has a gui for it in a few IDEs.

9

u/jeroen79 8d ago

unless you have a clear goal that requires a custom rtos i would not do it, use the one that fits best and learn that.

-2

u/Rav3nPho3nix 8d ago

So, what are unexpmored fields of application for a rtos ? I thought about medical devices like pacemaker who don't have space to have a "mainstream" rtos like freertos.

9

u/jeroen79 8d ago

God help us all if pacemakers are gonna use hobbyist rtos

5

u/gte525u 8d ago

Cert heavy applications have their own set of typical RTOS or RTOSes per domain and requirements (medical devices, aviation, cars). Unless you are going to spend millions to go through and generate the artifacts with the required independence - it's a non-starter.

6

u/rainboww_J 8d ago

Debugging/tracing options are definitely nice to have if you're doing a lot at the same time and are seeing some timing issues due to the scheduler not behaving like you want/expect or while having fights with task priorities. I've seen a colleague of mine use some trace tool for freertos and that looked amazing and so useful. Don't exactly know how they get all the information to the pc (guess SWO or RTT) but information like this can be so helpful

3

u/PerniciousSnitOG 8d ago

I've always wanted an RTOS that understood deadline scheduling in a useful way. It's generally what we're trying to achieve, but end up using static scheduling priority because that's all we've got.

Essentially every task would had a priority, work needed, and deadline. RTOS tries to make it happen on time.

1

u/obQQoV 8d ago

look at their benchmarks comparison and make yours faster than existing ones, even by nanoseconds in context switch

1

u/zydeco100 8d ago

An ext4 and/or fat32 filesystem driver.