-
Richard Stallman
Funktionsweise von Microsoft .NET
Ich denke mal nur wenige wissen wie .NET Wirklich Arbeitet, deshalb hab ich mir die mühe gemacht und dazu mal einen kleinen Beitrag verfasst.
Wie funktioniert und Arbeitet .NET?
Wenn man von .NET Spricht, wird oftmals das Framework gemeint. Das Framework ist eine umfangreiche Klassenbibliothek mit unzähligen Funktionen und Methoden, die es dem Programmierer ermöglichen sollen, das zugrunde liegende System mit all seinen Möglichkeiten ausschöpfen zu können.
Allerdings ist .NET viel mehr als nur eine Bibliothek mit Vorgefertigten Funktionen. dotnet Compiliert im Sogenannten IL-Code (Intermediate Language) was man im allgemeinen als Assembly bezeichnet. Zur Ausführung wird die CLR (Common Language Runtime) benötigt, die aus dem Zwischencode Native Code erzeugt, die der Prozessor verstehen kann.
![](http://upload.wikimedia.org/wikipedia/de/thumb/2/26/Net_Basisprinzip_ext.svg/330px-Net_Basisprinzip_ext.svg.png)
Anders als Java baut Microsoft nicht auf Plattformunabhängigkeit auf, sondern auf Sprachunabhängigkeit, das bedeutet das mehrere Sprachen das selbige Framework verwenden. Das hat den Vorteil das eine Kommunikation von Programmen die in unterschiedlichen Sprachen geschrieben wurden möglich ist, dank IL-Code.
![](http://img.xrmb2.net/images/351980.png)
Die CLR Startet, sobald der Windows-Loader erkannt hat, das es sich bei der aktuellen Datei um ein .NET Programm handelt. Das Format von .NET Programmen ist das selbige, wie das PE-Format (Portable Executable-Format) das für IL-Code erweitert wurde.
Der Umfang der CLR ist ähnlich umfangreich wie das Framework selbst. Es besteht aus vielen schichten, die alle für bestimme aufgaben zuständig sind.
- Ruft einen JITer (Just in Time Compiler) auf, der aus dem IL-Code Native Code generiert.
- Prüft ob bereits Teile von dem Zugrunde Liegenden Code in Compilierter Form vorhanden ist.
- Ist dies der Fall so wird der JITer nicht aufgerufen und der bereits Compilierte Code wird ausgeführt.
- Falls nicht, wird der Code Compiliert und in einem In Memory-Cache zwischengespeichert.
- Ruft zu bestimmten Zeiten die Garbage Collection auf, die überflüssigen Speicher wieder freigibt.
- Ist für die Werfung von Fehlermeldungen zuständig. Damit der Benutzer eine eindeutige Fehlermeldung erhält, und nicht irgendeine Fehlermeldung, mit der er nichts anfangen kann.
- Wird gestartet, sobald erkannt wurde das eine Windows API Aufgerufen werden soll.
Das ganze ist natürlich noch viel umfangreicher, ich möchte aber nich zu sehr ins Detail gehen, da es unter Umständen sehr schnell unübersichtlich werden kann.
Ausführlichere Informationen: http://de.wikipedia.org/wiki/.NET
MfG, Sawyer
Geändert von Sawyer (24.12.2009 um 14:43 Uhr)
-
Folgende Benutzer haben sich für diesen Beitrag bedankt:
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln