CLR is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that converts a MSIL code into the host machine language code, which is then executed appropriately. The CLR is the execution engine for .NET Framework applications. It provides a number of services, including: - Code management (loading and execution) - Application memory isolation - Verification of type safety - Conversion of IL to native code. - Access to metadata (enhanced type information) - Managing memory for managed objects - Enforcement of code access security - Exception handling, including cross-language exceptions - Interoperation between managed code, COM objects, and pre-existing DLL's (unmanaged code and data) - Automation of object layout - Support for developer services (profiling, debugging, and so on).
CLR runs .net managed code
http://msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110).aspx