Embedded RTOS System

RTOS – Real Time Operating system is a program environment which interfaces hardware and desired tasks. RTOS usually has built in set of services (interfaces and functions) which allow to interact between tasks and hardware. Because most low level functions are performed by RTOS realisation of programs becomes much easier.

What is difference between Embedded RTOS System and regular OS (Operating System)? The main difference is that RTOS performs tasks according to reaction time on one or another event. Many microcontrollers have ability to support one or another Real Time Operating System.

According to this we can say, that RTOS is a background application which controls multiple tasks and alleviates managing those tasks. Note that Operational system is able to perform multiple tasks at one time. This is called multitasking. We all know that microcontroller can perform only one task at one time, but if we cut time in to small pieces and perform all tasks in row for a bit time, then we achieve multitasking. This like illusion of performing tasks at one time.

If you are familiar with system programming of PC, then you should know what is processes and flow and about planning of tasks (including real time ones)…

So if you are going to use RTOS in your project, you should know the minimal requirements for your system – program memory, data memory and processor time of course. Program memory in microcontrollers are very limited. Embedded RTOS System takes quite much space of it because it has a big set of functions to support all hardware and particular routines.

All tasks in RTOS has its own priority. The biggest priority is given to most important tasks. Tasks are planned by so called planner which places all tasks in a row by giving to them some processor time and priority. As I mentioned only one task can be performed at a given moment. After given processor time of one task ends then it is stopped, saved its stage and processor time is given to another task. The time given to one task has to be not too long, that other tasks could be performed normally. In other hand those tasks shouldn’t be too short, because then all time will be used for switching between tasks.

Priority is another important parameter of tasks. Priority describes how fast particular task should react on event or interrupt. For instance if your project is some kind of a robot, then tasks related to reacting to sensors will have bigger priority then for example output information to display task…

If system becomes very big and number of tasks increases to a big numbers, then sometimes even tasks with biggest priority can be delayed. Then real time term becomes conditional…

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

To submit your comment, click the image below where it asks you to...