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
InfrastructureCLR 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.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
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.
No comments:
Post a Comment