Oberon ist tot, es lebe Oberon! Arbeitsumfeld ETH Oberon

    Bevor Sie mit der Geschichte über das Betriebssystem A2 beginnen, müssen Sie den Vorgänger ETH Oberon erwähnen, der eine Weiterentwicklung des ursprünglichen Oberon-Systems darstellt.

    Im Kontext von Artikeln ( Teil 1 , Teil 2 ), die sich mit der Programmiersprache Active Oberon und dem Betriebssystem A2 befassen, ist die ETH Oberon unter dem Gesichtspunkt der Entwicklung der Benutzeroberfläche in Oberon-Systemen und ihrer Auswirkungen auf die IT-Branche interessant. Im Gegensatz zum ursprünglichen Oberon-System besteht die Benutzeroberfläche der ETH Oberon aus einer Reihe grafischer visueller Objekte (Gadgets). Bei der Portierung auf ein neues Grafiksystem wurde erneut bestätigt, dass das Oberon-Betriebssystem sehr gut konzipiert war und dass für die Portierung nur minimale Änderungen erforderlich waren.

    Der klassische Desktop in Oberon OS ist eine Browserumgebung, die von einem Kachelfenstermanager gesteuert wird und auf dem Konzept von „Text als Schnittstelle“ (TCI) basiert. Alles ist Text (oder besser Hypertext). Jeder Text kann ein Befehl sein, auf den Sie entweder klicken müssen oder wählen Sie mit der mittleren Maustaste den gewünschten Textabschnitt (irgendwo) aus, der als Befehlsparameter interpretiert werden soll, und klicken Sie auf den Befehl. Befehle und in der Tat die gesamte Benutzeroberfläche können in Bedienfeldern geschrieben, Gadgets eingefügt, gespeichert und zum richtigen Zeitpunkt geöffnet werden.
    Betriebssystemeinstellungen werden als normale Dokumente gespeichert und verarbeitet und unterscheiden sich nicht von diesen (Hallo, Wiki).

    Bild
    Im Screenshot des ETH Oberon-Desktops sehen wir unten ein verstecktes Feld, rechts die Symbolleisten der Grafikeditoren Rembrandt und Leonardo, links zwei Dokumente mit grafischem Inhalt und die HTML-Seite der ETHZ-Site.

    Der Desktop-Bereich ist in zwei Bereiche unterteilt. Das linke, das den größten Teil des Raums einnimmt, ist für die Anzeige von Dokumenten vorgesehen, das rechte, das kleinere, dient hauptsächlich für Befehlsfelder und Werkzeuge, obwohl hier Dokumente geöffnet werden können, um anzuzeigen, was für diesen Bereich ausreicht.

    Jedes Bedienfeld verfügt über einen Kontrollbereich, der einen Ziehpunkt, einen Titel und Steuerschaltflächen enthält.
    Wenn Sie auf die Schaltfläche "Vergrößern" klicken, wird das Bedienfeld auf die Größe des Bereichs erweitert, in dem es sich befindet. Durch erneutes Drücken der Schaltfläche wird das Bedienfeld auf den gesamten Desktop erweitert.

    Mit der Schaltfläche Schließen wird das Bedienfeld auf den vorherigen Status zurückgesetzt. Wenn das Bedienfeld für den gesamten Desktop geöffnet ist, wird es auf die Größe des Bereichs minimiert. Durch ein zweites Drücken wird das Bedienfeld auf seine normale Größe minimiert. Durch ein drittes Drücken wird das Bedienfeld geschlossen.

    Mit der Schaltfläche Ausblenden können Sie das Bedienfeld ausblenden, auf die Größe des Titels minimieren und am unteren Rand des Arbeitsbereichs platzieren. Im Screenshot befindet sich das ausgeblendete Feld in der unteren rechten Ecke.

    Für verschiedene Arten von Dokumenten zeigt das Bedienfeld seine eigenen kontextsensitiven Schaltflächen an, z. B. Speichern, Zurück ...

    Um eine Arbeitsumgebung zu erstellen, bietet das Gadgets-Subsystem visuelle Entwicklungstools für Hypertextdokumente, bei denen es sich tatsächlich um alle Bedienfelder handelt. Der Inhalt der Bedienfelder kann "in Echtzeit" bearbeitet werden - fügen Sie die erforderlichen Befehle und Gadgets hinzu, löschen Sie nicht verwendete Elemente und speichern Sie sie für die spätere Verwendung. Alle Änderungen stehen dem Benutzer sofort zur Verfügung. Mit dem Konfigurationsdokument können Sie die Zusammensetzung der beim Start geladenen Bedienfelder, die Größe der Arbeitsbereiche, Farbschemata usw. anpassen. Eine Skriptsprache kann auch verwendet werden, um die Schnittstelle zu bilden.

    Das Verknüpfen von Gadgets mit Programmcode erfolgt über das Konzept von Befehlen (Befehlen). Teams in Oberon sind spezielle Signaturverfahren, die außerhalb des Moduls exportiert werden. Der Compiler erkennt solche Befehle und platziert beim Generieren des Objektmoduls Zeiger auf sie in einer speziellen Befehlstabelle. Der Zugriff auf solche Befehle erfolgt in der Form Modulname. Teamname . Dem Befehl können Parameter folgen, oder die Parameter sind der zuvor ausgewählte Text. Der Befehlsprozessor analysiert den Befehl, generiert Anforderungen, Parameter, lädt das Modul und überträgt die Steuerung an die Befehlsprozedur. Somit wird dem Gadget-Attribut (z. B. einer Schaltfläche), das für das Speichern des Befehls verantwortlich ist, der entsprechende Wert zugewiesen. Außerdem passiert alles automatisch.

    Aus eigener Erfahrung kann ich sagen, dass eine Schnittstelle, die auf dem Konzept von TCI (Text als Schnittstelle) in Kombination mit einer Browserumgebung basiert, einen leistungsstarken Mechanismus zum Erstellen einer Arbeitsumgebung für einen bestimmten Benutzer, einen bestimmten Themenbereich oder ein bestimmtes Projekt bietet, obwohl es einige Zeit dauert, diese zu beherrschen. die Kraft seiner Ungewöhnlichkeit. Mit Blick auf die Zukunft möchte ich sagen, dass es in OS A2 nur kleine Spuren des TCI-Konzepts gibt und die Desktop-Shell eher einem klassischen Desktop ähnelt.
    Bild
    Screenshot des Oberon V4-Desktops. Im Gegensatz zum Oberon-System 3 (ETH Oberon) wird die Arbeitsumgebung wie im ursprünglichen Oberon-System eher textuell als grafisch gestaltet.

    Rob Pike, Entwickler der Acme-Umgebung für Plan 9, hat Ideen aus Oberon-Technologien abgeleitet, und die Acme-Benutzeroberfläche ist auf das Image und die Ähnlichkeit der Oberon OS-Benutzeroberfläche zugeschnitten.
    Bild
    Acme Screenshot

    Referenzen




    Serieninhalt



    Jetzt auch beliebt: