Wat is een beheerde code?
"Beheerde code" is een term gecreëerd door Microsoft® Coproration. Deze term verwijst naar programmacode die het gebruik van de Virtual Language Runtime (CLR) virtuele machine vereist om te worden gebruikt. De term "onbeheerde code" wordt gebruikt om te verwijzen naar programmacode die deze virtuele machine niet vereist.
Common Language Runtime is ontwikkeld in een poging om programma's op verschillende computers en besturingssystemen te laten werken zonder dat de programmacode hoeft te worden gewijzigd. Om dit te doen, wordt computerprogrammacode omgezet in virtuele machine bytecode. Deze bytecode wordt vervolgens geïnterpreteerd door de virtuele CLR-machine en omgezet in bytecode voor de specifieke computer waarop deze wordt uitgevoerd.
Een beheerde code kan worden uitgevoerd op elke computer die is uitgerust met de virtuele CLR-machine. Deze hoge mate van draagbaarheid geeft het een absoluut voordeel ten opzichte van onbeheerde code. Onbeheerde code vereist dat programmeurs de programmacode wijzigen voor gebruik op verschillende machines. Dit proces kan niet alleen traag zijn, het kan ook leiden tot veel toepassingsfouten.
Een ander voordeel van een beheerde code is de verbeterde beveiliging. De beveiliging van een programma gemaakt met een onbeheerde code is sterk afhankelijk van de implementatie die de programmeurs hebben gemaakt. Het gebruik van de virtuele CLR-machine helpt een groot deel van de beveiligingsproblemen van programmeurs weg te nemen. De meeste beveiligingsproblemen die zich kunnen voordoen, zijn direct gecentreerd in de virtuele machine zelf. Dit helpt op zichzelf al bij het centraliseren van problemen, waardoor het veel sneller wordt om beveiligingspatches te implementeren.
De vraag of een bepaalde set code beheerde code of onbeheerde code is, is uiterst belangrijk voor computerprogrammeurs. Beheerde code heeft een hogere mate van portabiliteit, maar deze portabiliteit vereist dat de Common Language Runtime op de doelcomputer wordt geïnstalleerd. Onbeheerde code kan daarentegen worden uitgevoerd zonder toevoeging van de CLR.
Het gebruik van beheerde code heeft veel voordelen, maar er zijn ook verschillende nadelen. Het belangrijkste nadeel is de overhead die het gebruik van de virtuele CLR-machine vereist. Het verschil tussen de snelheid waarmee beheerde code wordt uitgevoerd en de snelheid van onbeheerde code is vaak te verwaarlozen, maar in sommige gevallen creëert het een zeer merkbaar verschil in responstijd van de toepassing. Als gevolg hiervan speelt onbeheerde code een cruciale rol in de meeste toepassingen die een hoge mate van snelheid vereisen boven draagbaarheid.