Apparatus for executing programs for a first computer architechture on a computer of a second architechture
First Claim
1. A computer, comprising:
- an entry exception raised on entry to a pre-existing operating system at a specified entry point or on a specified condition without modifying said pre-existing operating system of the computer, the entry exception having an associated entry handler, the entry handler programmed to save a context of an interrupted thread and modify the thread context before delivering the modified thread context to the operating system;
a resumption exception raised on resumption from the operating system when such resumption is complementary to one of the specified entries without modifying the operating system, the resumption exception having an associated exit handler, the exit handler programmed to restore the context saved by a corresponding execution of the entry handler;
concurrent threads of control scheduled by the operating system, each thread having an associated context, the association between a thread and a set of computer resources of the associated context maintained by the operating system;
a detector for detecting a specified entry to the operating system from an interrupted thread of the computer, an operator responsive to said detector for raising and servicing the entry exception; and
a further detector for detecting a complementary resumption, a further operator responsive to said further detector for raising and servicing the resumption exception, and returning control to the interrupted thread;
the entry exception, resumption exception, entry handler, and exit handler cooperatively designed to maintain an association between one of the threads and an extended context of the thread through a context change induced by the operating system, the extended context including resources of the computer associated with the thread that are beyond those resources whose association with the thread is maintained by the operating system.
3 Assignments
0 Petitions
Accused Products
Abstract
Executing programs coded in an instruction set of a first computer on a computer of a second, different architecture. An operating system maintains an association between each one of a set of concurrent threads and a set of computer resources of the thread'"'"'s context. Without modifying a pre-existing operating system of the computer, an entry exception is establishing to be raised on each entry to the operating system at a specified entry point or on a specified condition. The entry exception has an associated entry handler programmed to save a context of an interrupted thread and modify the thread context before delivering the modified context to the operating system. A resumption exception is established to be raised on each resumption from the operating system complementary to one of the specified entries. The resumption exception has an associated exit handler programmed to restore the context saved by a corresponding execution of the entry handler. The entry exception, exit exception, entry handler, and exit handler are cooperatively designed to maintain an association between a one of the threads and an extended context of the thread through a context change induced by the operating system, the extended context including resources of the computer associated with the thread beyond those resources whose association with the thread is maintained by the operating system.
-
Citations
81 Claims
-
1. A computer, comprising:
-
an entry exception raised on entry to a pre-existing operating system at a specified entry point or on a specified condition without modifying said pre-existing operating system of the computer, the entry exception having an associated entry handler, the entry handler programmed to save a context of an interrupted thread and modify the thread context before delivering the modified thread context to the operating system; a resumption exception raised on resumption from the operating system when such resumption is complementary to one of the specified entries without modifying the operating system, the resumption exception having an associated exit handler, the exit handler programmed to restore the context saved by a corresponding execution of the entry handler; concurrent threads of control scheduled by the operating system, each thread having an associated context, the association between a thread and a set of computer resources of the associated context maintained by the operating system; a detector for detecting a specified entry to the operating system from an interrupted thread of the computer, an operator responsive to said detector for raising and servicing the entry exception; and a further detector for detecting a complementary resumption, a further operator responsive to said further detector for raising and servicing the resumption exception, and returning control to the interrupted thread; the entry exception, resumption exception, entry handler, and exit handler cooperatively designed to maintain an association between one of the threads and an extended context of the thread through a context change induced by the operating system, the extended context including resources of the computer associated with the thread that are beyond those resources whose association with the thread is maintained by the operating system. - View Dependent Claims (2, 3, 4)
-
-
5. A computer, comprising:
-
thread scheduler of said computer scheduling concurrent threads of control, each thread having an associated context, an association between a thread and a set of computer resources of the associated context maintained by the thread scheduler; and an association between one of the threads and an extended context of the thread through a context change induced by the thread scheduler, which is maintained without modifying the thread scheduler, the extended context including resources of the computer associated with the thread that are beyond those resources whose association with the thread is maintained by the thread scheduler. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer, comprising:
-
an entry exception raised on entry to a computer operating system at a specified entry point or on a specified condition; a resumption exception raised on resumption from the operating system when such resumption is complementary to one of the specified entries; a detector for detecting a specified entry to the operating system from interruption of a process executing on the computer, in response to said detector an operator raising and servicing the entry exception, and then entering the operating system to perform a service associated with the specified operating system entry; and another detector for detecting a complementary resumption, another operator raising and servicing the resumption exception, and returning control to the interrupted process. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A computer comprising:
-
an operating system; an interrupted thread; an entry handler that permits execution at a specified entry point or on a specified entry condition to the operating system, said entry handler obtained without modifying said pre-existing operating system of the computer;
said entry handler programmed to save a context of said interrupted thread and modify the thread context before delivering the modified thread context to the operating system;an exit handler that permits execution on resumption from the operating system following an entry through the entry handler, said exit handler obtained without modifying the operating system;
the exit handler programmed to restore the context saved by a corresponding execution of the entry handler; and
further comprising;concurrent threads of control scheduled by the operating system, each thread having an associated context, an association between a thread and a set of computer resources of the associated context maintained by the operating system; and the entry and exit handlers programmed to maintain an association between one of the threads and an extended context of the thread through a context change induced by the operating system, the extended context including resources of the computer associated with the thread that are beyond those resources whose association with the thread is maintained by the operating system. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 75, 76, 77, 78)
-
-
66. A computer comprising:
-
an operating system; an interrupted thread; an entry handler that permits execution at a specified entry point or on a specified entry condition to the operating system, said entry handler obtained without modifying said pre-existing operating system of the computer;
said entry handler programmed to save a context of said interrupted thread and modify the thread context before delivering the modified thread context to the operating system;an exit handler that permits execution on resumption from the operating system following an entry through the entry handler, said exit handler obtained without modifying the operating system;
the exit handler programmed to restore the context saved by a corresponding execution of the entry handler; and
further comprising; andwherein the computer has different execution modes for the operating system and the thread, and the association between the thread and the context is automatic, without an explicit software request, on a transition between the thread execution mode and the operating system execution mode. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74)
-
-
79. A computer, comprising:
-
a service routine of said computer, a linkage return address passed to the service routine indicating the address at which to resume execution on completion of the service, the linkage return address deliberately chosen so that an attempt to execute an instruction from the linkage return address on return from the service routine will raise a program execution exception; a processor attempting to execute the instruction at the linkage return address and raising the chosen exception, on return from the service routine; and a controller returning control to a caller of the service routine, after servicing the exception. - View Dependent Claims (80, 81)
-
Specification