Jitter wurde offiziell Teil des GNU-Projekts

Vor einigen Tagen wurde die Nachricht veröffentlicht, dass das Projekt Jitter wurde offiziell ein Projekt unter der Schirmherrschaft des GNU-Projekts und wird nun unter dem Namen GNU Jitter unter Verwendung der GNU-Infrastruktur und gemäß den Projektanforderungen entwickelt.

Für diejenigen, die mit Jitter nicht vertraut sind, sollten Sie wissen, dass es so ista ist eine Implementierung, die es ermöglicht, portable und sehr schnelle virtuelle Maschinen zu generieren für beliebige Designs von Programmiersprachen, deren Codeausführungsleistung der von Interpretern deutlich voraus ist und der von nativem kompiliertem Code nahe kommt.

Jitter ist sehr portabel und eine korrekte VM zeigt genau das gleiche Verhalten auf jeder Plattform, die nur über einen Compiler und eine Standard-C-Bibliothek verfügt; die Leistung wird jedoch bei Verwendung einer der unterstützten Architekturen (derzeit: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64nd Level: Aarch390, Alpha, ARM, SXNUMXx) auf ELF-Systemen mit GCC besser sein. Natürlich ist Jitter Teil des GNU-Projekts und in erster Linie für den Einsatz auf dem GNU-System konzipiert.

Umezawar nimmt als Eingabe eine High-Level-Spezifikation der unterstützten Anweisungen durch eine virtuelle Maschine, und bildet in der Ausgabe eine gebrauchsfertige Implementierung einer virtuellen Maschine um die gegebenen Anweisungen auszuführen.

Die Logik jeder Anweisung in der Spezifikation wird mit C-Code angegeben. Zu den zusätzlichen Funktionen gehört die Unterstützung für bedingte Verzweigungsoperationen, die in C schwer zu implementieren sind und in dynamischen Programmiersprachen inhärent sind, wie z. B. die Tagwertprüfung und die Überlaufprüfung.

Die Jitter-Laufzeit bietet auch eine effiziente Unterstützung für schwer zu implementierende bedingte Verzweigungsoperationen, die nur C verwenden, wie zum Beispiel die Überprüfung von Wert-Tags, wie sie von dynamisch typisierten Sprachen benötigt wird, und Arithmetik mit Überlaufprüfung. VM-Code greift auf Prozeduraufruf- und Rückgabeoperationen zu, wobei er sich in den meisten Fällen auf effiziente Hardwaremechanismen stützt.

Die resultierende virtuelle Maschine wird in C mit einer kleinen Anzahl von Einfügungen formatiert Monteur. Es werden Konfigurationen bereitgestellt, um verschiedene Optimierungen zu ermöglichen und Bereitstellungsmechanismen auszuwählen, die die Migration einer virtuellen Maschine auf verschiedene Plattformen vereinfachen.

Es unterstützt die Verwendung von Register-, Stack- und Join-Ausführungsarchitekturen sowie die Möglichkeit, Datenstrukturen virtueller Maschinen in CPU-Hardwareregistern zu spiegeln und Garbage Collectors zu verbinden.

Der generierte Code umfasst eine einfache C-API zum dynamischen Ersetzen und Ausführen von Code in einer virtuellen Maschine sowie ein Controller-Programm zum separaten Ausführen von Code aus Textdateien in einer virtuellen Maschine.

Der generierte C-Code ist stark konditioniert und kann so konfiguriert werden, dass er mit unterschiedlichen Verteilungstechniken unterschiedlicher Komplexität ausgeführt wird; die effizientesten Dispatch-Techniken basieren auf einer architekturspezifischen, aber nicht VM-spezifischen Assembly-Unterstützung, die von Jitter bereitgestellt wird; alle Dispatch-Modelle, aber eines basiert auch auf GNU-C-Erweiterungen.

Schließlich sollten diejenigen, die mehr darüber wissen möchten, wissen, dass der ursprüngliche Jitter-Code in C geschrieben ist und unter der GPLv3-Lizenz verfügbar ist. Mehr erfahren Sie im folgenden Link

Wie bekomme ich Jitter?

Für diejenigen, die daran interessiert sind, Jitter zu testen, können sie den Quellcode erhalten, indem sie ein Terminal öffnen und den folgenden Befehl eingeben:

git clone http://git.ageinghacker.net/jitter

Sobald dies erledigt ist, geben wir nun den Ordner ein, der den Code enthält, und führen das Startskript aus, das zum Generieren der erforderlichen Dateien zum Konfigurieren und Erstellen von Jitter verwendet wird, einschließlich eines Konfigurationsskripts. Wir tun dies mit:

cd jitter && ./bootstrap

Es ist erwähnenswert, dass Jitter die GNU-Konventionen für Konfiguration und Konstruktion befolgt und die Konstruktion aus dem Quellverzeichnis unterstützt; Tatsächlich unterstützt es die Kreuzkompilierung und sogar die Ausführung der Testsuite in einer Kreuzkompilierung über einen Emulator.

./configure && make

Zum Schluss geben Sie einfach Folgendes ein:

make check


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.