Warum kann man "normale" Programme nicht auf Linux starten?

12 Antworten

Nur, weil sie für ein bestimmtes Betriebssystem (in diesem Fall wohl Windows) geschrieben sind, sind das doch keine "normalen" Programme. Denn im Umkehrschluss wären ja Programme, die für andere Betriebssystem (MacOS, Unix, AIX, BSD, Linux, zOS etc.) geschrieben worden sind, "unnormal".

Noch ein Beispiel: Ist ein Firefox, welcher für Linux (oder auch MacOS) geschrieben wurde "unnormal", im Gegensatz zum Firefox für Windows (der ja Deiner Meinung nach "normal" ist)?

So, wie die verschiedene Betriebssysteme unterschiedlich aufgebaut sind, müssen auch die jeweils darauf lauffähigen Programme unterschiedlich programmiert sein, zumindest in Teilen. 

Übrigens: Wenn überhaupt, dann sind eher die Programme für Windows "unnormal"! ;-) 

Was sind denn "normale" Programme? Windows-Programme?

Programme, die für ein Betriebssystem entwickelt/compiliert wurden, lassen sich nicht ohne weiteres auf einem anderen Betriebssystem ausführen, weil das Binärformat und die Systemaufrufe unterschiedlich sind.

In Sachen Binärformat verwendet Windows beispielsweise das PE-Format ("portable executable"), Linux hingegen ELF ("executable and linkable format").

Warum man sich nicht einigt? Nun, das hat historische Gründe. Windows ist aus DOS hervorgegangen, welches das so genannte MZ-Format (nach seinem Entwickler Mark Zbikowski) verwendet hat, von dem das PE-Format widerum eine Erweiterung ist. Das ELF-Format hingegen gab es schon zu Zeiten der kommerziellen Unix-Variante System V. Nachdem die Programmierschnittstellen (APIs) der Betriebssysteme ohnehin unterschiedlich sind (und dies auch sein sollen), ist es auch nicht weiter schlimm, dass die Binärformate sich unterscheiden.

Gegenfrage.
Warum kann ich meine "normalen" Netzstecker nicht in Steckdosen stecken, wie sie in England benutzt werden?

Antwort: Sie passen nicht rein!

Es ist übrigens eine schwache Leistung, wenn man nicht weiß, dass es viele unterschiedliche Computer-Architekturen und damit auch unterschiedliche Betriebssysteme gibt.
Anders als bei den meisten Großrechnern gibt es für den PC nicht nur ein Betriebssystem und Betriebssysteme sind die, die genau dafür geschriebene Programme ausführen.
Wie kommst du dazu, nur das was du kennst als "normal" zu bezeichnen.
Das ist überheblich oder aber ...heit.

Was möchtest Du wissen?