2
Reply

what are the components of CLR?

    Introduction


    CLR is a Common Language Runtime . As the name suggests it's Common Runtime to all dotnet related languages like Vb,C#,VC++ ,J# etc.

    When ever we compile any application in dotnet the corresponding langauge compiler will take care of it and convert into MSIL(Microsoft Intermediate Language) code , CLR will handle the code and convert into operating system native code with the help of JIT(Just In Time) compiler.There are many components in CLR which are used to do specific tasks or functions of CLR.



    Functions of CLR



    1.Convert IL code into Operating System native code
    2. Execption handling
    3. Type safety
    4. Memory management.
    5. Security etc.

    Components in CLR



    The above functionalities achieved by all these componets .Each component is responsible for specific functionality.

    1.Class Loader:


    It is used to load all the classes at runtime

    2.MSIL to native Compiler:


    It is a JIT (Just In Time) compiler it will convert MSIL code to native code

    3.Code manager:


    It manages the cade during runtime

    4.Garbage Collector:


    It manages memory .It collects all the unused objects in the memory and deallocate them when the memory is less.

    5.Security Engine:


    It has all the security restrictions.

    6.Type checker:


    It enforces strict type checking.

    7.Thread support:


    It provides multithreading support to our application.

    8.Exception manager:


    It provides mechanisum to handle execptions at runtime.

    9.Debug Engine:


    Which allows you to debug applications.

    10.Com Marshaler:


    Which allows interoperability to our applications

    11.Base class library support:


    Which provides all types that application need at runtime

    Advantages of CLR and MSIL Code


  • Platform Independency
  • Architecture Independency
  • Language Independency
  • Managing the memory using Garbage Collector

    Note:CLS and CTS are the specifications not components of CLR
  • (1) Class Loader
    (2) JIT (Just In Time) Compiler (compile IL code into machine code)
    (3) Garbage Collector
    (4) Execution Engine