Genode

Screenshot der Software:
Genode
Softwarebeschreibung:
Version: 17.08 Aktualisiert
Upload-Datum: 2 Oct 17
Entwickler: Genode Labs
Lizenz: Frei
Popularität: 13

Rating: nan/5 (Total Votes: 0)

Genode ist ein Open-Source-Framework für Betriebssysteme, das vorhandene Kernel erweitert (z. B. Mikrokernel oder Hypervisor) und eine einheitliche API für Anwendungen bereitstellt.

Derzeit werden L4 / Fiasco und Linux unterstützt.

Was ist neu in dieser Version:

  • Hardware-beschleunigte Grafik für Intel Gen-8-GPUs
  • Der seL4-Kernel auf ARM und 64-Bit-x86-Hardware
  • Basis-Framework und Infrastruktur auf Betriebssystemebene:
  • Vereinfachte Handhabung von IOMMU
  • Neuer Berichtsserver zum Erfassen von Berichten in Dateien
  • Neue Laufzeitumgebung zum sequentiellen Starten von Komponenten
  • Unterstützung für den initialisierten Frame-Puffer für die Boot-Zeit
  • Erweiterter nicht blockierender Betrieb des VFS
  • Blocksitzungen nur schreibgeschützt machen
  • Verfeinerte Zeitverarbeitung
  • FatFS-basiertes VFS-Plugin
  • Erweiterte GUI-Primitive
  • C-Laufzeit
  • Bibliotheken und Anwendungen:
  • Mesa-Anpassungen
  • Paketverwaltung
  • Plattformen:
  • Genode als Xen DomU
  • Ausführung auf nackter Hardware (base-hw)
  • Muen Separations-Kernel
  • NOVA-Mikroprozessor

Was ist neu in Version 17.05:

  • Basis-Framework:
  • Neue Revision des Genode Foundations Buchs
  • Abgeschlossener Komponentenübergang zur modernen API
  • Rationalisierung von Exception-Typen
  • Zuordnung und Handel mit Fähigkeitsquoten
  • Zusammengeführte RAM- und PD-Dienste der Kernkomponente
  • Explizite Ausführung von statischen Konstruktoren
  • Trennung von E / A-Signalen von Applikationsniveausignalen
  • Bibliotheken und Komponenten auf Betriebssystemebene:
  • Dynamische Ressourcenverwaltung und Service-Weiterleitung über init
  • Neue API für Timing auf Benutzerebene
  • In-Band-Benachrichtigungen in der Dateisystem-Sitzung
  • Protokollbasierte CPU-Lastanzeige
  • Überwachung des Netzwerkverkehrs
  • POSIX-Libc-Profil als gemeinsam genutzte Bibliothek
  • Statusberichte für Komponenten auf Blockebene
  • Laufzeiten und Anwendungen:
  • Feature-Vollständigkeit von VirtualBox 5 auf NOVA
  • Nim Programmiersprache
  • Qt5 wurde auf Version 5.8 aktualisiert
  • Plattformen:
  • Ausführung auf nackter Hardware (base-hw)
  • Muen Separations-Kernel-Update
  • Fiasco.OC-Kernel-Update
  • Toolkette:
  • GNU-Compiler-Sammlung (GCC) 6.3 einschließlich Ada-Unterstützung
  • Getrennte Debug-Versionen von erstellten ausführbaren Dateien

Was ist neu in Version 13.11:

  • Basis-Framework:
  • Dynamischer Ressourcenausgleich
  • C ++ 11 ist standardmäßig aktiviert
  • Verbesserte Ereignisverfolgung
  • Low-Level-Betriebssystem:
  • Gigabit-Netzwerk mit dem Linux-TCP / IP-Stack
  • Verbesserter nitpicker GUI Server
  • Neue Terminaldienste
  • Neuer Dateisystemserver für hybride Genode / Linux-Systeme
  • Neues C-Laufzeit-Plugin für den Zugriff auf Block-Devices
  • Gerätetreiber:
  • Grafik und USB HID für Raspberry Pi
  • HDMI für Samsung Exynos 5
  • Anwendungen und Bibliotheken:
  • Qt5 mit Unterstützung für OpenGL und QML
  • Neue Dateisysteme basierend auf FUSE
  • Port der DosBox
  • Laufzeitumgebungen:
  • Erweiterte GNU-Debugger-Funktionen
  • ARM TrustZone-Unterstützung für Freescale i.MX53
  • Plattformen:
  • Base-HW für dynamische Workloads aktiviert
  • Lebenslange Verwaltung für Kernel-Objekte auf NOVA
  • Ballonunterstützung für L4Linux auf Fiasco.OC

Was ist neu in Version 13.08:

  • Das Release der Version 13.08 markiert das fünfte Jubiläum des Genode OS Frameworks. Wir feiern dieses Jubiläum mit drei wichtigen Features, die wir uns sehr gewünscht haben: den Hafen von Qt5 bis Genode, eine profunde Multi-Prozessor-Unterstützung und ein leichtes Event-Tracing-Framework. Darüber hinaus enthält die neue Version neue Gerätetreiber für SATA 3.0 und Power Management für den Exynos-5-SoC, verbesserte Virtualisierungsunterstützung für NOVA auf x86, aktualisierte Kernel und Integritätsprüfungen für den heruntergeladenen Quellcode von Drittanbietern.
  • Im Laufe der letzten fünf Jahre war die Entwicklung von Genode vor allem durch die Hinzufügung und Kultivierung von Merkmalen motiviert, um den Rahmen für möglichst viele Anwendungsbereiche zu gestalten. Jetzt, da wir eine kritische Masse an Features haben, reicht der Fokus auf reine Funktionalität nicht mehr aus. Die Frage, was Genode tun kann, wird letztlich zur Frage, wie gut Genode etwas tun kann: Wie stabil ist eine bestimmte Arbeitsbelastung? Wie funktioniert das Networking? Wie skaliert man auf Multiprozessorsysteme? Weil wir keine klaren Antworten auf diese Art von Fragen haben, müssen wir untersuchen.
  • Die kürzlich eingeführte automatisierte Testinfrastruktur macht uns zuversichtlicher als je zuvor. Jede Nacht werden über 200 automatisierte Tests durchgeführt, die verschiedene Kernel und verschiedene Hardwareplattformen abdecken. Alle diese Tests sind in Form sogenannter Run-Skripts öffentlich verfügbar und werden weiterentwickelt.
  • In Bezug auf Leistungsuntersuchungen haben wir in letzter Zeit damit begonnen, die Anwendungsleistung zu messen, die sich auf den Netzwerkdurchsatz konzentriert. Interessanterweise zeigen unsere Messungen signifikante Unterschiede zwischen den verwendeten Kerneln, aber auch Mängel in unserem Software-Stack. Zum Beispiel sehen wir derzeit, dass unsere Version von lwIP bei Gigabit-Netzwerken schlecht funktioniert. Um diese Leistungsprobleme gründlich zu untersuchen, bietet die aktuelle Version Unterstützung für die Verfolgung des Verhaltens von Genode-Komponenten. Dies ermöglicht es uns, ein tiefgreifendes Verständnis aller Inter-Komponenten-Interaktionen zu erlangen, die sich auf dem kritischen Pfad für die Leistung komplexer Workloads auf Anwendungsebene befinden. Dank der Genode-Architektur konnten wir ein auffallend einfaches und dennoch leistungsstarkes Design für eine Suchfunktion entwickeln. Abschnitt Leichte Ereignisverfolgung erklärt, wie es funktioniert.
  • Bei der Multiprozessor-Skalierbarkeit haben wir uns vor solchen Anfragen gewehrt, weil wir ehrlich gesagt nicht viel darüber nachgedacht haben. Diese Ansicht hat sich inzwischen geändert. Mit der aktuellen Version haben wir die Verwaltung von CPU-Affinitäten direkt in das Herz des Frameworks implementiert, d. H. Das Sitzungskonzept von Genode. Außerdem haben wir eine verdammt harte Nuss geknackt, indem wir Genode die Nutzung mehrerer CPUs auf dem NOVA-Hypervisor ermöglicht haben. Dieser Kernel ist mit Abstand der fortschrittlichste Open-Source-Mikrokernel für die x86-Architektur. Das MP-Modell von NOVA schien jedoch inhärent dem API-Design von Genode zu widersprechen. Zum Glück haben wir einen ziemlich eleganten Weg gefunden, und wir können das Biest zähmen. Abschnitt Verbesserte Unterstützung für mehrere Prozessoren wird genauer erläutert.
  • Funktional betrachtet haben wir immer die Verfügbarkeit von Qt auf Genode als großen Vorteil betrachtet. Wir freuen uns, mit der aktuellen Veröffentlichung bekannt zu geben, dass wir endlich von Qt4 auf Qt5 umgestellt haben. Abschnitt Qt5, der auf allen Kerneln verfügbar ist, gibt Einblicke in die Herausforderungen, denen wir während der Portierung ausgesetzt waren.
  • Zusätzlich zu diesen Highlights kommt die neue Version mit Verbesserungen überall hinzu. Um ein paar zu nennen, gibt es eine verbesserte Unterstützung für POSIX-Threads, aktualisierte Gerätetreiber, eine aktualisierte Version des Fiasco.OC-Kernels und L4Linux sowie neue Gerätetreiber für Exynos-5. Schließlich wurde das Problem der Überprüfung der Integrität von heruntergeladenen Quellcodes von Drittanbietern angesprochen.

Was ist neu in Version 12.11:

  • Das zentrale Thema der Version 12.11 des Genode OS Frameworks ist das selbstverwaltende Genode auf Genode. Mit Self-Hosting verstehen wir die Ausführung des gesamten Genode-Build-Systems innerhalb der Genode-Umgebung. Es gibt zwei Beweggründe, um diese Arbeit zu verfolgen. Erstens ist es eine grundlegende Voraussetzung für die Genode-Entwickler, Genode als tägliches Betriebssystem einzusetzen. Diese Voraussetzung könnte natürlich mit einer der verfügbaren Virtualisierungslösungen realisiert werden. Wir könnten beispielsweise L4Linux auf Genode auf dem Fiasco.OC-Kernel ausführen und das Genode-Build-System in einer L4Linux-Instanz verwenden. Dies beseitigt jedoch den primären Anreiz für Genode, die Systemkomplexität zu reduzieren. Indem wir sowohl Genode als auch L4Linux im Bild haben, würden wir in der Tat die Gesamtkomplexität beim Konfigurieren, Warten und Verwenden des Systems erhöhen. Daher würden wir es vorziehen, das komplexe Linux-Benutzerland vom Bild zu entfernen. Die zweite Motivation besteht darin zu beweisen, dass das Framework und die zugrunde liegenden Basisplattformen geeignet und stabil genug für den realen Gebrauch sind.Wenn das System nicht in der Lage ist, eine Arbeitslast wie das Build-System zu verarbeiten, ist es wenig sinnvoll, über den Mehrwert eines Microkernel-basierten Systems über aktuelle Waren-Betriebssysteme wie GNU / Linux zu streiten.
  • Wir sind froh, dass wir den Zustand erreicht haben, in dem wir das unmodifizierte Genode-Build-System direkt auf Genode ausführen können, das auf einem Mikrokern läuft. Da das Build-System auf GNU-Utilities und der GNU-Compiler-Sammlung basiert, gingen erhebliche Anstrengungen in den Leim zwischen diesen Tools und der Genode-API über. Section Building Genode auf Genode gibt Einblicke in die Art und Weise, wie wir das Ziel und den aktuellen Stand erreicht haben.
  • Neben der Arbeit an der Erschaffung des Build-Systems an Genode kamen zahlreiche Stabilitätsverbesserungen und -optimierungen über den gesamten Kern hinweg von den jeweiligen Kernel über die C-Laufzeit, die Dateisystem-Implementierungen, Speicherzuweisungen bis hin zu den eigentlichen Programmen die Werkzeugkette besteht aus. Apropos Werkzeugkette: Die offizielle Werkzeugkette Genode wurde von GCC Version 4.6.1 auf Version 4.7.2 aktualisiert. Dabei wurden alle Codepakete von Drittanbietern Test- und Fixierungsaktivitäten unterzogen.
  • Zum Ausführen des Buildsystems konzentriert sich das Projekt derzeit auf NOVA und Fiasco.OC als Basisplattformen. Unsere angepasste Kernel-Plattform für die ARM-Architektur hat jedoch ebenfalls erhebliche Verbesserungen erhalten. Mit der zusätzlichen Unterstützung für Freescale i.MX und Texas Instruments OMAP4 erwies sich diese Plattform als sehr gut anpassbar an neue SoCs, während neue Cache-Handhabung zu willkommenden Leistungsverbesserungen führt. Darüber hinaus haben wir die experimentelle Unterstützung für die ARM TrustZone-Technologie hinzugefügt, die die Ausführung von Genode in der sogenannten sicheren Welt von TrustZone ermöglicht, während Linux in der sogenannten normalen Welt ausgeführt wird.
  • Als wir das zunehmende Interesse an der Verwendung von Genode als Middleware-Lösung unter Linux erkannten, haben wir die Unterstützung für diese Kernel-Plattform weitgehend überarbeitet und erstaunliche neue Wege gefunden, um das Konzept von Genode mit den Mechanismen des Linux-Kernels in Einklang zu bringen. Abschnitt Linux bietet eine Zusammenfassung der neuen Ansätze zur Unterstützung dieser Plattform.
  • Mit der neuen Version wird die Unterstützung für Audiotreiber des Open Sound Systems, eines neuen OMAP4-GPIO-Treibers, Verbesserungen des grafischen Terminals und des ursprünglichen Ports eines SSH-Clients eingeführt.

Was ist neu in Version 12.08:

  • Mit Genode 12.08 konzentrierte sich das Projekt auf den Support von Plattformen. Er tritt in die Welt der OMAP4-basierten ARM-Plattformen ein, hat die Unterstützung für den NOVA-Hypervisor wiederbelebt und erheblich verbessert und kann nun ohne einen Kernel direkt auf ARM-Plattformen laufen.
  • Die neue Basis-hw-Plattform ist eine Abweichung vom herkömmlichen Ansatz von Genode, bestehende Kernel durch die Infrastruktur von Benutzerland zu ergänzen. Es verlässt den separaten Kernel vollständig aus dem Bild und überlagert damit die Basislinie der vertrauenswürdigen Rechenbasis von Genode-basierten Systemen auf etwa die Hälfte. Die neue Basisplattform ist im Abschnitt Genode auf nackter ARM-Hardware beschrieben.
  • Apropos Basisplattformen, wir freuen uns, den NOVA-Hypervisor zu einem erstklassigen Bürger unter den Basisplattformen befördert zu haben. In den letzten Monaten hat dieser Kern grundlegende Änderungen hinsichtlich seiner Entwicklungsweise und seiner Funktionsweise erfahren. Dies veranlasste uns, die Unterstützung von Genode für diese Plattform erheblich zu verbessern und seine einzigartigen Funktionen zu nutzen. Wenn man die Verwendung von Genode auf x86-basierter Hardware in Betracht zieht, ist NOVA zu einer sehr attraktiven Basis geworden. Abschnitt Die Umfassung des NOVA Hypervisors beschreibt die NOVA-spezifischen Änderungen.
  • Die Verbesserung der Plattformunterstützung mit der aktuellen Version betrifft nicht nur die Basisplattformen, sondern erstreckt sich auf tiefgreifende Erweiterungen von Gerätetreibern, insbesondere für das auf dem beliebten Pandaboard verwendete ARM-basierte OMAP4-SoC. Wir freuen uns, die Verfügbarkeit von Gerätetreibern für HDMI-Ausgang, SD-Karte, USB-HID und Netzwerk für diese Plattform bekannt zu geben.
  • Über die Low-Level-Plattformverbesserungen hinaus bietet die neue Version mehrere neue Dienste, Optimierungen bestehender Komponenten und neue Portbibliotheken. Insbesondere hat die Noux-Runtime einen Punkt erreicht, an dem wir ernsthafte Netzwerkanwendungen wie den Lynx-Webbrowser nativ auf Genode ausführen können. Ein anderes Beispiel ist der neue FFAT-basierte Dateisystemdienst, der dauerhaften Speicher über die Dateisystemschnittstelle von Genode verfügbar macht. Durch die Kombination dieses neuen Dienstes mit bestehenden Komponenten wie dem Partitionsdienst, Noux oder dem Dateisystem-Plugin der libc werden viele neue Anwendungsszenarien verfügbar. Dank dieser neuen Komponenten ist das Framework in der Lage, Debugging über GDB in Noux durchzuführen oder die Website genode.org über den LightTpd-Webserver zu hosten.

Was ist neu in Version 12.02:

  • Die Veröffentlichung von Genode 12.02 markiert einen spannenden Punkt in der Geschichte des Projekts, da es sich um die erste Version handelt, die im Freien statt in den Kammern von Genode Labs entwickelt wurde. Damit haben wir GitHub als zentrale Diskussions- und Quellcode-Management-Plattform angenommen. Diese Änderung hat Vorteile für Benutzer und Entwickler des Frameworks. Für die Benutzer wurde es möglich, sich über die offizielle Genodelabs / Master-Branche über die neuesten Entwicklungen zu informieren und sich mit den aktuellen Aktivitäten zu beschäftigen. Für reguläre Genode-Entwickler ersetzt das öffentliche Git-Repository eine frühere Mischung aus öffentlichen Subversion- und firmeninternen Mercurial-Repositories, wodurch das Leben wesentlich erleichtert wird. In Abschnitt Liberation des Entwicklungsprozesses skizzieren wir die Motivation, die hinter dieser Veränderung steckt, und geben Hinweise auf die neuen Ressourcen.
  • Die wichtigsten Neuerungen im Basissystem sind eine neue Framework-API für den Zugriff auf speicherbezogene E / A-Ressourcen, spezielle Unterstützung für die Verwendung von Genode als Komponenten-Framework auf Linux-Basis und API-Unterstützung für die Wiederverwendung vorhandener Komponenten in die Form von Sandbox-Bibliotheken. Diese Änderungen werden von einer neuen Gerätetreiberinfrastruktur begleitet, z. B. der ersten Version eines Gerätetreibermanagers und eines neuen ACPI-Parsers.
  • Feature-weise setzt die aktuelle Version die ersten Schritte in Richtung des Ziels der Roadmap für 2012 voraus und verwandelt Genode in ein Allzweck-Betriebssystem, das von seinen Entwicklern für den täglichen Gebrauch bereit steht. Gemäß der Roadmap haben wir die Noux-Laufzeit mit Gabel-Semantik erweitert, so dass wir Befehlszeilen-basierte GNU-Programme wie die Bash-Shell und Coreutils auf verschiedenen Mikrokerneln unmodifiziert und nativ ausführen können. Darüber hinaus wurde die Bibliotheksinfrastruktur durch Portierung und Aktualisierung von Bibliotheken wie Qt 4.7.4 und der PDF-Rendering-Engine MuPDF verbessert.

Was ist neu in Version 11.11:

  • Eine Fülle von Levels der Virtualisierung:
  • Zuverlässige x86-PC-Virtualisierung, die vom Vancouver VMM aktiviert wurde
  • Android paravirtualisiert
  • Virtualisierung auf Betriebssystemebene unter Verwendung der NUX-Laufzeitumgebung
  • GDB-Debugging über Virtualisierung auf Anwendungsebene
  • Basis-Framework, Low-Level-Betriebssystem-Infrastruktur:
  • CPU-Ausnahmen auf Benutzerebene verwalten
  • Fernzugriff auf den Thread-Zustand
  • Verbesserte Signalisierungslatenz
  • Optimierung für große Speicherzuordnungsgrößen
  • Standard-C ++ - Bibliothek
  • Schnittstelle für Terminals
  • Dynamischer Linker
  • Bibliotheken und Anwendungen:
  • C-Laufzeit
  • Vancouver Virtual Machine Monitor
  • TCP-Terminal
  • Framebuffer-basiertes virtuelles Terminal und ncurses
  • Noux
  • GDB-Monitor
  • L4Linux / L4Android:
  • Update auf Kernel Version 3.0
  • Stub-Treiber-Unterstützung
  • L4Android
  • Gerätetreiber:
  • Gerätetreiberumgebung für iPXE-Netzwerktreiber
  • PL110 Bildschirmtreiber
  • UART-Treiber
  • Plattformunterstützung:
  • NOVA Microhypervisor Version 0.4
  • Fiasco.OC Mikrokernel
  • Update zu Revision 38
  • Remote-Threads abfragen und manipulieren
  • Vielseitiger Express Cortex-A9x4
  • Linux
  • Neue IPC-Implementierung basierend auf UNIX-Domänensockets
  • Unterstützung für die manuelle Verwaltung von lokalen Subadressen
  • Verbesserte Handhabung von hybriden Linux / Genode-Programmen
  • L4ka :: Pistazienmikrokernel
  • Build-System und Tools:
  • Neue Werkzeugkette basierend auf GCC 4.6.1
  • Optimierung der Bibliotheksabhängigkeits-Build-Phase
  • Verbesserte Paketverwaltung für libports und Ports

Was ist neu in Version 11.05:

  • Neues API für die typsichere Kommunikation zwischen Prozessen
  • Erweiterte Unterstützung für Fiasco.OC-Plattformen
  • Gemeinsame Bibliotheken
  • Signalisierungsrahmen
  • Unterstützung für ARM RealView PBX-A9
  • x86 64-Bit-Unterstützung
  • L4Linux (IA32 und ARM)
  • Neue experimentelle GDB-Unterstützung
  • Device-I / O-Unterstützung für die MicroBlaze-Plattform
  • ARM RealView PBX-Gerätetreiber für Eingabe, Anzeige, Netzwerk und SD-Karte
  • Neue, gebrauchsfertige Skripte zum einfachen Testen verschiedener Genode-Funktionen wie Qt4, lwIP, Noux, L4Linux, GDB

Was ist neu in Version 10.02:

  • Unter einer Vielzahl von plattformbezogenen Verbesserungen bietet das Release 10.02 Unterstützung für die NOVA- und Codezero-Kernel und führt ein neues Konzept für die Verwaltung von Prioritäten in Echtzeit ein.
  • Das Genode-Projekt, das dem vorherigen Feature-Rich-Release folgte, nutzte die Gelegenheit, sich auf die Erweiterung der Basisplattform-Unterstützung des Frameworks zu konzentrieren. Wir freuen uns zu berichten, dass wir das bereits breite Spektrum an unterstützten Kernel durch zwei neue, moderne Microkernel, nämlich NOVA und Codezero, die beide 2009 veröffentlicht wurden, ergänzen konnten. Damit bietet Genode eine einheitliche Infrastruktur auf Benutzerebene, die direkt auf diesen Kernel läuft sowie auf Linux (32 Bit und 64 Bit), OKL4v2 (x86 und ARMv4), L4 / Fiasco und L4ka :: Pistachio. Für Entwickler, die Mikrokernel-basierte Anwendungen erstellen, verbirgt das Framework die Komplexität des jeweiligen Kernels. Aber es ist auch bemüht, die einzigartigen Fähigkeiten jeder Basisplattform für den Benutzer zugänglich zu machen. Mit der neuen Version haben wir zum Beispiel die Echtzeitplanung von OKL4 und L4ka :: Pistachio für Genode-Anwendungen verfügbar gemacht.

Was ist neu in Version 9.05:

  • Anwendungen:
  • Integration von Qt4
  • Qt4-basiertes Launchpad
  • OS-Dienste und Treiber:
  • Nitpicker-Leistung optimiert
  • Virtualisierter PCI-Bus für VESA-Treiber
  • USB-Sitzung und Geräte-Schnittstelle
  • USB-Unterstützung:
  • USB-HID-Treiber
  • Host-Controller-Treiber für UHCI, OHCI und EHCI
  • OKL4 als neue Plattform
  • 64-Bit-Linux-Plattformunterstützung
  • Grundlegende Framework-Verfeinerungen

Ähnliche Software

Kommentare zu Genode

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!