The some of the major responsibilities of CLR are described below.
1) Code Access Security (CAS) –CAS is the security model in .Net which ensures whether a piece of code has the right permissions to access a resource or not. CAS prevents the execution of an untrusted code in a .Net environment
2) Garbage Collection - Garbage collector in CLR performs the duty of memory manager. The basic functionalities of a garbage collector includes allocation of memory, reclaiming memory of objects which are not in use etc.
3) Code Safety/Verification. Type safety and code verification are the other responsibilities of CLR
4) Just in time compiler (JIT)- CLR uses Just in time compiler to convert MSIL to machine language and executes it