Simulator System Call Table Modification for Execution Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing system call method between Android X86 and Windows x86 systems, implemented using int80 instructions, suffers from poor exception handling performance, leading to suboptimal system call execution.

Innovation Solution

A system call method and apparatus that loads a library file and pre-scanned system call table, searches for and modifies the position information of target system files to use an execution function instead of int80 instructions, thereby intercepting software interrupt instructions and improving execution speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If int80 instructions are used to implement system calls between Android X86 and Windows x86 systems, then system call functionality is achieved, but exception handling performance deteriorates

Engineering Contradiction:
Improveexception handling performanceVSAvoidsystem call execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the system call implementation from the traditional int80 instruction path and creates a separate execution function path. By loading a pre-scanned system call table and replacing position information with execution function addresses, the system separates the exception handling mechanism from the normal system call execution path, allowing optimized performance without compromising reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary execution function that acts as a mediator between the simulator and the target system file. This execution function intercepts system calls and handles them through a optimized path, improving execution speed while maintaining proper exception handling through the library file and system call table infrastructure

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If int80 instructions are used for system calls, then system call functionality is maintained, but execution speed decreases

Engineering Contradiction:
Improvesystem call execution speedVSAvoidexception handling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-scanning and loading the system call table into memory before system calls are executed. The library file and system call table are loaded in advance, and position information is pre-modified to point to execution functions, eliminating the need for time-consuming exception handling during actual system call execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent substitutes the mechanical int80 instruction-based system call mechanism with a software-based execution function mechanism. By replacing the position information in the system call table with direct execution function addresses, the system eliminates the overhead of int80 instruction processing and exception handling, achieving faster execution speed

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12073235B2System call method and apparatus, and electronic device
Publication Date: 2024.08.27 NETEASE (HANGZHOU) NETWORK CO LTD
  • US12073235B2 patent drawing
  • US12073235B2 patent drawing
  • US12073235B2 patent drawing

AI summary

A system call method and apparatus, and an electronic device are provided. The method includes that: when a simulator runs on an operating system, a library file of the simulator and a pre-scanned system call table of the simulator are loaded, the system call table including a system file called by a simulation system in the simulator, and position information of the system file; a target system file associated with the library file is searched in the system call table; and the position information of the target system file is modified to a execution function corresponding to the simulator in the system call table, so as to call the target system file through the execution function.