Info2go

Hier gibt ́s Videos über spannende Experimente, Aufnahmen von wissenschaftlichen Phänomenen und Reportagen über nordbord-Projekte sowie interessante Unternehmen. Das Beste: Du kannst auch deine eigenen Filme drehen und hier mit anderen nordbordern teilen.

Linux kommt auf Windows 10

Windows 10 bekommt ein Linux Subsystem, aber was heißt das?

Wenn man native Linux-Programme unter Windows ausführen möchte (oder auch native Windows-Programme unter Linux), muss man dabei in mehreren Schritten vorgehen. Zunächst einmal muss man der jeweiligen Platform das Containerformat für ausführbare Dateien beibringen. So kann man in eine Windows Anwendung, also eine .dll oder .exe Datei, nicht nur ausführbaren Programmcode hineinpacken, sondern auf Grafiken und weitere Beschreibungen wie z.B. Versionsnummern oder den Namen des Entwicklers. Wenn man die Datei ausführt, muss das Betriebssystem also zunächst einmal zwischen Programmcode und Daten unterscheiden.  Im konkreten Fall hat Microsoft jetzt in Windows 10 Unterstützung für das Linux Format ELF implementiert. Der eigentliche Programmcode hängt dann von der CPU Architektur ab, typischerweise x86 auf 32 Bit System und x64 auf 64 Bit Computern. Dieser Code ist an sich unabhängig vom Betriebssystem, verlässt sich allerdings auf gewisse Konventionen der unterschiedlichen Systeme. Immer wenn es für das Programm um Interaktion mit der Außenwelt geht, stellt das Programm eine Anfrage an das Betriebssystem. "Interaktion" ist dabei ein sehr weit gefasster Begriff und reicht von der Arbeit mit Dateien, über Benutzereingaben mit Maus und Tastatur bis hin zur Ansteuerung von speziellen Geräten über z.B. USB oder Netzwerke. Da fast jedes Programm solche Aktionen vornehmen möchte, muss man dann die Methoden des jeweils anderen Betriebssytems auf seine eigene Funktionsweise abbilden. Manchmal ist eine solche Abbildung sehr einfach: Die Linux-Funktion sleep(unsigned int seconds) hält die Ausführung eines Programmes z.B. für eine bestimmte Zeitspanne an, andere Programme erhalten so mehr Rechenzeit. Unter Linux spezifiziert man die zu wartende Zeit für sleep in Sekunden, unter Windows wird die Funktion mit einem großen S geschrieben (Sleep(DWORD dwMilliseconds)) und erwartet eine Zeitangabe in Millisekunden. Andere Abbildungen, wie zum Beispiel der Umgang mit grafischen Ausgaben oder Tastatur- bzw. Mauseingaben sind wesentlich komplizierter. Für Linux gibt es schon lange das Wine-Projekt, welches eine Unterstützung für das Windows .exe Format sowie Abbildungen von vielen Windows-Systemfunktionen bietet. Und genau den umgekehrten Schritt geht nun auch Microsoft für Linux. Dabei will man (noch?) keine Programme mit grafischer Ausgabe unterstützen, sondern hat tendenziell eher Server-orientierte Anwendungen im Blick. Im Endeffekt handelt es sich also eher um eine Funktion für Administratoren und Entwickler, weniger um eine Bereicherung für normale Anwender. Der größte Coup ist an dieser Stelle wohl, dass Windows auch in der Lage sein wird Programme mittels des von Debian und Ubuntu bekannten apt Paketmanagers zu installieren. Ihr könnt dann also unter Windows einfach über die Kommandozeile mit apt-get emacs die "originale" Linux Version des Editors emacs installieren.

Zurück