Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
First Claim
1. A method for using events in a non-real time operating system to support real-time programming, said method comprising the steps of:
- running real-time tasks in a VxD environment;
using VxD events within the non-real time operating system to make VxD services available for use by said real-time tasks;
embedding a real-time scheduler in said VxD environment;
enabling multi-tasking using said real-time scheduler in said VxD environment, said real-time scheduler scheduling said real-time events to execute when needed; and
executing real-time tasks partially in an interrupt mode and partially in an event mode, based on when said real-time tasks are needed.
0 Assignments
0 Petitions
Accused Products
Abstract
An improved method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system is disclosed. Through encapsulating a real-time kernel into the interrupt handling environment of a non-real-time operating system, such as Windows®, the method of the present invention allows for an entire real-time environment to be supported within the operating system. The scheduler of the real-time kernel supports multiple threads of execution all running at higher priority than the application tasks. By using synchronization mechanisms of the operating system, e.g. VxD events in enhanced mode Windows®, the real-time tasks are able to make use of system services of the operating system. Real-time tasks not requiring system services execute more quickly from interrupt mode. Real-time tasks requiring system services execute partially from interrupt mode and partially from event mode.
211 Citations
14 Claims
-
1. A method for using events in a non-real time operating system to support real-time programming, said method comprising the steps of:
-
running real-time tasks in a VxD environment; using VxD events within the non-real time operating system to make VxD services available for use by said real-time tasks; embedding a real-time scheduler in said VxD environment; enabling multi-tasking using said real-time scheduler in said VxD environment, said real-time scheduler scheduling said real-time events to execute when needed; and executing real-time tasks partially in an interrupt mode and partially in an event mode, based on when said real-time tasks are needed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for using events in a non-real time operating system to support real-time programming, said system comprising:
-
a processor executing real-time tasks in a VxD environment; a real-time scheduler embedded in a VxD environment, said real-time scheduler enabling multi-tasking and using VxD events within the non-real time operating system to make VxD services available for use by said real-time tasks, said real-time scheduler also scheduling said real-time events to execute when needed; and means for executing said real-time tasks partially in an interrupt mode and partially in an event mode, based on when said real-time tasks are needed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for using events in a non-real time operating system to support real-time programming comprising:
-
receiving a hardware interrupt related to a real-time task in virtual machine mode; executing a real-time interrupt handler in an interrupt mode of a VxD environment to process the interrupt; determining whether the interrupt requires virtual machine services; processing interrupt handling tasks that do not require the virtual machine services in the interrupt mode of the VxD environment; and processing interrupt handling tasks that require the virtual machine services in an event mode of the VxD environment with a virtual machine manager. - View Dependent Claims (14)
-
Specification