IP Library Patent Application 12114233
Patent Application
App. No. 12/114,233

STABLIZING OPERATION OF AN EMULATED SYSTEM

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 None
App. No.
12/114,233
Abstract

Disclosure of approaches for stabilizing an emulated system. In one approach, a first operating system (OS) is executed on an instruction processor, the first OS including instructions native to the instruction processor. A second OS and a plurality of application programs are emulated on the first OS. The second OS polls the first OS for memory statistics of the first OS. The memory statistics indicate a current state of operating parameters of the memory of the data processing system used by the first OS in managing the data processing system. The second OS controls a number of the application programs allowed to execute in response to the memory statistics provided by the first OS to the second OS.

Claims (55)

1 . A method for stabilizing an emulated system, comprising:

executing a first operating system (OS) on an instruction processor of a data processing system, wherein the first OS includes instructions of a first instruction set that are native to the instruction processor;

emulating a second OS and a plurality of application programs on the first OS on the data processing system, wherein the second OS and application programs include instructions of a second instruction set that are not native to the instruction processor;

polling the first OS by the emulated second OS for memory statistics, wherein the memory statistics indicate a current state of operating parameters of the memory of the data processing system used by the first OS in managing the data processing system; and

controlling a number of the application programs allowed to execute by the second OS in response to the memory statistics provided by the first OS to the second OS.

2 . The method of claim 1 , wherein the controlling includes denying initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs.

3 . The method of claim 1 , wherein the controlling includes terminating execution of one or more of currently executing ones of the plurality of application programs.

4 . The method of claim 3 , wherein the terminated one or more application programs is an interactive program, the method further comprising:

after the terminating step, requesting by the emulated second OS to the first OS for the first OS to provide the memory statistics, and determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable; and

in response to the current state of the operating parameters being unacceptable, repeating the terminating and requesting steps until the current state of the operating parameters is acceptable.

5 . The method of claim 4 , wherein the terminating and requesting steps are repeated until there is no interactive program available to terminate.

6 . The method of claim 5 , wherein at least one currently executing application program is a batch program, the method further comprising:

in response to the current state of the operating parameters being unacceptable and there being no interactive program available to terminate, the terminating step terminates execution of at least one currently executing batch program.

7 . The method of claim 3 , wherein the plurality of application programs include interactive programs and batch programs, wherein the terminating includes selecting interactive programs for termination before selecting batch programs for termination.

8 . The method of claim 1 , further comprising:

determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable; and

wherein the controlling includes,

denying initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs in response to the current state being unacceptable, and

allowing initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs in response to the current state being acceptable.

9 . The method of claim 1 , further comprising:

determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable; and

in response to the current state being unacceptable, returning by the second OS to the first OS, memory that is allocated to the second OS and that the second OS has not allocated to any of the plurality of application programs.

10 . An emulation system, comprising:

a data processing system including at least one instruction processor coupled to a memory;

a first operating system (OS) executing on the at least one instruction processor, wherein the first OS includes instructions of a first instruction set that are native to the instruction processor;

means for emulating a second OS and a plurality of application programs on the first OS, wherein the second OS and application programs include instructions of a second instruction set that are not native to the instruction processor;

means for periodically requesting by the emulated second OS for memory statistics from the first OS, wherein the memory statistics indicate a current state of operating parameters of the memory of the data processing system used by the first OS in managing the data processing system; and

means for limiting execution of the application programs by the second OS in response to the memory statistics provided by the first OS to the second OS.

11 . An emulation system, comprising:

a data processing system including at least one instruction processor coupled to a memory, and a first operating system (OS) executing on the at least one instruction processor, wherein the first OS includes instructions of a first instruction set that are native to the instruction processor;

an instruction processor emulator executable on the at least one instruction processor, wherein the instruction processor emulator emulates execution of instructions of a second instruction set that are not native to the at least one instruction processor;

a second OS and a plurality of application programs emulated on the instruction processor emulator, wherein the second OS and application programs include instructions of a second instruction set that are not native to the instruction processor;

wherein the second OS executes program code that performs the steps including,

periodically requesting memory statistics from the first OS, wherein the memory statistics indicate a current state of operating parameters of the memory of the data processing system used by the first OS in managing the data processing system;

determining whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable;

selecting, in response to the current state being unacceptable, between terminating one or more of the plurality of application programs and returning to the first OS memory that is allocated to the second OS; and

performing the selected one of terminating one or more application programs and freeing memory.

12 . The emulation system of claim 1 , wherein the selecting includes selecting between denying initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs, terminating one or more of the plurality of application programs and returning to the first OS memory that is allocated to the second OS.

13 . The emulation system of claim 12 , wherein the terminated one or more application programs is an interactive program, the steps further including,

after the terminating step, requesting by the emulated second OS to the first OS for the first OS to provide the memory statistics, and determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable; and

in response to the current state of the operating parameters being unacceptable, repeating the terminating and requesting steps until the current state of the operating parameters is acceptable.

14 . The emulation system of claim 13 , wherein the terminating and requesting steps are repeated until there is no interactive program available to terminate.

15 . The emulation system of claim 14 , wherein at least one currently executing application program is a batch program, the steps further including, in response to the current state of the operating parameters being unacceptable and there being no interactive program available to terminate, the terminating step terminates execution of at least one currently executing batch program.

16 . The emulation system of claim 12 , wherein the plurality of application programs include interactive programs and batch programs, wherein the terminating includes selecting interactive programs for termination before selecting batch programs for termination.

17 . The emulation system of claim 11 , the steps further including,

determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable;

denying initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs in response to the current state being unacceptable, and

allowing initiation of execution of an additional application program beyond currently executing ones of the plurality of application programs in response to the current state being acceptable.

18 . The emulation system of claim 11 , the steps further including,

determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable, and

in response to the current state being unacceptable, returning by the second OS to the first OS, memory that is allocated to the second OS and that the second OS has not allocated to any of the plurality of application programs.

19 . The emulation system of claim 11 , wherein the terminated one or more application programs is an interactive program, the steps further including,

after the terminating step, requesting by the emulated second OS to the first OS for the first OS to provide the memory statistics, and determining by the second OS whether the current state of operating parameters indicated by the memory statistics is acceptable or unacceptable, and

in response to the current state of the operating parameters being unacceptable, repeating the terminating and requesting steps until the current state of the operating parameters is acceptable.

20 . The emulation system of claim 19 , wherein the terminating and requesting steps are repeated until there is no interactive program available to terminate.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Feb 10, 2009
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 022237/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2008
From: JENNINGS, ANDREW T.; RIESCHI, MICHAEL J.; SCHROTH, DAVID W
To: UNISYS CORPORATION CHARLES A. JOHNSON
Reel/Frame 021019/0610 →