Jetzt verstehe ich Dich!

Wenn man nun ein Windows-Programm unter Linux "einfach so" in den Arbeitsspeicher laden und ausführen würde, würde das Programm in den meisten Fällen also daran scheitern, dass Funktionen wie CreateFile() nicht zur Verfügung stehen (der Linux-Kernel stellt an Stelle dessen eine ähnliche Funktion zur Verfügung, die open() heißt, aber völlig anders aufgerufen wird). Wie lässt sich dieses Problem lösen? Sie haben es wahrscheinlich schon erraten: Es müssen die erforderlichen Programmbibliotheken nachgeschrieben werden. Diese können dann, so wie es unter Windows geschieht, mit dem auszuführenden Programm verbunden werden. Ruft das Programm dann unter Linux beispielsweise das CreateFile()-API auf, dann kann die nachgeschriebene Bibliothek die entsprechenden Linux-Systemaufrufe durchführen und das Ergebnis so aufbereiten, wie es von dem Windows-Programm erwartet wird.

Abbildung 2: Windows-Programme unter Wine und Windows NT im Vergleich

Schichtarbeit

Daraus ergibt sich prinzipiell kein Nachteil gegenüber dem "echten" Windows. Um bei dem Beispiel CreateFile() zu bleiben, müssen unter DOS-basierten Windows-Versionen, wie Windows 95/98, von CreateFile() aus unter Umständen DOS-Routinen aufgerufen werden, um eine Datei tatsächlich zu öffnen. Unter Windows NT oder Windows 2000 wird anstelle dessen von CreateFile() aus das entsprechende NT-API (hier NtCreateFile()) aufgerufen. Genauso wie unter Linux mit Wine werden also auch unter dem "echten" Windows immer mehrere Schichten durchlaufen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Beschwipst fensterln
    Wer von Windows auf Linux umsteigt, vermisst nicht selten liebgewonnene Programme und Spiele. Wie praktisch wäre es, wenn diese auch auf dem freien Betriebssystem laufen würden. Genau diesen Wunsch erfüllt eine kleine Software namens Wine.
  • Wine, Crossover Office und Cedega
    Wer Windows-Anwendungen unter Linux zum Laufen bringen will, kommt an Wine nicht vorbei. Wir untersuchen die freie und die kommerziellen Wine-Varianten auf ihre Praxistauglichkeit.
  • Wine in neuen Kleidern
  • Fertige Version der Laufzeitumgebung für Windows-Programme
    Wine 1.2, die Laufzeitumgebung für Windows-Programme unter Linux, hat seine Entwicklungsphase hinter sich und steht zum Download bereit.
  • So viele Möglichkeiten
    Hand aufs Herz: Auch als überzeugter Linux-Anhänger werden Sie das eine oder andere Programm aus der Windows-Welt vermissen – einige Hersteller weigern sich nach wie vor standhaft, ihre Software zu portieren, und so bleibt häufig nur die Möglichkeit, immer wieder Windows zu booten.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...