: : : : I have a question
: : : :
: : : : A normal OS doesnt have preemption at the kernel level whereas the RTOS has a preemptive kernel. For this, the scheduler has to be re-written in such a way that it takes care of pre-emption. Is there any other feature(s) specific to a RTOS?
: : : :
: : : :
: : : :
: : :
: : : All of the systems that I program are considered real time embedded applications. For the DOS based systems I use Datalight's ROM-DOS, but I do not believe it would fall into the preemptive catagory. For those issues that need to be addressed immediately, interupts work just fine. I this what you are referring to?
: : :
: :
: :
: : DOS is no RTOS sence no timing is guaranteed. An application using DOS is therefore not a real-time application, even if you wish it was.
: :
: : Here is a good description of a RTOS:
: :
http://en.wikipedia.org/wiki/Real-time_operating_system
: :
: :
:
: Thanks for correcting me and for the link. From that link I copied the following:
:
: An operation within a larger dynamic system is called a real-time operation if the combined reaction- and operation-time of a task is shorter than the maximum delay that is allowed, in view of circumstances outside the operation.
:
: Which is substantially similar to what I had read before. So if we say that even if DOS is not a RTOS, could we not conclude that it is capable of real time operations? Example:One of the machines I programmed monitors motor load in a seperate thread from the main thread. When the motor load exceeds 115% rated load the computer shuts down operations quickly enough to avoid damage. Isn't this a real time operation?
:
:
Real time only means that the system must be guaranteed to respond in a certain time. So if the surrounding system is sluggish and we are talking about seconds or slower in response time, then I don't think DOS will fail to respond. But in the embedded industry such applications are rare though, a milisecond is an eternity on most industrial/stearing/telecom applications.
And I question if DOS is an operative system or just a programmer/user interface. When I want to add an OS to an application, the only demand I have is that it can handle multitasking and scheduling, and do so rather fast. And that is also the most common definition of the mimimum requirement on an OS.