OS Switching via DMA Space Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveswitching efficiencyVSAvoidphysical address space
Core Design Contradiction:
ProductivityVSArea of stationary object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory resourcesVSAvoidresource allocation flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9910677B2Operating environment switching between a primary and a secondary operating system
Publication Date: 2018.03.06 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US9910677B2 patent drawing
  • US9910677B2 patent drawing
  • US9910677B2 patent drawing

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.