OS Context Switching Layer for Direct Hardware Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for switching between multiple operating systems on a computer are inefficient, particularly requiring rebooting and reducing performance for applications needing direct access to hardware devices.

Innovation Solution

Implementing a context switching layer between the operating system and hardware layer, which allows for switching between OS without rebooting by allocating memory and preserving the state of the first OS for later restoration, using a minimalist hypervisor to facilitate direct hardware access and optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization is used to run multiple guest operating systems on a host operating system, then multiple OSs can run simultaneously, but direct access to hardware devices is blocked which reduces performance

Engineering Contradiction:
Improveability to run multiple operating systemsVSAvoidperformance for applications requiring direct hardware access
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically switches between virtualized mode (when multiple OSs are needed) and direct hardware access mode (when performance is critical). The context switching layer can selectively enable or disable virtualization based on the active OS and application requirements, making the virtualization infrastructure flexible rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent extracts the essential context switching functionality from the full virtualization stack. Instead of maintaining complete virtualization overhead, it removes only the necessary components for OS switching while allowing direct hardware access, thereby eliminating the performance penalty of full virtualization when not needed.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If traditional booting procedures are used to switch between operating systems, then OS switching is possible, but the process is slow due to reboot requirements

Engineering Contradiction:
Improveability to switch between operating systemsVSAvoidtime required for OS switching
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading multiple operating systems into memory and preparing their execution contexts in advance. The context switching layer maintains ready-to-execute OS images and their associated hardware state, so when switching is required, the system can immediately activate the next OS without time-consuming boot sequences.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and maintains copies of operating system images in memory rather than loading them from storage during switching. Multiple OS copies reside simultaneously in RAM with their execution contexts preserved, enabling instant switching by simply changing which copy is active, bypassing the need for repeated disk I/O and initialization.

Inventive Principle:
Principle #26Copying

3Loss of time

If a context switching layer is inserted between the operating system and hardware layer, then fast switching without rebooting is achieved, but system complexity increases

Engineering Contradiction:
Improvetime for OS switchingVSAvoidcomplexity of system architecture
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The context switching layer serves as a thin intermediary between the OS and hardware, providing only the essential functions needed for fast switching: context preservation, memory management, and boot sequence initiation. By limiting the intermediary's scope to these core functions rather than full virtualization, the added complexity is minimized while achieving the goal of rapid OS switching.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10127073B2Operating system context switching
Publication Date: 2018.11.13 SAMSUNG ELECTRONICS CO LTD
  • US10127073B2 patent drawing
  • US10127073B2 patent drawing
  • US10127073B2 patent drawing

AI summary

A technique for quickly switching between a first operating system (OS) and a second OS involves deactivating the first OS and loading the second OS from dynamic memory. The technique can include inserting a context switching layer between the first OS and a hardware layer to facilitate context switching. It may be desirable to allocate dynamic memory for the second OS and preserve state of the first OS before deactivating the first OS and loading the second OS from the dynamic memory.