Common Language Runtime - It is the implementation of CLI. The
core runtime engine in the Microsoft .NET
Framework for executing applications. The common language runtime
supplies managed code with services such
as cross-language integration, code access security, object lifetime
management, resouce management, type
safety, pre-emptive threading, metadata services (type reflection),
and debugging and profiling support.
The ASP.NET Framework and Internet Explorer are examples of hosting
CLR.
The CLR is a multi-language execution environment. There are currently
over 15 compilers being built by Microsoft
and other companies that produce code that will execute in the CLR.
The CLR is described as the "execution engine" of .NET. It's this CLR
that manages the execution of
programs. It provides the environment within which the programs run. The
software version of .NET is
actually the CLR version.
When the .NET program is compiled, the output of the compiler is not an
executable file but a file that contains
a special type of code called the Microsoft Intermediate Language
(MSIL, now called CIL, Common Intermediate
Language).
This MSIL defines a set of portable
instructions that are independent of any specific CPU. It's the job of
the CLR to translate this Intermediate
code into a executable code when the program is executed making the
program to run in any environment for which
the CLR is implemented. And that's how the .NET Framework achieves
Portability. This MSIL is turned into
executable code using a JIT (Just In Time) complier. The process goes
like this, when .NET programs are executed,
the CLR activates the JIT complier. The JIT complier converts
MSIL into native code on a demand basis as
each part of the program is needed. Thus the program executes as a
native code even though it is compiled into
MSIL making the program to run as fast as it would if it is compiled
to native code but achieves the portability
benefits of MSIL.
BangaruBabu PuretiPosted Mar 24, 2010, 1:59 AM
The CLR is a multi-language execution environment. There are currently over 15 compilers being built by Microsoft and other companies that produce code that will execute in the CLR.
The CLR is described as the "execution engine" of .NET. It's this CLR that manages the execution of programs. It provides the environment within which the programs run. The software version of .NET is actually the CLR version.
When the .NET program is compiled, the output of the compiler is not an executable file but a file that contains a special type of code called the Microsoft Intermediate Language (MSIL, now called CIL, Common Intermediate Language). This MSIL defines a set of portable instructions that are independent of any specific CPU. It's the job of the CLR to translate this Intermediate code into a executable code when the program is executed making the program to run in any environment for which the CLR is implemented. And that's how the .NET Framework achieves Portability. This MSIL is turned into executable code using a JIT (Just In Time) complier. The process goes like this, when .NET programs are executed, the CLR activates the JIT complier. The JIT complier converts MSIL into native code on a demand basis as each part of the program is needed. Thus the program executes as a native code even though it is compiled into MSIL making the program to run as fast as it would if it is compiled to native code but achieves the portability benefits of MSIL.
Amit ChoudharyPosted Mar 24, 2010, 1:18 AM
Learn about CLR(common language runtime) follow the below links:
1. CLR tutorial part I
2. CLR tutorial part II
Please mark as answer if it helps.