Apparatus for executing programs for a first computer architechture on a computer of a second architechture
First Claim
1. A computer, comprising:
- an entry handler block configured to;
process an entry exception raised on entry to a pre-existing operating system at a specified entry point or on a specified condition without modifying the pre-existing operating system of the computer;
save a context of an interrupted thread to a memory;
modify the thread context; and
deliver the modified thread context to the operating system;
an exit handler block configured to;
process a resumption exception raised on resumption from the operating system when such resumption is complementary to one of the specified entry exceptions without modifying the operating system; and
restore the context saved by a corresponding execution of the entry handler from the memory;
a thread scheduler block configured to;
schedule concurrent threads of control, each thread having an associated context; and
maintain an association between a thread and a set of computer resources of the associated context;
wherein an association between one of the threads and an extended context of the thread is maintained through a context change induced by the thread scheduler block or by the operating system, without modifying the thread scheduler block or the operating system, the extended context including resources of the computer beyond those resources associated with the thread;
a first detector block configured to;
detect a specified entry to the operating system from an interrupted thread of the computer; and
raise the entry exception; and
a second detector block configured to;
detect a complementary resumption exception;
raise the resumption exception; and
return control to the interrupted thread.
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.
334 Citations
18 Claims
-
1. A computer, comprising:
-
an entry handler block configured to; process an entry exception raised on entry to a pre-existing operating system at a specified entry point or on a specified condition without modifying the pre-existing operating system of the computer; save a context of an interrupted thread to a memory; modify the thread context; and deliver the modified thread context to the operating system; an exit handler block configured to; process a resumption exception raised on resumption from the operating system when such resumption is complementary to one of the specified entry exceptions without modifying the operating system; and restore the context saved by a corresponding execution of the entry handler from the memory; a thread scheduler block configured to; schedule concurrent threads of control, each thread having an associated context; and maintain an association between a thread and a set of computer resources of the associated context; wherein an association between one of the threads and an extended context of the thread is maintained through a context change induced by the thread scheduler block or by the operating system, without modifying the thread scheduler block or the operating system, the extended context including resources of the computer beyond those resources associated with the thread; a first detector block configured to; detect a specified entry to the operating system from an interrupted thread of the computer; and raise the entry exception; and a second detector block configured to; detect a complementary resumption exception; raise the resumption exception; and return control to the interrupted thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification