OS Switching via DMA Space Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently switching between multiple operating environments on a single hardware platform, particularly in allocating memory resources effectively between primary and secondary operating systems without affecting the available physical address space.
Innovation Solution
The method involves creating and transferring a runtime image of the secondary operating environment into the system memory of the primary environment, allowing for seamless switching without requiring continuous memory allocation and maintaining the physical address space of the primary environment, thereby enabling efficient resource allocation and switching between operating environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a runtime image of the second operating environment is copied into the system memory of the first operating environment, then switching between operating environments becomes efficient and seamless, but the available physical address space for the first operating environment may be restricted
Solution Approach 1:
The system memory is segmented into distinct regions: one region stores the runtime image of the second operating environment, while another region maintains the physical address space for the first operating environment. This segmentation allows both operating environments to coexist without interfering with each other's memory allocation, resolving the contradiction between efficient switching and available address space.
Solution Approach 2:
The runtime image of the second operating environment is prepared and stored in a predetermined memory region in advance. This preliminary action ensures that when switching is needed, the transition can occur efficiently without requiring real-time memory allocation or address space reconfiguration, thus maintaining both switching efficiency and physical address space availability.
2Quantity of substance
If the primary operating environment is allocated maximum memory resources, then the primary environment can operate with full performance, but the secondary operating environment will have limited resources available
Solution Approach 1:
Different memory regions are assigned different quality characteristics: the primary operating environment receives maximum memory resources for optimal performance, while the secondary operating environment is allocated a specific predetermined region that is sufficient for its purposes. This local quality differentiation resolves the contradiction by providing appropriate resource levels to each environment based on its needs.
Data Source
AI summary
Provided is a manner of switching between the operating environment of a primary OS and the operating environment of a secondary OS. In certain embodiments, a HDD keeps a runtime image of the secondary OS generated in a system memory. A DMA space for allowing the secondary OS to operate is formed in a physical address space where a memory image of the primary OS is active. The runtime image of the secondary OS is transferred to the DMA space. The operation of the memory image of the primary OS is stopped and the runtime image of the secondary OS is executed in the DMA space. Before activating the memory image of the primary OS, the runtime image of the secondary OS is saved to the HDD again.


