Naar inhoud springen

Common Language Runtime

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door RomaineBot (overleg | bijdragen) op 13 mei 2010 om 20:53. (Linkfix ivm sjabloonnaamgeving met AWB)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
Een globaal overzicht van de .NET-architectuur. De CLR zet de MSIL-code om in native code (code die geschikt is voor het systeem waar het op draait)

De Common Language Runtime (CLR) is de virtual machine van Microsoft's .NET-initiatief. De CLR is gebaseerd op de Common Language Infrastructure- (CLI-) standaard, welke een uitvoeringsomgeving voor programmacode beschrijft. De CLR draait een vorm van bytecode genaamd Microsoft Intermediate Language (MSIL), Microsoft's implementatie van de Common Intermediate Language (CIL).

Ontwikkelaars die CLR gebruiken schrijven hun code in een zogenaamd hogere programmeertaal zoals C# of VB.NET. Tijdens het compileren zorgt een .NET-compiler ervoor dat de broncode wordt omgezet naar MSIL, welke tijdens het uitvoeren door de just-in-time-compiler van de CLR wordt gecompileerd naar code die uitgevoerd kan worden op het systeem waar de CLR op dat moment op draait.

Dit zorgt ervoor dat applicaties niet hardware afhankelijk zijn, en dus op elk willekeurig systeem kunnen worden uitgevoerd, zolang er een CLR voor is. Door dit proces zijn applicaties wel (iets) trager, omdat ze tijdens het uitvoeren gecompileerd worden. Een alternatief hiervoor is dat het compileren van MSIL-code naar machine-specifieke code vooraf wordt gedaan. Logischerwijs is hiermee de portabiliteit van de applicatie voor een groot deel verdwenen.

Hoewel er een aantal implementaties van de CLI beschikbaar zijn voor niet-Microsoft besturingssystemen, draait de CLR van Microsoft alleen op het eigen Windows besturingssysteem.

Zoals gezegd neemt het gebruik van een virtual machine een groot deel van de processor-specifieke details weg, wat een groot voordeel voor de programmeur is. Naast deze taak neemt de CLR onder andere de volgende taken van de programmeur (voor een groot deel) over:

Referenties

  • (en) Overzicht van de CLR op MSDN