Common Language Runtime

Common Language Runtime est le nom choisi par Microsoft pour le composant de machine virtuelle du framework. NET. Il s'agit de l'implémentation par Microsoft du standard Common Language Infrastructure qui définit l'environnement d'exécution des codes de programmes.



Catégories :

Machine virtuelle - Administration Windows

Recherche sur Google Images :


Source image : msdn.microsoft.com
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Le CLR (Common Language Runtime) est le cœur de Microsoft. NET Framework et apporte l'environnement d'exécution de la totalité du code. NET Framework.... (source : msdn.microsoft)

Common Language Runtime (CLR) est le nom choisi par Microsoft pour le composant de machine virtuelle du framework. NET. Il s'agit de l'implémentation par Microsoft du standard Common Language Infrastructure (CLI) qui définit l'environnement d'exécution des codes de programmes. Le CLR fait tourner une sorte de bytecode appelé Microsoft Intermediate Language (MSIL) . Le compilateur à la volée transforme le code MSIL en code natif spécifique au dispositif d'exploitation. Le CLR fonctionne sur des dispositifs d'exploitation Microsoft Windows.

Le CLR se compose des 4 parties suivantes :

Introduction

Le CLR est à . NET ce que la JVM est à Java, c'est-à-dire une machine virtuelle, sans laquelle l'exécution de code. NET ne serait pas envisageable. À l'inverse de son concurrent, le framework. NET a été conçu pour permettre l'interopérabilité entre différents langages.

Quel que soit le langage utilisé pour écrire une application. NET, le code doit être transformé en MSIL (Microsoft Intermediate Language). Ce code intermédiaire ne comporte aucune instruction relative au matériel (i. e. hardware) ou au dispositif d'exploitation. Il ne peut par conséquent pas être exécuté directement. Malgré cela, on pourrait particulièrement imaginer écrire directement une application en IL, langage qui est comparable à l'assembleur, sans passer par un langage de dernière génération comme le C#.

Le CLR est indispensable pour exécuter le code intermédiaire. Il est basé sur le CTS (Common Type System) [1] et le CLS (Common Language Specification). Il apporte de nombreuses fonctionnalités comme le ramasse-miettes (en anglais Garbage Collector) (la mémoire utilisée par l'application lors de l'exécution est optimisée), la BCL (Base Class Library) [2], et le dispositif de sécurité. Une fois le code présent dans le CLR, il va enfin pouvoir être compilé par le JIT Compiler (''Just in Time) en langage natif de la machine.

Il existe trois types de JIT :

Quel que soit le type de JIT, l'objectif est d'accélérer l'exécution du code en réutilisant dès que envisageable le cache. Pour voir ceci visuellement, c'est particulièrement simple. Il suffit d'écrire une simple application ASP. NET (Hello World par exemple). À la première exécution, le code est compilé. Par la suite et aussi longtemps que l'application ne subit pas de modifications, le cache sera utilisé, d'où une vitesse d'exécution énormément plus rapide que lors de la première exécution.

Le JIT apporté par Microsoft ne produit bien entendu que du code natif Windows, mais les spécifications étant disponibles, il s'est trouvé un groupe de personnes ayant décidé de porter. NET sur Linux, donnant naissance à la plate-forme de développement libre Mono.


Liste des langages supportés

Les langages supporté par la CLR sont différents de ceux supportés par la DLR. Un bytecode obtenu sans utilisation d'anciennes API microsoft (MFC, win32) est nommé un code managé qui bénéficie des avantages de la plate-forme. NET (portabilité, ramasse-miettes). La CLR supporte :

Notes et références
  1. Common Type System
  2. Base Class Library

Lien externe

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Common_Language_Runtime.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 17/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu