Introducing: RTOS Revealed -

Introducing: RTOS Revealed


It is my pleasure to introduce a new series of articles here on RTOS Revealed . The series will delve into all aspects of real time operating systems and new articles will appear at approximately monthly intervals.

The series is intended for any developer who is curious about how to use an RTOS and how they work. The starting point will be some consideration of real time systems in general, then how an RTOS can make their implementation easier and the resulting code more reliable.

Looking under the hood of an RTOS, we will look at how task scheduling works. The multi-threading paradigm makes it appear that the CPU is performing multiple actions simultaneously. It is not magic – an understanding of task scheduling will make it quite comprehensible to even an inexperienced software engineer. Similarly, articles will cover other RTOS objects – for inter-task communication and synchronization, timing, memory management etc. – with a similar level of rigor, all backed up with example code.

A key aspect of an RTOS, from a developer’s point of view, is the Application Program Interface (API). This is a set of procedure calls that give access to the functionality of the RTOS. Articles in the series will look at how an API is organized, what standards are available and how migration from one API to another may be achieved.

Here is some idea of the topics that will be addressed in articles in the months to come:

  • Program structure and real time

  • Real time operating systems

  • Tasks and scheduling

  • Inter-task communication and synchronization

  • Other OS services

  • Introducing Nucleus SE

  • The scheduler

  • Tasks

  • Memory partitions

  • Signals

  • Event flag groups

  • Semaphores

  • Mailboxes

  • Queues

  • Pipes

  • System time

  • Application timers

  • Interrupts

  • Diagnostic and error checking

  • Initialization and start-up

In my experience, readers are not shy about asking questions and expressing opinions. My hope is that, in addition to being informative, RTOS Revealed may become something a forum for discussing RTOS matters. Such discussion is likely the shape the progress of the series over time. If you have a question about using an RTOS, this is place to ask it.

A bonus
The RTOS Revealed series is not tied to any specific real time operating system – much of the material will be applicable to most RTOS implementations. My view, that using an existing – probably commercially backed and supported – RTOS is the safest and most productive way to proceed, will be reflected in the series. Indeed, an article will be dedicated to the detailed consideration of the “make vs buy” decision and another to an RTOS selection methodology.

However, as a means to explain the internal functionality of an RTOS, I will be including all the code to a real RTOS product – Nucleus SE – which you are free to deploy in your own projects at no cost. A whole article will introduce Nucleus SE and place it in context.

Going forward
I am excited to have the opportunity to embark on this series and hope that you will come along for the ride. In the next article, I will be taking a look at real time systems and how an RTOS fits into the picture.

Colin Walls has over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is an embedded software technologist with Mentor Embedded [the Mentor Graphics Embedded Software Division], and is based in the UK. His regular blog is located at: He may be reached by email at

6 thoughts on “Introducing: RTOS Revealed

  1. “There is a well known third choice beyond “make vs buy” that I would also like to see addressed, preferably along with the first two. Of course I'm talking about “free”. FreeRTOS is the first that comes to mind and it is used in commercial products so

    Log in to Reply
  2. “I will be reading with interest your article series Collin, thanks for sharing. I am curious to find out more about “””how migration from one API to another may be achieved”””. Are you referring to OS Abstraction Layers (OSAL)? nnOn the subject of

    Log in to Reply
  3. “It would be nice if you applied the theory to a bare bones workable code such as MSDOS. Anyway, I look forward to the series. Years ago I purchased and read a book on FreeRTOS. “

    Log in to Reply
  4. “I look forward to this as well. An online RTOS class sponsored by University of Texas at Austin on EDX just started and this series will dovetail nicely with it. I too am curious about at least from a high level comparing say FreeRTOS vs QNX vs VxWorks

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.