Multi-OS Hardware Control via Firmware Driver Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Consumer electronics devices often require specific operating systems to support particular media formats, limiting flexibility and increasing development costs due to the need for multiple CPU cores and software stacks, which can restrict the choice of operating systems available to manufacturers.

Innovation Solution

A technique that allows multiple operating systems to run simultaneously on a single device, with each OS having its own CPU and memory stack, enabling seamless switching between them by disabling and enabling device drivers through a firmware layer, allowing the device to handle different media formats without rebooting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple operating systems are run simultaneously on a single device with separate CPU and memory stacks, then the device can handle different media formats without rebooting, but the device complexity increases

Engineering Contradiction:
Improvemedia format compatibilityVSAvoidsoftware stack complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system divides the computing device into multiple independent software stacks, each containing an operating system with its own CPU and memory stack. This segmentation allows each OS to independently handle specific media formats while maintaining overall system versatility without requiring a complete system reboot.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The device achieves multi-functionality by enabling a single device to run multiple operating systems simultaneously, each capable of handling different media formats. This universal approach eliminates the need for format-specific device configurations and allows seamless media format compatibility through OS-level switching.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Loss of time

If device drivers are dynamically disabled and enabled to switch between operating systems, then switching time is reduced compared to rebooting, but the control mechanism complexity increases

Engineering Contradiction:
Improveoperating system switching timeVSAvoiddriver control mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements dynamic driver management where device drivers can be enabled or disabled on demand based on the active operating system. This dynamic approach allows rapid OS switching by simply changing driver states rather than performing a full system reboot, significantly reducing switching time while maintaining efficient resource utilization.

Inventive Principle:
Principle #15Dynamics

3Reliability

If firmware is used to route device driver messages selectively, then hardware resource access control is improved, but the firmware layer complexity increases

Engineering Contradiction:
Improvehardware access controlVSAvoidfirmware structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The firmware acts as an intermediary layer between device drivers and hardware resources, selectively routing messages based on the active operating system. This mediator approach ensures reliable hardware access control by preventing disabled OS drivers from accessing hardware while allowing enabled drivers to communicate seamlessly, maintaining system integrity during OS transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8286195B2Controlling hardware across two or more simultaneously running operating systems
Publication Date: 2012.10.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8286195B2 patent drawing
  • US8286195B2 patent drawing
  • US8286195B2 patent drawing

AI summary

A computing device has two or more software stacks, each stack simultaneously running a different operating system. Only one enabled operating system at a time has control of hardware resources of the computing device. Each disabled operating system has its device drivers disabled. The drivers may be disabled by stopping device driver messages to devices at a firmware layer unassociated with any operating system. The drivers may be disabled by having their associated operating system dynamically unload them when the operating system is disabled. In some instances, the drivers may be modified to include a “stop” control that tells the driver to stop communicating with its associated device, and a “resume” control that tells the driver to resume communication. When an operating system is disabled, the operating system may send a “stop” message to its device drivers. Drivers associated with messages passed between operating systems may remain enabled.