abhinarulkar
November 14th, 2002, 12:09 AM
Hi All,
May I know what are Real Time Operating Systems. Though I know the general overview of the concept, what I want to know is that what are the various constraints that the Real Time OS follows. Also I've read that real time systems do not have a secondary memory such as Disk, is it true?? If yes then does Real time systems only have a RAM or ROM ?? I've come across some people saying that real time systems may have a Disk as a secondary memory. This has lead me to confusion. Can anybody clear my doubts.
Thanks and regards,
Abhishek.
Gabriel Fleseriu
November 15th, 2002, 04:10 AM
First of all let me state that I am far from being a specialist in Operating Systems, real-time or not. I wrote a (rather primitive) operating system, so I will write down a few thoughts, without any guarantee of accuracy :)
An operating system is "real time" if some reactions of the operating system are guaranteed to happen in a known, well established, period of time. This of course sets a number of constraints regarding the hardware which has to have a predictable and acceptable reaction time.
Talking about darddisks, they are not exactly very suited for real time use, because their reaction time cannot be predicted very consistently. It depends on the current and desired position of the heads and on the layout of the data in the clusters. Of course you could settle the concept of "maximum" reaction time for a harddisk, considering the worst case, but I think this works only in theory. In practice, the worst case is hard to determine, because the data patterns stored on the disk are permanently changing, and mostly very complex. There may be approaches out there on how to handle this, but I don't know of any.
Another constraint real-time operating systems mostly have to meet is failure safety. If you have to guarantee that a reaction of the operating system will happen in a given time span, you have to guarantee that the reaction will happen at all, in a first place. Harddisks are not very failure safe. Approaches to address this problem exist (e.g. RAID).
Bottom line, I think that using a harddisk to build a hardware system that runs a real time operating system is a hairy thing to do. Of course, if the system knows two states, a real-time state and a setup state, you could use a harddisk to store the data needed in the setup state.