Systems and methods for managing drivers in a computing system
AssigneeMicrosoft Corporation
InventorsNicholas P. Wilt, James Miller
Life of this patent
Estimating the term…
Abstract
Managed code, including applications, runtime, and driver, have a priori knowledge of the client's exact hardware configuration, just as the JIT compiler has a priori knowledge of the microprocessor type on the target computer system. At compile time, the compiler knows the effective version various system drivers, so that the compiler can emit an executable tuned for a particular driver version and target system.
Claims22
A computerized method for software interaction with hardware, comprising:
- receiving an application program in an intermediate programming language:
- receiving at least a portion of a driver program in an intermediate language separate from the application program instructions, said driver program interacting with a computing component on a target computer system;
- receiving a runtime program in an intermediate programming language, wherein said runtime program performs the translation between said application instructions and said driver program;
- compiling the application program, the runtime program and the driver program into a single executable program for execution on the target computer system, wherein the single executable program is optimized by eliminating conditional code and wherein a at least one runtime function is inlined.
A computer system, comprising:
- a processor;
- the processor operatively coupled to a computer readable storage medium including computer executable instructions, the computer readable storage medium includes:
- an operating system having a driver comprising a plurality of instructions that interacts with a computing component, at least a portion of said driver instructions being in an intermediate language;
- a plurality of application instructions separate from the driver instructions, said application instructions being in an intermediate language readable by an intermediate language compiler;
- a plurality of runtime instructions, said runtime instructions being in an intermediate language readable by an intermediate language compiler, wherein said runtime instructions performs the translation between said application instructions and said driver;
- and
- an intermediate language compiler capable of compiling the application instructions, the runtime instructions and said at least a portion of said driver instructions into a combined set of native instructions executable by the processor for interacting with the computing component, wherein the application instruction are optimized by eliminating conditional code and wherein a at least one runtime function is inlined.
A computer-readable medium having stored thereon computer-executable instructions for software interaction with hardware, comprising:
- instructions for receiving an application program in an intermediate programming language:
- instruction for receiving at least a portion of a driver program in an intermediate language separate from the application program instructions, said driver program interacting with a computing component on a target computer system;
- and
- instructions for receiving a runtime program in an intermediate programming language, wherein said runtime program performs the translation between said application instructions and said driver program;
- instructions for compiling the application program, the runtime program and the driver program into a single executable program for execution on the target computer system, wherein the single executable program is optimized by eliminating conditional code and wherein a at least one runtime function is inlined.
Dependencies are inferred from the claim text.