@Freak:
Bei plattformunabhängigen System, von mir jetzt mal Interpretersysteme genannt, gibt es einige Nachteile bei der Ausführung des Codes. Im Prinzip geht alles über den Interpreter. Wer die VM für den IE installiert hat, weiß wie groß sie ist. Wenn nach dem Compilieren der Java-code in X86-Code vorliegen würde, dann wär die VM in der Basisversion nicht über 4 MB groß. Leider ist es beim Ausführen eines vorcompilierten codes so, dass immer noch ein Programm zwischen Code und Kernel steht. Die Kommunikation zwischen vorkompilierten Code und Kernel sieht dann sehr vereinfacht so aus (man beachte dass ich die Javalibraries mal weggelassen habe, die Kommunikation mit den Libraries die auch interpretiert und erstmal entpackt werden müssen, kostet wohl zusätzlich noch 3 mal soviel Zeit wie folgendes Beispiel zeigt):
Plattformunabhängiger Code:
1. Interpreter öffnet code
2. Interpreter liest Befehl, um eine Datei zu laden (aus Programmcode gelesen)
3. Interpreter sendet den Befehl an den Kernel
4. Kernel lädt die Datei
5. Kernel liefert Speicheradresse an Interpreter
6. Interpreter stellt Adresse dem Programm zur Verfügung
Das ganze mal im direkten plattformabhängigen Code:
1. Kernel öffnet code
2. Kernel liest Befehl, eine Datei zu laden
3. Kernel lädt Datei
4. Kernel stellt Speicheradresse dem Programm zur Verfügung
Das ist nur ein Beispiel (auch wenns vom Aufbau nicht ganz stimmt, der Ansatz zeigt zumindest, wie das auf Kosten der Performance geht)
Ein weiteres Beispiel in dem Microsoft die Kontrolle hat könnte so aussehen:
1. Interpreter öffnet Code
2. Interpreter findet Code um einen Film zu laden, dessen Signatur nicht verifiziert ist
3. Interpreter verweigert weitere Ausführung des Programms
4. Programm wird mit Fehlermeldung beendet
Ob das jetzt Schwarzmalen ist oder nicht. so einfach wäre es dann für MS, die Kontrolle zu behalten.
@Christian Seehase:
Zitat:
was bringt Dich denn auf die Idee, man könne in .NET Programmen keine
API Funktionen mehr benutzen?
dazu schrieb weiter oben Sakura folgendes:
Zitat:
Was ist .NET ? Es gibt dazu wohl schon eine Menge Infos. Letztenendes ist es die Ablösung für die
Win32 API,...
Ich bin kein .NET Experte und insofern hab ich mal etwas an dem Posting orientiert. Ich bin nämlich IMAO nicht damit einverstanden, dass man mir einfach meine
Win32 Api wegnimmt *heul*