• IT-Karriere:
  • Services:

iSH: iOS-App soll Linux-Umgebung bieten

Über den komplizierten Umweg einer x86-Emulation versucht der Entwickler der iSH-App, iOS-Nutzern eine Linux-Umgebung bereitzustellen. Beschleunigt wird dies durch eine Art JIT-Compiler.

Artikel veröffentlicht am ,
Mit iSH soll eine Linux-Shell auf iOS laufen.
Mit iSH soll eine Linux-Shell auf iOS laufen. (Bild: Liam Quinn/CC-BY-SA 2.0)

Für viele Linux-Nutzer ist die Verwendung einer Terminal-Anwendung auch auf ihrem Smartphone eine naheliegende Idee. Unter Android ist dies vergleichsweise problemlos möglich, unter iOS mitunter etwas schwieriger. Besonders weit getrieben hat die Idee der Entwickler Theodore Dubois, der mit iSH eine Terminal-App für iOS erstellt hat, die ein Linux-System ausführt.

Stellenmarkt
  1. Landkreis Potsdam-Mittelmark, Teltow
  2. über duerenhoff GmbH, Raum Düsseldorf

Der schlichte Name iSH steht wahrscheinlich für iOS-Shell und knüpft damit an die übliche Namensgebung für derartige Umgebungen an wie zum Beispiel bei den bekannten Shells Bash oder ZSH. Aufgrund der Beschränkungen von iOS liefert iSH keinen Zugriff auf das Betriebssystem von Apple selbst, sondern muss einen anderen Weg finden, eine Shell-Umgebung bereitzustellen. Das funktioniert in diesem Fall über einen vergleichsweise komplizierten Umweg.

Grundlage der App sind eine Usermode-Emulation der x86-Architektur sowie eine Übersetzung der Systemaufrufe. Darin läuft dann eine kleines Linux-Dateisystem auf Basis von Alpine-Linux, was wiederum die Nutzung von Linux-Anwendungen ermöglichen soll. Noch laufen in diesem System wie zu erwarten aber nicht besonders viele Programme fehlerfrei, wie eine Kompatibilitätsliste zeigt. Das liegt wahrscheinlich daran, dass auch für den Teil der Emulation noch viele offene Baustellen existieren.

Der laut Github-Beschreibung von Entwickler Dubois spannendste Teil von iSH ist eine Art JIT-Compiler. Dieser ist genau genommen kein Compiler, weil damit nicht direkt Maschinencode erzeugt wird, sondern er ist ein Werkzeug, das eine Array von Funktionszeigern erstellt, die auf sogenannte Gadgets zeigen. Diese Gadgets sind in Assembler umgesetzt und sollen für eine drei- bis fünffache Beschleunigung im Vergleich zur bloßen Emulation sorgen. Besonders überzeugt gibt sich der Entwickler in Bezug auf diesen Codebestandteil aber nicht. Er warnt explizit vor dessen schlechter Lesbarkeit und "anderen Nebenwirkungen".

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. (-44%) 27,99€
  2. 7,99€
  3. 46,99€

fuzzy 13. Nov 2018

Das Problem ist ja eher eine vernünftige Konsolenemulation hinzubiegen. Glücklicherweise...


Folgen Sie uns
       


Doom Eternal - Test

Doom Eternal ist in den richtigen Momenten wieder eine sehr spaßige Ballerorgie, wird aber an einigen Stellen durch Hüpfpassagen ausgebremst.

Doom Eternal - Test Video aufrufen
    •  /