User Mode Interrupt Translation for Low Latency Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current techniques for handling interrupts in modern processors require user programs to be mediated by the operating system, leading to poor performance and excessive privilege, as well as potential destructive race conditions, when user programs need direct notification from low-latency device resources.
Innovation Solution
The method involves identifying interrupts and determining the current execution mode, translating interrupt numbers for user mode execution while delivering them directly to user programs, thereby avoiding operating system mediation and maintaining proper isolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If interrupts are mediated by the operating system for user programs, then system control and security are maintained, but performance deteriorates and latency increases
Solution Approach 1:
The patent segments interrupt handling into two distinct paths: one for operating system mode (maintaining full OS mediation) and one for user mode (enabling direct interrupt delivery to user programs). This segmentation allows performance optimization for user programs without compromising OS control for system-critical operations.
Solution Approach 2:
The patent introduces an intermediary mechanism (the interrupt translation and delivery system) that selectively routes interrupts based on execution mode. For user mode, it acts as a bridge between hardware interrupts and user programs, enabling direct delivery while maintaining security boundaries. The system uses mode-specific interrupt number translation to mediate between hardware interrupt sources and appropriate handlers.
2Ease of operation
If user programs are given operating system level privileges for interrupt processing, then direct interrupt access is enabled, but system security and isolation are compromised
Solution Approach 1:
The patent applies local quality by providing different privilege levels and interrupt access mechanisms for different execution modes. User mode programs receive targeted interrupt access through translated interrupt numbers without obtaining full operating system privileges. This localized approach grants necessary access rights only where needed while maintaining strict isolation elsewhere.
Solution Approach 2:
The patent changes the interrupt number parameter based on execution mode. Hardware interrupts are translated to different interrupt numbers depending on whether the processor is in user mode or operating system mode. This parameter transformation enables user programs to receive interrupts through a controlled interface without exposing them to operating system level privileges or internal system structures.
Data Source
AI summary
A method includes for each processed interrupt: identifying an interrupt associated with a first interrupt number; determining that the interrupt is designated as a special interrupt, the special interrupt being an interrupt to be translated to a different interrupt number only if the hardware processor is in user mode; determining a current execution mode for the hardware processor; for each interrupt in operating system mode, delivering the interrupt as the first interrupt number; and for each interrupt in user mode: translating the first interrupt number to a second interrupt number; and delivering the interrupt as the second interrupt number, wherein the current execution mode is determined to be an operating system mode for at least one of the interrupts, and the current execution mode is determined to be a user mode for at least an additional one of the interrupts.


