| |
|
What is CLR in .NET?
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| |