what is real time operating system ? and is its
design is some thing different from monolithic
or micro kernel designs ? any examples of
real time os ?
many thank
suhmaamiar
real time operating system
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:real time operating system
real-time OS is one where any system call comes with a timing constraint, so that you can dezign applications that will perform some tasks (monitor cooling, scheduling motor cycles, turning on post-combustion, whatever) under strong time constraint (better turn on that f**in post-comb no later than 2ms after the radar notified a meteor or your LM is doomed).
This usually means that most of the allocation job is done at compile time, and that kernel and application are linked together strongly.
This usually means that most of the allocation job is done at compile time, and that kernel and application are linked together strongly.
Re:real time operating system
A real time OS garanties the programmer of an application that everything is done when it's neccessary.
Consider of two Tasks (running on a computer in a factory): Task A and Task B. Task A has to run at least every 100 ms (e.g. for reading sensor data and controlling a machine in response to it). Task B has to run every 70ms (for doing the same with another senso and another machine). The problem for the scheduler of an OS is to make sure that every process runs when it needs to do so. There is also a mathematical function that allows the sheduler to determine if this is possible (if there too many task and too less computer power it is not possible to run all jobs in real time)
There are two types of real-time OSs: soft real-time OS and hard real-time OS. The difference between them is that in soft real-time OSs it is tolerable to miss a condition. e.g. in a OS that is used for personal use (playing mp3s,surfing in the internet, compiling programms) it is tolerable if the mp3-player stops (or is to slow) while recompiling the whole system. On the other hand it is not tolerable if a mars rocket would miss the mars only because a astronaut plays his latest Ego-Shoter. (I think this will never happen but you know what I want to say). So hard real-time OSs are hard to programm because the system must be planed carefully
Consider of two Tasks (running on a computer in a factory): Task A and Task B. Task A has to run at least every 100 ms (e.g. for reading sensor data and controlling a machine in response to it). Task B has to run every 70ms (for doing the same with another senso and another machine). The problem for the scheduler of an OS is to make sure that every process runs when it needs to do so. There is also a mathematical function that allows the sheduler to determine if this is possible (if there too many task and too less computer power it is not possible to run all jobs in real time)
There are two types of real-time OSs: soft real-time OS and hard real-time OS. The difference between them is that in soft real-time OSs it is tolerable to miss a condition. e.g. in a OS that is used for personal use (playing mp3s,surfing in the internet, compiling programms) it is tolerable if the mp3-player stops (or is to slow) while recompiling the whole system. On the other hand it is not tolerable if a mars rocket would miss the mars only because a astronaut plays his latest Ego-Shoter. (I think this will never happen but you know what I want to say). So hard real-time OSs are hard to programm because the system must be planed carefully
Re:real time operating system
A couple more points:
- A real-time OS is not necessarily a fast OS. The kernel can take 24 hours to do a memory allocation, as long as it's guaranteed to always take 24 hours.
- Any kind of kernel can be real-time, micro or monolithic. However, the more deterministic and centralised nature of a monolithic kernel lends itself to real-time operation.
- A real-time OS is not necessarily a fast OS. The kernel can take 24 hours to do a memory allocation, as long as it's guaranteed to always take 24 hours.
- Any kind of kernel can be real-time, micro or monolithic. However, the more deterministic and centralised nature of a monolithic kernel lends itself to real-time operation.