Hardware Resource Dispatcher for Concurrent Real-Time and General-Purpose OS Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing operating systems, such as Linux and Windows, are unsuitable for running real-time applications concurrently with general-purpose applications due to their lack of provision for real-time tasks, leading to performance issues when attempting to integrate real-time environments into non-real-time systems using emulation or virtual machines.

Innovation Solution

A system with a hardware resource dispatcher that schedules and allocates resources between multiple operating systems, prioritizing a critical real-time operating system while allowing a secondary general-purpose operating system to operate efficiently by denying access to resources that would interfere with the critical system, and handling interrupts to prevent pre-emption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If emulation or virtual machines are used to run real-time applications on non-real-time operating systems, then real-time applications can execute on general-purpose systems, but performance degradation occurs due to the heavier load and instruction replacement overhead

Engineering Contradiction:
Improveability to run real-time applications on general-purpose operating systemsVSAvoidexecution performance of real-time applications
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a real-time kernel as an intermediary layer between the non-real-time operating system and real-time applications. This kernel provides direct hardware access and interrupt handling capabilities to real-time applications without requiring full emulation or virtual machine overhead, thereby maintaining high execution performance while enabling real-time capabilities on general-purpose systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a dual boot system is used to run either real-time or general-purpose operating systems, then each operating system can run independently, but the ability to run both types of applications simultaneously is lost

Engineering Contradiction:
Improveindependent operation of real-time and general-purpose operating systemsVSAvoidability to run both real-time and general-purpose applications concurrently
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the operating system into two distinct kernels: a non-real-time kernel for general-purpose applications and a real-time kernel for time-critical applications. Both kernels can run simultaneously on the same system, with the real-time kernel having priority access to hardware resources and interrupt handling, thereby enabling concurrent execution of both real-time and general-purpose applications without mutual interference.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If hardware interrupts are allowed to preempt the real-time operating system, then responsive interrupt handling is achieved, but real-time performance and timing guarantees are compromised

Engineering Contradiction:
Improveinterrupt handling responsivenessVSAvoidreal-time execution time guarantees
Core Design Contradiction:
Ease of operationVSDuration of action of moving object

Solution Approach 1:

The patent implements different interrupt handling policies for different kernels: the real-time kernel has exclusive or priority access to hardware interrupts, ensuring that time-critical operations can preempt non-real-time operations. This local differentiation of interrupt handling quality allows the real-time system to maintain strict timing guarantees while still providing responsive interrupt handling for time-critical applications.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8201170B2Operating systems are executed on common program and interrupt service routine of low priority OS is modified to response to interrupts from common program only
Publication Date: 2012.06.12 VIRTUALLOGIX
  • US8201170B2 patent drawing
  • US8201170B2 patent drawing
  • US8201170B2 patent drawing

AI summary

A method of enabling multiple different operating systems to run concurrently on the same computer, comprising selecting a first operating system to have a relatively high priority (the realtime operating system. such as C5); selecting at least one secondary operating system to have a relatively lower priority (the general purpose operating system, such as Linux); providing a common program (a hardware resource dispatcher similar to a nanokernel) arranged to switch between said operating systems under predetermined conditions; and providing modifications to said first and second operating systems to allow them to be controlled by said common program.