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…
Blogsphere: TechnoratiFeedsterBloglines
Bookmark: Del.icio.usSpurlFurlSimpyBlinkDigg
RSS feed for comments on this post | TrackBack URI for this post
New on WinAVR Tutorial
Running TX433 and RX433 RF modules with AVR microcontrollers,Sometimes in embedded design you may want to go wireless. Might be you will want to log various readi …Programming AVR ADC module with WinAVR,Most of AVR microcontrollers have Analog to Digital Converter (ADC) integrated in to chip. Such solut … |
New on WinARM Tutorial
What are differences between WinARM and WinAVR,Everyone who is working with AVR microcontrollers knows this powerful tool – WinAVR (http://win …LPC2000 watchdog timer,As in all microcontrollers watchdog timers purpose isto reset microcontroller after reasonable amount … |
