C# Tutorial - Components of the .NET Framework
The .NET Framework consists of two main components; the .NET Framework Class
Library (FCL) and the Common Language Runtime (CLR). These not only allow for
language independence, but also for language integration. This means that a single
application may be written in more than one language through the use of assemblies.
The Common Language Infrastructure
The CLR implements the international standard known as the Common Language
Infrastructure (CLI). This standard has been approved by the European Computer
Manufacturers Association (ECMA) and the International Standards Organization
(ISO) as ISO/IEC 23271:2003 and more commonly known as Standard ECMA-335. You can
download the full text of the standard from ECMA at
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-335.pdf.
The CLI may be engineered into a product to run on any platform and not just
windows, as with Mono and Linux by any software provider. The CLI is made up of
several components:
Common Type System (CTS) - This provides a set of rules for defining data
types that are compatible across all languages supported by the CLI. This is to
allow language interoperation of assemblies at run time. Thus one data type has
the same data structure and the same behaviour irrespective of which language it
is used within.
Common Language Specification (CLS) - This is a subset of the CTS. It is a
set of types that may be used in external calls in code that is intended to be portable.
Common Intermediate Language (CIL) - This is a set of machine instructions
defined for use within the Virtual Execution System. Also referred to as managed
code and managed data.
Metadata - This is information associated with the managed code and data that
describes the data, identifies the locations of references to objects, and gives
the Virtual Execution System information to handle overhead of older programming models.
Virtual Execution System (VES) - This is the part of the system that runs and
manages .NET code at runtime in a similar manner to the Java Virtual Machine for
the Java Language. The VES sits between the managed code and the native operating system.
Components of the CLI
CLI Documents
All of documents about the Common Language Infrastructure can be download from
"http://msdn2.microsoft.com/en-gb/netframework/aa569283.aspx". The documents
are divided into five partitions:
Partition I
Detailed description of the Common Language Infrastructure concepts and architecture.
Partition II
Detailed description of the metadata: its physical layout (as a file format), its
logical contents (as a set of tables and their relationships), and its semantics
(as seen from a hypothetical assembler, ilasm).
Partition III
Detailed description of the Common Intermediate Language (CIL) instruction set.
Partition IV
An informative annex describing programming conventions used in defining the CLI Libraries.
Partition V
Annexes containing sample programs, information about a particular implementation
of an assembler and a set of guidelines used in the design of the libraries.
© Publicjoe, 2008
|