Common Language Runtime
Encyclopedia
The Common Language Runtime (CLR) is the virtual machine
component of Microsoft's
.NET framework
and is responsible for managing the execution of .NET programs. In a process known as just-in-time (JIT)
compilation, the CLR compiles the intermediate language code known as CIL
into the machine instructions that in turn are executed by the computer's CPU. The CLR provides additional services including memory management
, type safety
and exception handling
. All programs written for the .NET framework, regardless of programming language, are executed by the CLR.
The CLR is Microsoft's implementation of the Common Language Infrastructure
(CLI) standard.
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...
component of Microsoft's
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
.NET framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
and is responsible for managing the execution of .NET programs. In a process known as just-in-time (JIT)
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
compilation, the CLR compiles the intermediate language code known as CIL
Common Intermediate Language
Common Intermediate Language is the lowest-level human-readable programming language defined by the Common Language Infrastructure specification and is used by the .NET Framework and Mono...
into the machine instructions that in turn are executed by the computer's CPU. The CLR provides additional services including memory management
Memory management
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to the computer system.Several...
, type safety
Type safety
In computer science, type safety is the extent to which a programming language discourages or prevents type errors. A type error is erroneous or undesirable program behaviour caused by a discrepancy between differing data types...
and exception handling
Exception handling
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....
. All programs written for the .NET framework, regardless of programming language, are executed by the CLR.
The CLR is Microsoft's implementation of the Common Language Infrastructure
Common Language Infrastructure
The Common Language Infrastructure is an open specification developed by Microsoft and standardized by ISO and ECMA that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET...
(CLI) standard.