Multi-OS Hardware Control via Firmware Driver Switching
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If firmware is used to route device driver messages selectively, then hardware resource access control is improved, but the firmware layer complexity increases
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.
Data Source
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.


