Sunday, 12 February 2012

What is a CLR?

Full form of CLR  is  Common Language Runtime and it forms the heart of the .NET framework.All Languages have runtime and its the responsibility of the runtime to take care of  the   code   execution of   the  program.For   example
 VC++ has  MSCRT4 0 .DLL,VB6  has MSVBVM60.DLL , Java has Java Virtual Machine etc. Similarly .NET has CLR.Following are the responsibilities of CLR

Garbage Collection :- CLR automatically manages memory thus eliminating
memory leakes. When objects are not referred GC automatically releases those
memory thus providing efficient memory management.

Code Access Security :- CAS grants rights to program depending on the security configuration of the machine.Example the program has rights to edit or  create a new file but the security configuration of machine does not allow the program to delete a file.CAS will take care that the code runs under the environment of machines security  configuration.

Code Verification :- This ensures proper code execution and type safety while the code runs.It prevents the source code to perform illegal operation such as accessing invalid memory locations etc.

IL( Intermediate language )-to-native translators and optimizer’s :- CLR uses JIT and compiles the IL code to machine code and then executes. CLR also
determines depending on platform what is optimized way of running the IL code.