Virtual Machine Device Initialization for Lower Verification Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of achieving formal verification in device operation across multiple operating system modalities increases due to the amount of code required by formally verified operating systems, making it challenging to manage device initialization and operations effectively.
Innovation Solution
A method where a first virtual machine performs device initialization operations and determines the initialized state, while a second virtual machine, potentially formally verified, handles device operations, separating the code and reducing the need for extensive formal verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If device initialization operations are included in the formally verified operating system code, then the operating system can perform both initialization and operations, but the complexity of achieving formal verification increases significantly
Solution Approach 1:
The patent divides the operating system functionality into two separate virtual machines: a first virtual machine that performs device initialization operations, and a second virtual machine that performs device operations in initialized state. This segmentation allows the formally verified operating system to only include the second virtual machine's code, excluding the initialization code from verification requirements, thereby reducing formal verification complexity while maintaining multi-modality support
2Ease of manufacture
If device initialization code is separated from the formally verified operating system, then formal verification resources are reduced, but the system requires multiple virtual machines to operate
Solution Approach 1:
The patent introduces a hypervisor as an intermediary layer that manages multiple virtual machines, including the first virtual machine for initialization and the second virtual machine for operations. The hypervisor handles the complexity of multi-VM management, allowing the formally verified operating system to focus solely on device operations without burden of initialization code, thus reducing verification resources while managing VM architecture complexity
Data Source
AI summary
Device initialization by an access-restricted virtual machine, including: restricting access by a first operating system to a device during one or more device initialization operations, wherein the first operating system is executing in a first virtual machine supported by a hypervisor; determining, by a second operating system executing in a second virtual machine supported by the hypervisor, one or more modifications attempted by the first operating system to the device; and performing, by the second operating system, the one or more modifications to the device.


