Real time operating systems

Hello, I am willing to learn and work on real time operating systems. so how should i begin with i mean should i have to study complete operating systems first. OR SHOULD I START DIRECTLY WITH SOME SMALL PROJECT.

You should stop SHOUTING and you should stop CROSS-POSTING

There have been several Arduino RTOS discussed in the forum. Suggest you start with a search and some reading.

I don’t believe in Real Time Operating Systems on a small MCU like an Atmega 328 or 2560. Have a look at the demo Several Things at a Time

IMHO an RTOS just uses up CPU cycles and adds complexity.

:slight_smile:

…R

IMHO an RTOS just uses up CPU cycles and

RAM

A RTOS is great for big teams, as you can split a project into smaller tasks or processes, which can be indepedendantly written and tested .

For small stuff written by one person it’s well over the top. There are easier ways - see reply #3

Allan

IMHO an RTOS just uses up CPU cycles and adds complexity.

There have been days in my life when I would have agreed :-)

I have written / architected serious stuff using several RTOS, BackInTheDay, and have even written one for 6502 that worked pretty well.

If you NEED predictable realtime response to a couple of things in Arduino you can do OK using your own interrupt routines.

If you need to write (and survive the experience) a complex system with several realtime events, multiple threads and semaphores and AllThatStuff, then a RTOS makes sense.

But they ARE intriguing and Way Cool software.

If you want to Really blow your mind, try writing a system with multiple circulating instantiations of the same code. Look up Petri Networks.

I'm 77 years old and glad to have retired into single-threaded Millis ArduinoLand :)

Did a little RTOS for a 6809 once - in my view the nicest little 8-bitter ever made

Allan

terrorblade: Hello, I am willing to learn and work on real time operating systems. so how should i begin with i mean should i have to study complete operating systems first. OR SHOULD I START DIRECTLY WITH SOME SMALL PROJECT.

For what you can fit on an Uno or Mega, that will only waste resources and slow down operation compared to a decently written cooperative tasking event driven program.

How it's done is explained on this board and on a number of web pages like the Nick Gammon's blogs linked to in my signature space at the bottom of this post.

Keep It Simple, keep it fast.