IP Library Granted Patent US 7,720,671
Granted Patent B2
US 7,720,671 · App. 11/606,748 · Granted May 18, 2010

Method and system for child-parent mechanism emulation via a general interface

Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,720,671
App. No.
11/606,748
Granted
May 18, 2010
Kind
B2
Abstract

A method for emulating a system call includes making the system call by a first process in a first operating system (OS) for interacting with a second process, wherein the first OS is emulated in a second OS, spawning an agent process, wherein the agent process is a child process of the first process, implementing a functionality of the system call using a general mechanism in the second OS between the agent process and the second process, passing a result associated with the system call from the second process to the agent process using the general mechanism, and relaying the result from the agent process to the first process using a system call in the second OS, wherein the result is stored by the first process.

Claims (41)

1. A method for emulating a system call, comprising:

making the system call by a first process in a first operating system (OS) for interacting with a second process,

wherein the first OS is emulated in a second OS,

wherein the second OS requires a parent-child process relationship between the first process and the second process to perform the system call, and

wherein the parent-child process relationship between the first process and the second process is nonexistent in the first OS and in the second OS;

spawning, in response to the system call, an agent process by an emulator to emulate the system call, wherein the agent process is a child process of the first process;

calling, by the agent process, a general mechanism on the second process, wherein the general mechanism implements a functionality of the system call in the second OS;

passing a result from the second process to the agent process using the general mechanism; and

relaying the result from the agent process to the first process using a system call in the second OS, wherein the result is stored by the first process.

2. The method of claim 1 , wherein the system call in the second OS is a wait system call.

3. The method of claim 1 , wherein the system call is a ptrace system call.

4. The method of claim 1 , wherein the general mechanism is /proc.

5. A computer system comprising:

a computer processor

a first operating system (OS) emulated in a second OS executing on the computer processor; and

the second OS configured to execute:

an emulated userland process, wherein the emulated userland process is configured to make a system call in the first OS for interacting with a second process,

wherein the second OS requires a parent-child process relationship between the first process and the second process to perform the system call, and

wherein the parent-child process relationship between the first process and the second process is nonexistent in the first OS and in the second OS;

an emulation environment for the first OS,

wherein the emulation environment for the first OS is configured to:

intercept the system call from the emulated userland process;

spawn, in response to the system call, an agent process to emulate the system call, wherein the agent process is a child process of the emulated userland process;

call, by the agent process, a general mechanism on the second process, wherein the general mechanism implements a functionality of the system call in the second OS

pass a result from the second process to the agent process using the general mechanism; and

relay the result from the agent process to the emulated userland process using a system call in the second OS.

6. The system of claim 5 , wherein the system call in the second OS is a wait system call.

7. The system of claim 5 , wherein the system call is a ptrace system call.

8. The system of claim 5 , wherein the general mechanism is /proc.

9. A computer readable medium containing software instructions embodied therein for causing a computer system to perform a method for emulating a system call, comprising:

making the system call by a first process in a first operating system (OS) for interacting with a second process,

wherein the first OS is emulated in a second OS

wherein the second OS requires a parent-child process relationship between the first process and the second process to perform the system call, and

wherein the parent-child process relationship between the first process and the second process is nonexistent in the first OS and in the second OS;

spawning, in response to the system call, an agent process by an emulator to emulate the system call, wherein the agent process is a child process of the first process;

calling, by the agent process, a general mechanism on the second process, wherein the general mechanism implements a functionality of the system call in the second OS;

passing a result from the second process to the agent process using the general mechanism; and

relaying the result from the agent process to the first process using a system call in the second OS, wherein the result is stored by the first process.

10. The computer readable medium of claim 9 , wherein the system call in the second OS is a wait system call.

11. The computer readable medium of claim 9 , wherein the system call is a ptrace system call.

12. The computer readable medium of claim 9 , wherein the general mechanism is /proc.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037306/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2006
From: LEVENTHAL, ADAM H.; SHAPIRO, MICHAEL W.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 018638/0989 →
Continuity (1)
Related Publication 20080133214A1 · Jun 5, 2008