Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9 bis 16 Uhr):
+49 (0)201 649590-50
|
Kontaktformular
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Themenüberblick
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript/TypeScript
Java
Programmiersprachen/Sprachsyntax
Entwicklungswerkzeuge
Scripting
Softwareentwicklung allgemein
Datenbanken
Betriebssysteme und Virtualisierung
Microsoft Server-Produkte
Windows und Microsoft Office für Anwender
Allgemeine IT-Themen
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1019 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor-Ort oder Online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 8.0
.NET 7.0
.NET 6.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Erklärung des Begriffs: Microsoft Intermediate Language (MSIL)
Begriff
Microsoft Intermediate Language
Abkürzung
MSIL
Eintrag zuletzt aktualisiert am
15.06.2009
Zur Stichwortliste unseres Lexikons
Was ist
Microsoft Intermediate Language
?
Microsoft Intermediate Language (
MSI
L) ist die in .NET verwendete Zwischensprache.
Sowohl die
Programmiersprache
Java
als auch das
.NET Framework
basieren auf dem Konzept
Write Once Run Anywhere
(
WORA
), d. h., eine einmal entwickelte und kompilierte Anwendung kann auf verschiedenen Betriebssystemen ablaufen. Das
.NET Framework
arbeitet – genau wie
Java
– mit einem
Intermediation
skonzept auf Basis einer Zwischensprache und einer virtuellen Maschine (WM). Ein Compiler einer .NET-Hochsprache erzeugt also keinen prozessorspezifischen Maschinencode, sondern einen plattformunabhängigen Zwischencode. Dieser Zwischencode wird Microsoft Intermediate Language (
MSI
L) oder – im
ECMA
- und
ISO
-Standard –
Common Intermediate Language
(
CIL
) genannt. Code in
MSI
L wird auch als verwalteter Code (Managed Code) bezeichnet. Im Gegensatz dazu wird prozessorspezifischer Maschinencode als nicht-verwalteter (
Unmanaged Code
) oder
Native Code
bezeichnet.
Erst zur Laufzeit wird der
MSI
L-Code dann in einen prozessorspezifischen Maschinencode (
Native Code
) umgewandelt.
MSI
L-Code wird nicht interpretiert, sondern von einem sogenannten
Just-in-Time-Compiler
stückchenweise umgewandelt und dann ausgeführt. Dabei berücksichtigt der
Just-in-Time-Compiler
prozes-
sorspezifische Optimierungsmöglichkeiten. Dadurch, dass nicht interpretiert, sondern vor der Ausführung kompiliert wird und der
Just-in-Time-Compiler
sehr schnell arbeitet, ist der Leistungsverlust durch die
Intermediation
sehr gering. Im Zweifel gibt es auch die Möglichkeit, das Ergebnis der Kompilierung von
MSI
L zu Maschinencode zu speichern und später auszuführen. Dies nennt man
Native Image
. Ein
Native Image
ist jedoch nicht mehr plattformunabhängig. Es ist nicht verboten, dass Sprach-Compiler wahlweise auch direkt
Native Code
erzeugen, der nicht unter der Kontrolle der .NET-Laufzeitumgebung abläuft.
Der
Just-in-Time-Compiler
(JIT-Compiler oder JITter) ist Teil der .NET-Laufzeitumgebung, die
Common Language Runtime
(
CLR
) genannt wird. Das
Intermediation
skonzept ist die Basis für die Plattformunabhängigkeit der Anwendungen. Managed Code kann auf jedem Betriebssystem ausgeführt werden, für das eine Implementierung der
Common Language Runtime
verfügbar ist.
Natürlich ist Managed Code langsamer als
Native Code
, wobei der Geschwindigkeitsunterschied sehr viel geringer ist, als man vermutet. Wenn jedoch die optimale Geschwindigkeit notwendig ist, besteht die Möglichkeit, eine Managed-Code-Datei einmalig in eine Native-Code-Datei umzuwandeln. Dazu dient das Werkzeug ngen.exe. Der Vorgang wird als Pre-Jitting bezeichnet. Das Resultat von ngen.exe nennt man ein
Native Image
. Ngen.exe wurde in
.NET 2.0
stark vereinfacht (z. B. werden nun alle referenzierten Kompo-nenten automatisch mitübersetzt).
Grundsätzlich kann zwar ein
Native Image
bereits während der Entwicklung erzeugt werden; aufgrund der plattformspezifischen Übersetzung bietet es sich jedoch an, das
Native Image
erst bei der Installation einer .NET-Anwendung zu erzeugen (Install Time Compilation). Das
Native Image
ist spezifisch für eine bestimm-te Version der .NET-Laufzeitumgebung. Auch benötigen
DOS
- und NT-basierte Windows-Systeme verschie-dene
Native Image
s. Eine .NET-Anwendung, die in einem
Native Image
gespeichert ist, braucht ebenfalls die .NET-Laufzeitumgebung, um ausgeführt werden zu können.
Querverweise zu anderen Begriffen im Lexikon
siehe
Intermediation
Common Intermediate Language (CIL)
Common Language Runtime (CLR)
Write Once Run Anywhere (WORA)
Just-in-Time-Compiler
Programmiersprache
Intermediation
Unmanaged Code
.NET Framework
Native Image
Native Code
Java
.NET Framework 2005 (.NET 2.0)
European Computer Manufacturers Association (ECMA )
Write Once Run Anywhere (WORA)
International Standardization Organization (ISO)
Microsoft Installer (MSI)
Disc Operating System (DOS)
Common Intermediate Language (CIL)
Common Language Runtime (CLR)
Beratung & Support
Anfrage für Beratung/Consulting zu Microsoft Intermediate Language MSIL
Gesamter Beratungsthemenkatalog
Technischer Support zum Microsoft Intermediate Language MSIL
Schulungen zu diesem Thema
Visual Basic .NET für Umsteiger von VBA/VB 4/5/6
.NET und C# für Umsteiger von klassischem Visual Basic/COM
Anfrage für eine individuelle Schulung zum Thema Microsoft Intermediate Language MSIL
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr