Was ist ein verwalteter Code?
"Verwalteter Code" ist ein Begriff, der von Microsoft® Coproration erstellt wurde. Dieser Begriff bezieht sich auf Programmcode, für dessen Verwendung die Common Language Runtime (CLR) -Virtual Machine erforderlich ist. Der Begriff "nicht verwalteter Code" bezieht sich auf Programmcode, für den diese virtuelle Maschine nicht erforderlich ist.
Common Language Runtime wurde entwickelt, um die Ausführung von Programmen auf einer Vielzahl von Computern und Betriebssystemen zu ermöglichen, ohne dass Änderungen am Programmcode erforderlich sind. Zu diesem Zweck wird der Computerprogrammcode in den Bytecode der virtuellen Maschine konvertiert. Dieser Bytecode wird dann von der virtuellen CLR-Maschine interpretiert und in Bytecode für den spezifischen Computer konvertiert, auf dem er ausgeführt wird.
Ein verwalteter Code kann auf jedem Computer ausgeführt werden, der mit der virtuellen CLR-Maschine ausgestattet ist. Diese hohe Portabilität bietet einen entscheidenden Vorteil gegenüber nicht verwaltetem Code. Für nicht verwalteten Code müssen Programmierer den Programmcode für die Verwendung auf verschiedenen Computern ändern. Dieser Prozess kann nicht nur langsam sein, sondern auch zu vielen Anwendungsfehlern führen.
Ein weiterer Vorteil von verwaltetem Code ist die erhöhte Sicherheit. Die Sicherheit eines Programms, das mit einem nicht verwalteten Code erstellt wurde, hängt stark von der Implementierung ab, die die Programmierer vorgenommen haben. Die Verwendung der virtuellen CLR-Maschine hilft, einen großen Teil der Sicherheitsprobleme von den Schultern der Programmierer zu nehmen. Die meisten Sicherheitsprobleme, die auftreten können, sind direkt in der virtuellen Maschine selbst konzentriert. Dies allein trägt zur Zentralisierung von Problemen bei und beschleunigt die Implementierung von Sicherheitspatches erheblich.
Die Frage, ob es sich bei einer bestimmten Codemenge um verwalteten Code oder um nicht verwalteten Code handelt, ist für Computerprogrammierer äußerst wichtig. Verwalteter Code weist einen höheren Grad an Portabilität auf. Für diese Portabilität muss jedoch die Common Language Runtime auf dem Zielcomputer installiert sein. Nicht verwalteter Code kann dagegen ohne das Hinzufügen der CLR ausgeführt werden.
Die Verwendung von verwaltetem Code hat viele Vorteile, aber auch einige Nachteile. Der Hauptnachteil ist der Aufwand, der für die Verwendung der virtuellen CLR-Maschine erforderlich ist. Der Unterschied zwischen der Geschwindigkeit, mit der verwalteter Code ausgeführt wird, und der Geschwindigkeit von nicht verwaltetem Code ist häufig vernachlässigbar. In einigen Fällen führt dies jedoch zu einem spürbaren Unterschied in der Antwortzeit der Anwendung. Infolgedessen spielt nicht verwalteter Code bei den meisten Anwendungen, die ein hohes Maß an Geschwindigkeit und Portabilität erfordern, eine entscheidende Rolle.