Virtual Execution System (VES)
The VES (usually referred to as the runtime) is the
environment in which the CIL byte code is executed. The VES reads the
byte code generated by the C# compiler and uses something called a Just in Time (JIT)
compiler to compile the byte code down to the native machine code of
the processor on which it is running. While this code is executing it
does so in conjunction with a runtime agent which essentially manages
the execution process. As a result, this executing code is known as managed code
and the process handles issues such as garbage collection (to handle
memory allocation and de-allocation), memory access and type safety to
ensure that the code does not do anything it is not supposed to do.
A term that is often used in connection with the VES is the Common Language Runtime (CLR). The CLR is officially the name given to Microsoft's implementation of the VES component of the CLI specification.
It is worth noting that the JIT process can introduce a startup
delay on execution of an application. One option available with .Net to
avoid this problem is to pre-compile CLI byte code down to native
machine code using the NGEN compiler. Because the NGEN
compilation must take place on the target processor architecture this
step is often performed at the point that the application in question is
installed by the user.
No comments:
Post a Comment