Executing programs for a first computer architecture on a computer of a second architecture
First Claim
1. A method, comprising:
- without modifying a pre-existing operating system of the computer, establishing an entry exception to be raised on entry to the operating system at a specified entry point or on a specified condition, 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;
without modifying the operating system, establishing a resumption exception to be raised on resumption from the operating system when such resumption is complementary to one of the specified entries, 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;
scheduling concurrent threads of control 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 being maintained by the operating system;
on detecting a specified entry to the operating system from an interrupted thread of the computer, raising and servicing the entry exception; and
on detecting a complementary resumption, raising and servicing the resumption exception, and returning control to the interrupted thread;
the entry exception, resumption exception, entry handler, and exit handler being 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.
331 Citations
84 Claims
-
1. A method, comprising:
-
without modifying a pre-existing operating system of the computer, establishing an entry exception to be raised on entry to the operating system at a specified entry point or on a specified condition, 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; without modifying the operating system, establishing a resumption exception to be raised on resumption from the operating system when such resumption is complementary to one of the specified entries, 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; scheduling concurrent threads of control 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 being maintained by the operating system; on detecting a specified entry to the operating system from an interrupted thread of the computer, raising and servicing the entry exception; and on detecting a complementary resumption, raising and servicing the resumption exception, and returning control to the interrupted thread; the entry exception, resumption exception, entry handler, and exit handler being 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 method, comprising:
-
scheduling concurrent threads of control by a pre-existing thread scheduler of a computer, each thread having an associated context, an association between a thread and a set of computer resources of the associated context being maintained by the thread scheduler; and without modifying the thread scheduler, maintaining an association between one of the threads and an extended context of the thread through a context change induced by 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, 82, 83)
-
-
33. A method, comprising:
-
establishing an entry exception to be raised on entry to a computer operating system at a specified entry point or on a specified condition; establishing a resumption exception to be raised on resumption from the operating system when such resumption is complementary to one of the specified entries; on detecting a specified entry to the operating system from interruption of a process executing on the computer, raising and servicing the entry exception, and then entering the operating system to perform a service associated with the specified operating system entry; and on detecting a complementary resumption, raising and servicing the resumption exception, and returning control to the interrupted process. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A method, comprising:
-
without modifying a pre-existing operating system of the computer, establishing an entry handler whose execution is to be triggered on at attempt to invoke a specified entry point of the operating system or on a specified entry condition to the operating system, the entry handler programmed to save a context of a thread and modify the thread context before delivering the modified thread context to the operating system; without modifying the operating system, establishing an exit handler for execution on resumption from the operating system following an entry through the entry handler, the exit handler programmed to restore the context saved by a corresponding execution. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. A method, comprising:
-
during invocation of a service routine of a computer, passing a linkage return address to the service routine at which to resume execution on completion of the service routine, the linkage return address being 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; on return from the service routine, attempting to execute the instruction at the linkage return address and raising the chosen exception; and after servicing the exception, returning control to a caller of the service routine. - View Dependent Claims (80, 81)
-
-
84. 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; andan 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.
-
Specification