??? 11/29/05 18:17 Read: times |
#104383 - A definition of RTOS Responding to: ???'s previous message |
This is stolen from the manual for MCX11 which I had the pleasure of porting to different micros and different languages (the original source is in assembly). The emphasis is mine:
"A real-time executive provides a software framework within which different processes can operate and gain access to various system resources. Real-time systems usually consist of several processes, or tasks, which need to have control of the system resources at varying times due to the occurrence of external events. These tasks are at various times competing for system resources such as memory, execution time, or peripheral devices. They range from being compute bound to I/O bound. Tasks which are I/O or compute bound cannot be allowed to monopolize a system resource if a more important function requires the same resource. There must be a way of interrupting the operation of the task of lesser importance and granting the needed resource to the more important task. A multitasking real-time executive promotes an orderly transfer of control from one task to another such that efficient usage of the computer's resources is achieved. Orderly transfers require that the executive keep track of the needed resources and the execution state of each task so that they can be granted to each task in a timely manner. The key word there is timely. A real-time system which does not perform a required operation at the correct time has failed. That failure can have consequences which range from the benign to the catastrophic. Response time to a need for executive services and the execution time of such services must be sufficiently fast enough so that no need goes undetected. One way to achieve timeliness is the assignment of a priority to each task. The priority of a task is then used to determine its place within the sequence of execution of all tasks. Tasks of low priority may have their execution pre-empted by a task of higher priority so that the latter can perform some time critical function. An event can be any stimulus which requires a reaction from the executive or a task. Examples of an event would include a timer interrupt, an alarm condition, or a keyboard input. Events may originate externally to the processor or internally from within the software. An executive which responds to these events as the stimuli for allocating resources is said to be event driven. If response time to any event occurs within a period of time which can be accurately defined and guaranteed, the executive can be said to be deterministic. By these definitions, MCX11 is a deterministic, event driven, multitasking, real-time executive." ESP Mag did a series on this a long time ago (Feb. 1990). I don't know if the articles are available online, but certainly on CD. I think today the term "multitasking OS" also implies some kind of memory protection, but the above uses "executive" as a replacement term anyway. FWIW it worked brilliantly on the HC11 and the only thing the HC11 has going for it that the 8051 does not, is that the stack pointer is not limited to a puny memory space. GB |