OS Switching for Real-Time Interrupt Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional technologies face difficulties in efficiently securing real-time processing when real-time tasks are distributed across multiple operating systems.

Innovation Solution

An information processing apparatus with a reception unit and switching unit that switches between operating systems based on priority, using a virtual machine monitor to manage interrupts and task processing, ensuring that real-time tasks are assigned to high-priority cores and maintaining efficient real-time processing without relying on hypervisor affinity information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If real-time tasks are distributed across multiple operating systems using conventional virtualization technologies, then operating system diversity and task distribution are improved, but real-time processing efficiency deteriorates

Engineering Contradiction:
Improveoperating system diversityVSAvoidreal-time processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the system into a host OS and multiple guest OSes, with the host OS containing a real-time kernel that directly manages CPU cores. This segmentation allows guest OSes to run on non-real-time cores while real-time tasks are isolated and executed on dedicated real-time cores with direct access to hardware, eliminating the need for real-time tasks to traverse the hypervisor layer and ensuring deterministic real-time processing regardless of OS distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a real-time kernel in the host OS as an intermediary layer between the hardware and guest OSes. This real-time kernel directly manages real-time CPU cores and handles real-time task scheduling without requiring intervention from the hypervisor or guest OS schedulers, thereby ensuring that real-time processing efficiency is maintained even when tasks are distributed across multiple operating systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If hypervisor affinity information is used to manage task distribution, then task placement control is improved, but system complexity and configuration effort increase

Engineering Contradiction:
Improvetask placement controlVSAvoidsystem configuration effort
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the real-time task management functionality from the hypervisor and guest OS schedulers and places it directly in the host OS real-time kernel. This extraction eliminates the need for complex hypervisor affinity information and cross-OS task coordination mechanisms, simplifying the system architecture while maintaining precise control over real-time task placement on dedicated real-time cores.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The real-time kernel in the host OS performs self-service by directly scheduling and managing real-time tasks on real-time cores without requiring external coordination from hypervisors or guest OSes. This self-service approach simplifies the system by eliminating complex inter-OS communication and affinity management, reducing configuration effort while maintaining effective task placement control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10474494B2Information processing apparatus, information processing method, and computer program product
Publication Date: 2019.11.12 KK TOSHIBA
  • US10474494B2 patent drawing
  • US10474494B2 patent drawing
  • US10474494B2 patent drawing

AI summary

An information processing apparatus according to an embodiment includes a reception unit and switching unit. The reception unit receives an interrupt. The switching unit that switches a second operating system (OS) which is executing in a core to a first OS to which the interrupt for the first OS is input, when the reception unit receives an interrupt for the core in which the first OS is a priority OS and the second OS is not the priority OS.