← Back to Patent Explorer
US5721922A Expired / Lapsed US ⏱️ 0.0 years remaining

Embedding a real-time multi-tasking kernel in a non-real-time operating system

Assignee: Intel Corp
•
Filing: 1994-10-13
•
Granted: 1998-02-24
•
Expires: 2014-10-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The invention provides a method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system. Through encapsulating a real-time kernel into the interrupt handling environment of a non-real-time graphical user interface, such as Windows®, the method of the present invention allows for an entire real-time environment to be supported within the graphical user interface. The scheduler of the real-time kernel supports multiple threads of execution all running at higher priority than the graphical user interface tasks. By using synchronization mechanisms of the graphical user interface, e.g. V×D events in enhanced mode Windows®, the real-time tasks are able to make use of system services of the graphical user interface.

Inventors

  • 👤 Thomas J. Dingwall

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 23:29
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/44; G06F9/455; G06F9/45533; G06F9/45537; H; H04; H04N; H04N7/00; H04N7/16; H04N7/173; H04N7/17309; H04N7/17336

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 157 words
A method for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said method comprising the steps of: invoking a real-time interrupt handler in a V×D interrupt mode of a V×D environment in response to a signal received indicating that natural data type information are to be processed; disabling a real-time scheduler embedded in said V×D environment while a plurality of real-time tasks for processing said natural data type information are invoked by said real-time interrupt handler, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment by said real-time scheduler when said real-time scheduler is enabled; scheduling a real-time event for enabling said disabled real-time scheduler; and executing said plurality of real-time tasks for processing said natural data type information, said executing being performed by said enabled real-time scheduler in said V×D event mode.
Claim 2
Independent Claim 157 words
A method for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said method comprising the steps of: invoking a real-time interrupt handler in a V×D interrupt mode of a V×D environment in response to a signal received indicating that natural data type information are to be processed; disabling a real-time scheduler embedded in said V×D environment while a plurality of real-time tasks for processing said natural data type information are invoked by said real-time interrupt handler, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment by said real-time scheduler when said real-time scheduler is enabled; scheduling a real-time event for enabling said disabled real-time scheduler; and executing said plurality of real-time tasks for processing said natural data type information, said executing being performed by said enabled real-time scheduler in said V×D event mode.
Claim 3
Dependent Claim 42 words
The method of claim 1 further comprising the steps of: creating real-time tasks to handle communication or natural data types captured or processed for a playback; and scheduling said real-time tasks, said scheduling performed by said real-time scheduler in said V×D environment.
Claim 4
Dependent Claim 34 words
The method of claim 1 further comprising the step of causing a processor to switch from executing in a virtual machine to a V×D interrupt mode, said step performed by a virtual machine manager.
Claim 5
Dependent Claim 16 words
The method of claim 1 wherein said signal comprises a hardware interrupt indicating an audio/video capture.
Claim 6
Dependent Claim 20 words
The method of claim 1 wherein said signal comprises a graphic user interface application call to indicate an audio/video playback.
Claim 7
Dependent Claim 52 words
The method of claim 3 further comprising the steps of: entering said V×D environment; executing a real-time interrupt handler in said V×D environment in a V×D interrupt mode; entering V×D event mode and executing said real-time event; and returning to said virtual machine manager and resuming normal operation in said virtual machine.
Claim 8
Dependent Claim 72 words
The method of claim 6 wherein said step of executing said real-time interrupt handler further comprises the steps of: calling said real-time interrupt handler; enabling a scheduling lock to prevent said real-time scheduler from switching tasks; scheduling said real-time event with said virtual machine manager to process said real-time tasks in said V×D event mode; and processing rescheduling to cause all ready real-time tasks to be executed over lower priority idle task.
Claim 9
Dependent Claim 38 words
The method of claim 6 wherein said step of entering V×D event mode further comprises the steps of: unlocking said scheduling lock; preempting said idle task; and executing said real-time tasks made ready by said V×D interrupt handler.
Claim 10
Independent Claim 220 words
An apparatus for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said apparatus comprising: a real-time interrupt handler for disabling a real-time scheduler from executing a plurality of real-time tasks in a V×D interrupt mode of a V×D environment while said real-time interrupt handler invokes said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment, said real-time interrupt handler invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode; said plurality of real-time tasks for processing said natural data type information, said plurality of real-time tasks being invoked in said V×D interrupt mode by said real-time interrupt handler and coupled to said real-time interrupt handler; a real-time event for enabling said disabled real-time scheduler for executing said plurality of real-time tasks in a V×D event mode of said V×D environment, said real-time event coupled to said plurality of real-time tasks; and said real-time scheduler for executing said plurality of real-time tasks in said V×D event mode when enabled, said real-time scheduler coupled to said real-time event.
Claim 11
Independent Claim 220 words
An apparatus for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said apparatus comprising: a real-time interrupt handler for disabling a real-time scheduler from executing a plurality of real-time tasks in a V×D interrupt mode of a V×D environment while said real-time interrupt handler invokes said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment, said real-time interrupt handler invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode; said plurality of real-time tasks for processing said natural data type information, said plurality of real-time tasks being invoked in said V×D interrupt mode by said real-time interrupt handler and coupled to said real-time interrupt handler; a real-time event for enabling said disabled real-time scheduler for executing said plurality of real-time tasks in a V×D event mode of said V×D environment, said real-time event coupled to said plurality of real-time tasks; and said real-time scheduler for executing said plurality of real-time tasks in said V×D event mode when enabled, said real-time scheduler coupled to said real-time event.
Claim 12
Dependent Claim 28 words
The apparatus of claim 9 further comprising a virtual machine manager for causing a processor to switch from executing in a virtual machine to a V×D interrupt mode.
Claim 13
Dependent Claim 38 words
The apparatus of claim 10 further comprising a hardware interrupt for indicating an audio/video capture, signaling said virtual machine manager to cause said processor to switch from executing in said virtual machine mode to said V×D interrupt mode.
Claim 14
Dependent Claim 41 words
The apparatus of claim 10 further comprising a graphic user interface application call for indicating an audio/video playback, signaling said virtual machine manager to cause said processor to switch from executing in said virtual machine mode to said V×D interrupt mode.
Claim 15
Dependent Claim 71 words
The apparatus of claim 10 further comprising a real-time interrupt handler for calling said real-time task, enabling a scheduling lock to prevent said real-time scheduler from switching tasks, scheduling said real-time event with said virtual machine manager to process said real-time tasks in said V×D event mode, making said real-time tasks ready for execution, and processing rescheduling to cause all ready real-time tasks to be executed over lower priority idle task.
Claim 16
Dependent Claim 34 words
The apparatus of claim 10 wherein said virtual machine manager invokes V×D event mode for unlocking said scheduling lock, preempting said idle task, and executing said real-time tasks called by said real-time interrupt handler.
Claim 17
Independent Claim 189 words
An apparatus for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said apparatus comprising: means for disabling execution of a plurality of real-time tasks in a V×D interrupt mode in a V×D environment while said means for disabling is invoking said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode in said V×D environment, said means for disabling invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode; said plurality of real-time tasks for processing said natural data type information and coupled to said means for disabling; a real-time event for enabling said disabled execution of said plurality of real-time tasks; and means for executing said plurality of real-time tasks in said V×D event mode when said execution of said plurality of real-time tasks is enabled by said real-time event, said means for executing coupled to said real-time event.
Claim 18
Independent Claim 189 words
An apparatus for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said apparatus comprising: means for disabling execution of a plurality of real-time tasks in a V×D interrupt mode in a V×D environment while said means for disabling is invoking said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode in said V×D environment, said means for disabling invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode; said plurality of real-time tasks for processing said natural data type information and coupled to said means for disabling; a real-time event for enabling said disabled execution of said plurality of real-time tasks; and means for executing said plurality of real-time tasks in said V×D event mode when said execution of said plurality of real-time tasks is enabled by said real-time event, said means for executing coupled to said real-time event.
Claim 19
Dependent Claim 43 words
The apparatus of claim 15 further comprising: means for creating real-time tasks to handle communication or natural data types captured or processed for a playback; and means for scheduling said real-time tasks, said scheduling performed by said real-time scheduler in said V×D environment.
Claim 20
Dependent Claim 33 words
The apparatus of claim 15 further comprising means for causing a processor to switch from executing in a virtual machine to a V×D interrupt mode, said means performed by a virtual machine manager.
Claim 21
Dependent Claim 17 words
The apparatus of claim 15 wherein said signal comprises a hardware interrupt to indicate an audio/video capture.
Claim 22
Dependent Claim 20 words
The apparatus of claim 15 wherein said signal comprises a graphic user interface application call to indicate an audio/video playback.
Claim 23
Dependent Claim 56 words
The apparatus of claim 17 further comprising: means for entering said V×D environment; means for executing a real-time interrupt handler in said V×D environment in a V×D interrupt mode; means for entering V×D event mode and executing said real-time event; and means for returning to virtual machine manager and resuming normal operation in said virtual machine.
Claim 24
Dependent Claim 76 words
The apparatus of claim 20 wherein means for executing a real-time interrupt handler further comprises: means for calling said real-time interrupt handler; means for enabling a scheduling lock to prevent said real-time scheduler from switching tasks; means for scheduling said real-time event with a virtual machine manager to process said real-time tasks in said V×D event mode; and means for processing rescheduling to cause all ready real-time tasks to be executed over currently executing idle task.
Claim 25
Dependent Claim 38 words
The apparatus of claim 20 wherein means for entering V×D event mode further comprises: means for unlocking said scheduling lock, preempting said idle task; and means for executing said real-time tasks made ready by said real-time interrupt handler.
Claim 26
Dependent Claim 238 words
A computer system for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said system comprising: a storage element including, a real-time interrupt handler for disabling a real-time scheduler from executing a plurality of real-time tasks in a V×D interrupt mode of a V×D environment while said real-time interrupt handler invokes said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment, said real-time interrupt handler invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode, said plurality of real-time tasks for processing said natural data type information, said plurality of real-time tasks being invoked in said V×D interrupt mode by said real-time interrupt handler and coupled to said real-time interrupt handler, a real-time event for enabling said disabled real-time scheduler for executing said plurality of real-time tasks in a V×D event mode of said V×D environment, said real-time event coupled to said plurality of real-time tasks, and said real-time scheduler for executing said plurality of real-time tasks in said V×D event mode when enabled, said real-time scheduler coupled to said real-time event; and a processor for driving said real-time interrupt handler and said real-time scheduler.
Claim 27
Dependent Claim 238 words
A computer system for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said system comprising: a storage element including, a real-time interrupt handler for disabling a real-time scheduler from executing a plurality of real-time tasks in a V×D interrupt mode of a V×D environment while said real-time interrupt handler invokes said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode of said V×D environment, said real-time interrupt handler invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode, said plurality of real-time tasks for processing said natural data type information, said plurality of real-time tasks being invoked in said V×D interrupt mode by said real-time interrupt handler and coupled to said real-time interrupt handler, a real-time event for enabling said disabled real-time scheduler for executing said plurality of real-time tasks in a V×D event mode of said V×D environment, said real-time event coupled to said plurality of real-time tasks, and said real-time scheduler for executing said plurality of real-time tasks in said V×D event mode when enabled, said real-time scheduler coupled to said real-time event; and a processor for driving said real-time interrupt handler and said real-time scheduler.
Claim 28
Dependent Claim 28 words
The system of claim 23 further comprising a virtual machine manager for causing a processor to switch from executing in a virtual machine to a V×D interrupt mode.
Claim 29
Dependent Claim 38 words
The system of claim 24 further comprising a hardware interrupt for indicating an audio/video capture, signaling said virtual machine manager to cause said processor to switch from executing in said virtual machine mode to said V×D interrupt mode.
Claim 30
Dependent Claim 41 words
The system of claim 24 further comprising a graphic user interface application call for indicating an audio/video playback, signaling said virtual machine manager to cause said processor to switch from executing in said virtual machine mode to said V×D interrupt mode.
Claim 31
Dependent Claim 71 words
The system of claim 24 further comprising a real-time interrupt handler for calling said real-time task, enabling a scheduling lock to prevent said real-time scheduler from switching tasks, scheduling said real-time event with a virtual machine manager to process said real-time tasks in said V×D event mode, making said real-time tasks ready for execution, and processing rescheduling to cause all ready real-time tasks to be executed over lower priority idle task.
Claim 32
Dependent Claim 34 words
The system of claim 24 wherein said virtual machine manager invokes V×D event mode for unlocking said scheduling lock, preempting said idle task, and executing said real-time tasks called by said V×D interrupt handler.
Claim 33
Independent Claim 205 words
An system for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said system comprising: means for storing, means for disabling execution of a plurality of real-time tasks in a V×D interrupt mode in a V×D environment while said means for disabling is invoking said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode in said V×D environment, said means for disabling invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode, said plurality of real-time tasks for processing said natural data type information and coupled to said means for disabling, a real-time event for enabling said disabled execution of said plurality of real-time tasks, and means for executing said plurality of real-time tasks in said V×D event mode when said execution of said plurality of real-time tasks is enabled by said real-time event, said means for executing coupled to said real-time event; and means for processing said means for disabling and said means for executing.
Claim 34
Independent Claim 205 words
An system for processing natural data type information, including audio and video data, without allowing other operations from preempting said processing until said processing is completed, said system comprising: means for storing, means for disabling execution of a plurality of real-time tasks in a V×D interrupt mode in a V×D environment while said means for disabling is invoking said plurality of real-time tasks, said plurality of real-time tasks being invoked for execution in a V×D event mode in said V×D environment, said means for disabling invoked in response to a signal received indicating that natural data type information are to be processed, said signal interrupting normal processing in a virtual machine mode and switching to processing in said V×D interrupt mode, said plurality of real-time tasks for processing said natural data type information and coupled to said means for disabling, a real-time event for enabling said disabled execution of said plurality of real-time tasks, and means for executing said plurality of real-time tasks in said V×D event mode when said execution of said plurality of real-time tasks is enabled by said real-time event, said means for executing coupled to said real-time event; and means for processing said means for disabling and said means for executing.
Claim 35
Dependent Claim 43 words
The system of claim 29 further comprising: means for creating real-time tasks to handle communication or natural data types captured or processed for a playback; and means for scheduling said real-time tasks, said scheduling performed by said real-time scheduler in said V×D environment.
Claim 36
Dependent Claim 33 words
The system of claim 29 further comprising means for causing a processor to switch from executing in a virtual machine to a V×D interrupt mode, said means performed by a virtual machine manager.
Claim 37
Dependent Claim 18 words
The system of claim 31 further comprising means for performing a hardware interrupt to indicate an audio/video capture.
Claim 38
Dependent Claim 21 words
The system of claim 31 further comprising means for performing a graphic user interface application call to indicate an audio/video playback.
Claim 39
Dependent Claim 57 words
The system of claim 31 further comprising: means for entering said V×D environment; means for executing a real-time interrupt handler in said V×D environment in a V×D interrupt mode; means for entering V×D event mode and executing said real-time event; and means for returning to said virtual machine manager and resuming normal operation in said virtual machine.
Claim 40
Dependent Claim 77 words
The system of claim 34 wherein said means for executing a real-time interrupt handler further comprises: means for calling said real-time interrupt handler; means for enabling a scheduling lock to prevent said real-time scheduler from switching tasks; means for scheduling said real-time event with a virtual machine manager to process said real-time tasks in said V×D event mode; and means for processing rescheduling to cause all ready real-time tasks to be executed over lower priority idle task.
Claim 41
Dependent Claim 39 words
The system of claim 34 wherein said means for entering V×D event mode further comprises: means for unlocking said scheduling lock, preempting said idle task; and means for executing said real-time tasks made ready by said V×D interrupt handler.

References Cited (Backward Citations)

US5081577A Cited
US5469571A Cited
US5515538A Cited
US5414848A Cited
US5528513A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-02-23 2001-08-25 2002-02-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-02-23 2005-08-25 2006-02-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-02-23 2009-08-25 2010-02-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag