Child Process Kernel Task Execution via Instruction Pointer Manipulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In operating systems like LINUX, a child process begins execution at the user level, preventing wrapper code that executes at the kernel level from running initially, which can lead to failures in virtualization and resource management during process checkpointing, restart, and migration.

Innovation Solution

A method is introduced where the initial execution of a child process is directed to enter the kernel level by setting the instruction pointer to an instruction that causes the child process to execute a system call, allowing kernel-level tasks to be performed immediately, ensuring that kernel-level operations are executed even when the child process starts at the user level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a child process begins execution at the user level, then the process can operate in user mode initially, but kernel-level wrapper code cannot execute immediately, causing failures in virtualization and resource management

Engineering Contradiction:
Improvevirtualization and resource managementVSAvoidinitial process execution
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies preliminary action by setting up the instruction pointer to point to a system call entry point before the child process begins execution. This ensures that kernel-level tasks are performed immediately when the child process starts, rather than waiting for the process to voluntarily make a system call later. The wrapper code is pre-positioned in the instruction stream through the instruction pointer manipulation, guaranteeing execution at the critical initial moment.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If wrapper code is placed at the kernel level, then security and control are improved, but the code cannot execute initially when the child process starts at user level

Engineering Contradiction:
Improvesecurity monitoringVSAvoidinitial execution capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses the instruction pointer as an intermediary mechanism to bridge the user level and kernel level. By manipulating the instruction pointer to point to a system call entry point, the patent creates a controlled transition path that allows kernel-level wrapper code to execute immediately when the child process begins. This intermediary mechanism resolves the contradiction by providing a safe transition path from user-level process creation to kernel-level code execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7552434B2Method of performing kernel task upon initial execution of process at user level
Publication Date: 2009.06.23 VALTRUS INNOVATIONS LTD
  • US7552434B2 patent drawing
  • US7552434B2 patent drawing
  • US7552434B2 patent drawing

AI summary

An embodiment of a method of performing a kernel level task upon initial execution of a child process at a user level begins with setting an instruction pointer for an initial child process instruction to an instruction to enter a kernel level. The method continues with beginning the child process which places a return value in a register for the child process and which causes the child process to enter the kernel level. The method concludes with executing a system call having a system call number of the return value. The system call comprises the kernel level task.