Abo
  • 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. ITC Consult GmbH, Wiesbaden
  2. via 3C - Career Consulting Company GmbH, Frankfurt am Main

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".



Anzeige
Spiele-Angebote
  1. (-55%) 8,99€
  2. 2,99€
  3. (-62%) 11,50€

fuzzy 13. Nov 2018

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


Folgen Sie uns
       


Royole Flexpai - Hands on (CES 2019)

Das Flexpai von Royole ist das erste kommerziell erhältliche Smartphone mit faltbarem Display. Ein erster Kurztest des Gerätes zeigt, dass es noch einige Probleme mit der Software hat.

Royole Flexpai - Hands on (CES 2019) Video aufrufen
Raspberry Pi: Spieglein, Spieglein, werde smart!
Raspberry Pi
Spieglein, Spieglein, werde smart!

Ein Spiegel, ein ausrangierter Monitor und ein Raspberry Pi sind die grundlegenden Bauteile, mit denen man sich selbst einen Smart Mirror basteln kann. Je nach Interesse können dort dann das Wetter, Fahrpläne, Nachrichten oder auch stimmungsvolle Bilder angezeigt werden.
Eine Anleitung von Christopher Bichl

  1. IoT mit LoRa und Raspberry Pi Die DNA des Internet der Dinge
  2. Bewegungssensor auswerten Mit Wackeln programmieren lernen
  3. Raspberry Pi Cam Babycam mit wenig Aufwand selbst bauen

Mac Mini mit eGPU im Test: Externe Grafik macht den Mini zum Pro
Mac Mini mit eGPU im Test
Externe Grafik macht den Mini zum Pro

Der Mac Mini mit Hexacore-CPU eignet sich zwar gut für Xcode. Wer eine GPU-Beschleunigung braucht, muss aber zum iMac (Pro) greifen - oder eine externe Grafikkarte anschließen. Per eGPU ausgerüstet wird der Mac Mini viel schneller und auch preislich kann sich das lohnen.
Ein Test von Marc Sauter

  1. Apple Mac Mini (Late 2018) im Test Tolles teures Teil - aber für wen?
  2. Apple Mac Mini wird grau und schnell
  3. Neue Produkte Apple will Mac Mini und Macbook Air neu auflegen

Begriffe, Architekturen, Produkte: Große Datenmengen in Echtzeit analysieren
Begriffe, Architekturen, Produkte
Große Datenmengen in Echtzeit analysieren

Wer sich auch nur oberflächlich mit Big-Data und Echtzeit-Analyse beschäftigt, stößt schnell auf Begriffe und Lösungen, die sich nicht sofort erschließen. Warum brauche ich eine Nachrichten-Queue und was unterscheidet Apache Hadoop von Kafka? Welche Rolle spielt das in einer Kappa-Architektur?
Von George Anadiotis


      •  /