Memory Utilization by RTOS

Some embedded systems need an OS due to their complexity. Usually, it is a real time operating system. Now the issue is, an OS is actually an overhead because it cannibalizes memory, which would have otherwise been used by the application code.

Since embedded systems have limited resources, it is important that the memory consumption by the RTOS is carefully evaluated. If you are an embedded engineer or involved in software development for an embedded system, you would probably want to know how much memory a potential RTOS system will use.

But this is not so easy. An RTOS’ memory consumption is affected by a large number of variables. In most cases, even the RTOS vendor is unable to give a precise answer for how much memory his RTOS will use. Variables include the type of memory used (RAM or ROM), CPU architecture, RTOS configuration, code size, data size, runtime library and other factors. So it is unrealistic to expect a straight answer.

If you still persist, the vendor will give you a test case. He will give you the ROM and RAM consumption by the RTOS, on a particular processor, for both essential and multiple services. He might even inform you what you can do to reduce the ROM memory consumption. Now it depends on you to extract relevant data from this ‘answer’.