Loading and execution of programs:
It is the responsibility of CLR(Common language Runtime) to load the concerned class containing the source code from the memory and with the help of the respective compiler, compile the source code into an intermediate machine independent language called MSIL(Microsoft intermediate language).
Dot net framework supports working with multiple programming languages (Cross language inter-operabilty); to transform the source code to MSIL.
- The CLR requires the metadata containing the information of the project concerned to determine which compiler it requires.
- After the information regarding the compiler is obtained with the aid of Metadata Engine the concerned classes referred by the program are loaded from the Base class Library and linked with the application.
- The program execution is dynamic with JIT compiler(Just in time) i.e. the classes are instantiated only during run time.
- The Just in time compiler is responsible for transforming MSIL to machine depended code for executing the program in the target machine.