Patent ID: 7945915

Claim:
A computer system for processing operating system service requests for multiple different operating system environments, comprising: a native application module located at a user level of the computer system, wherein the native application module is written for a native operating system; a foreign application module located at a user level of the computer system, wherein the foreign application module is written for an operating system that is different from the native operating system; a processor, the processor including a hardware control register, wherein the hardware control register is dynamically reprogrammed on every change of active process so that if the native application module is active on the processor, a first address is loaded in the hardware control register, and if the foreign application module is active on the processor, a second address is loaded in the hardware control register; wherein service requests issued by the native and foreign application modules are respectively processed via the first and second addresses in the hardware control register; and a kernel, the kernel including: a native call module, wherein the first address corresponds to the native call module, and wherein the native call module is capable of processing a service request from the native application module; a foreign call module, wherein the foreign call module is capable of processing a service request from the foreign application module; and a switching layer module, wherein the second address corresponds to the switching layer module, and wherein the switching layer module is capable of invoking the foreign call module or the native call module; wherein when a service request from the native application module issues, the processor jumps to the first address, thereby invoking the native call module; wherein when a service request from the foreign application module issues, the processor jumps to the second address, thereby invoking the switching layer module; and wherein the switching layer module invokes the foreign call module if an identifier corresponding to the service request from the foreign application module is outside of a range utilized by the native operating system.