(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 nommé Common Intermediate Language (CIL). Le compilateur à la volée transforme le code CIL en code natif spécifique au système d'exploitation. Le CLR fonctionne sur des systèmes d'exploitation Microsoft Windows. Le CLR est composé des quatre parties suivantes : Common Type System (CTS) ; Common Language Specification (CLS) ; Metadata ; Virtual Execution System (VES). 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 possible. À 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 CIL (Common Intermediate Language). Ce code intermédiaire ne comporte aucune instruction relative au matériel (i.e. hardware) ou au système d'exploitation. Il ne peut donc pas être exécuté directement. Malgré cela, on pourrait tout à fait imaginer écrire directement une application en IL, langage qui ressemble à l'assembleur, sans passer par un langage de dernière génération comme le C#. Le CLR est nécessaire pour exécuter le code intermédiaire. Il est basé sur le CTS (Common Type System) et le CLS (Common Language Specification). Il apporte de nombreuses fonctionnalités comme le ramasse-miettes (la mémoire utilisée par l'application lors de l'exécution est optimisée), la BCL (Base Class Library), et le système 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 : Pre-JIT : le code entier est directement compilé ; Econo-JIT : le code est compilé par parties, et la mémoire libérée si nécessaire ; Normal-JIT : le code n'est compilé que quand c'est nécessaire, mais est ensuite placé en cache pour pouvoir être réutilisé.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (1)
CS-412: Software security
This course focuses on software security fundamentals, secure coding guidelines and principles, and advanced software security concepts. Students learn to assess and understand threats, learn how to d
Personnes associées (2)
Concepts associés (13)
.NET Framework
Le .NET Framework (abr. NetFx) est un cadriciel (framework) pouvant être utilisé par un système d'exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d'un périphérique mobile est disponible sous le nom de Silverlight. La version 3.0 du framework est intégrée à Windows Vista et à la plupart des versions de Windows Server 2008 ou téléchargeable depuis le site de l'éditeur Microsoft.
Compilation à la volée
La compilation à la volée (aussi connue sous les noms de traduction dynamique, compilation juste-à-temps ou compilation JAT ; en anglais, just-in-time compilation ou JIT compilation), en programmation informatique, est une technique visant à améliorer la performance de systèmes bytecode-compilés par la traduction de bytecode en code machine natif au moment de l'exécution. La compilation à la volée se fonde sur deux anciennes idées : la compilation de bytecode et la compilation dynamique.
Instruction set architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation. In general, an ISA defines the supported instructions, data types, registers, the hardware support for managing main memory, fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of a family of implementations of the ISA.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.