It is a component of .NET Framework. It is the environment that manages code execution i.e. it is runtime environment. It acts as hypothetical
(Hypothetical- supposed; not necessarily true) computer that runs .NET programs. It is the layer between the .NET compatible language program
and computer hardware & OS. Thus the program is in touch of CLR and CLR takes care of all other things. The program does not have
any
need to take care of those things.
The CLR environment is shown below: