next up previous contents
Next: Der L3 Editor Up: L3 Benutzerhandbuch Previous: Das L3 Tasksystem

Kommandosprache

Einführung

Bei L3 haben Sie zwei Ebenen, in denen Sie als Benutzer mit dem System umgehen. Die erste Ebene wird durch ein Systemmenü gebildet, wie in Kapitel 4 beschrieben. Auf dieser Ebene können Sie das Tasksystem 'überblicken', Tasks erzeugen oder Tasks an den Bildschirm holen ('ankoppeln').

Der normale Umgang mit dem Rechner, nämlich die Arbeit mit Benutzerprogrammen und derartiges, findet auf Ebene irgendeiner Task statt. Hier können Sie Dateien edierengif, Texte gestalten und drucken oder mit irgendwelchen Programmen irgendwelche Dinge machen.

Die Gestalt, in der eine Task sich zur Interaktion präsentiert, ist nicht einheitlich. Typische Ausprägungen sind eine mehr oder weniger aufwendige Menüoberfläche mit der z.B. die Systemtasks "OPERATOR" oder "configurator" versehen sind, oder auch die kärgliche Kommandozeile einer neuerzeugten Task unter "PUBLIC".

Im folgenden soll die Systematik und die Möglichkeiten beschrieben werden, die sich Ihnen auftun, wenn Sie in den schwarzen Bildschirm sehen und eine neu erzeugte Task anzeigt:

    neuetask:\                   (PRIVAT) 
    _

An dieser Stelle verfügt eine neue Task über keine Datei und einige hundert durchaus nützlicher Kommandos. Im Unterschied zu DOS oder Unix liegen die vom System vorgegebenen Möglichkeiten aber nicht in Form ausführbarer Dateien vor, sondern 'verstecken sich in der Task'.

Eine Task läßt sich als sehr großes Programm auffassen, das aus einem großen Vorrat fertig übersetzter Programme besteht und zeitlebens Aufträge entgegennimmt. Diese Aufträge werden dann durch eines (oder viele) der fertigen Programme ausgeführt. Dadurch daß eine Task auch einen passenden Compiler beinhaltet, können auch neue Programme hinzugefügt werden.

Aus Benutzersicht heißt das: jedes Programm, das zur Erzeugung des L3 Tasksystems benutzt wurde, ist ein gültiges Kommando und jedes Kommando wird compiliert. Noch einfacher gesagt: es gibt furchtbar viele Kommandos und man kann leicht beliebige neue bauen.

Nach derzeit aktueller Sprechweise ist eine Task ein (recht großes) Objekt, das über eine stattliche Anzahl von Methoden verfügt. Modifikationen eines Objekts vom Typ Task können durch Aktivierung anderer Basismethoden (z.B. free manager) oder auch Hinzufügen neuer Methoden vorgenommen werden.

Die Regeln:

Das L3 Tasksystem selbst ist in der Programmiersprache ELAN programmiert. Die Syntax für Kommandos ist also die ELAN Syntax. Eine Beschreibung der Sprachkonstrukte finden Sie in Kapitel 8: ELAN im Schnelldurchgang. An dieser Stelle ist ausreichend zu wissen:

Desweiteren ist nützlich zu merken:

Los gehts, die erste Sitzung

Traditionell ist die erste Aktivität, die man einem frei programmierbaren System abringt, das Programm "Hallo Welt".

Wenn Sie Ihr System eingeschaltet haben, meldet sich L3 nach dem Vortest mit dem System-Menü. Sie können an dieser Stelle noch keine Arbeiten ausführen, sondern müssen zuerst eine Task, in der Sie arbeiten wollen, an den Bildschirm holen. Legen Sie für diese erste Sitzung eine neue Task an, indem Sie die entsprechende Menüfunktion mit den Cursortasten aktivieren und einen beliebigen Tasknamen eingeben. Da der Name der neuen Task natürlich nicht dem einer bereits im System vorhandenen Task gleichen darf, sollten Sie beim ersten Versuch auf Nummer Sicher gehen und vielleicht mit Ihrem Vornamen und/oder ein wenig Phantasie etwas Neues schaffen, z.B. "meine 1. task".

      L3 SYSTEM Menü                 CONSOLE 
                                     PUBLIC 
                                       meine 1. task
      Task ankoppeln 
 
      aus Taskliste auswählen 

      neue Task erzeugen

      Speicherbelegung anzeigen 
 
      H i l f e 

      Tasknamen für neue Task festlegen und Vatertask bestimmen
Als Vatertask schlägt Ihnen das System-Menü die Task "PUBLIC" vor; bestätigen Sie diesen Vorschlag mit CR . Eine neue Task mit dem angegebenen Namen wird nun angelegt (falls nicht schon zufällig eine Task mit diesem Namen existiert, in diesem unwahrscheinlichen Fall wiederholen Sie die Eingabe mit einem noch unwahrscheinlicheren Namen).

Anschließend wird die Task an das Terminal gekoppelt. Sie sehen den Tasknamen als Prompt. Der Cursor steht in der Zeile darunter.

        meine 1. task:\            (PRIVAT) 
        _

Hinter dem Tasknamen steht in der Mitte der Zeile '(PRIVAT)'. Diese Anzeige gibt den Managerstatus der Task an. 'PRIVAT' bedeutet, daß die Dateien dieser Task nur vom Besitzer dieser Task bearbeitet werden können, wenn die Task an einen Bildschirm gekoppelt ist. Andere Task stellen Dateien für ihre Nachkommen zur Verfügung (family manager) oder sogar für alle Tasks (free manager).

Eingabe von Kommandos

Nach L3 Sprechweise sind Sie nun in der Task "meine 1. task". Dieser Zustand entspricht etwa der Situation, die Sie auf einem 'normalen PC' nach dem Booten vorfinden. Sie haben einen eigenen Arbeitsbereich, nämlich die Task (nicht den gesamten Rechner, wie unter DOS) und können Kommandos eingeben.

        meine 1. task:\            (PRIVAT) 
        out ("Hallo Welt")

In der Erkenntnis, daß alle Kommandos compilert werden, können Sie die Prozedur (= Kommando) out mit dem Textparameter "Hallo Welt" aufrufen. Nach CR wird Ihre Eingabe compilert und ausgeführt.

Falls der schwarze Bildschirm Ihnen zu trostlos ist, können Sie mit set attibute (31) eine freundliche Blaufärbung (oder mit einem anderen Attribut als '31' irgendeine andere Farbe) einstellen. Falls Sie durchprobieren möchte, welche Farbe recht angenehm ist:

ESC k bringt das zuletzt eingegebene Kommando wieder in die Zeile.

Eine weitere Möglichkeit, "Hallo Welt" auszugeben, besteht darin, ein Programm zu schreiben, das genau dieses tut. Zum Schreiben des Quellprogrammes besitzt L3 natürlich einen passenden Editor. Zunächst legen Sie die neue Datei "hallo" an:

        meine 1. task:\            (PRIVAT) 
        edit ("hallo") 
        "hallo" neu einrichten (j/n) ? »j«

Beantworten Sie die Kontrollfrage mit »j«.

Die leere Datei "hallo" erscheint auf dem Bildschirm. Zur Bedienung des Editors reicht zunächst:

Schreiben Sie nun Ihr erstes ELAN-Programm:

     ..........................hallo........................ Zeile 1 
 
        page ; 
        out ("Hallo Welt") ; 
        pause;

Verlassen Sie den Editor mit der Tastenfolge ESC q .

Sie haben ein Programm mit dem Namen "hallo" geschrieben. Das Programm besteht aus den Prozeduren page (Bildschirm löschen), der Ausgabe out ("Hallo Welt") und einer Pause, die durch Tastendruck beendet wird.

Starten eines Programms

Sie befinden sich wieder auf der Kommandoebene und können das Programm direkt starten:

        meine 1. task:\            (PRIVAT) 
        run ("hallo")

run("hallo") läßt den Compiler den Inhalt der Datei 'hallo' übersetzen und anschließend direkt ausführen. Sie erhalten einige Meldungen des Compilers, anschließend wird das Programm ausgeführt: der Bildschirm wird gelöscht und "Hallo Welt" wird ausgegeben. Nach einem Tastendruck sind sie wieder in der Kommandoebene Ihrer Task.

Geben Sie nun auf der Kommandoebene der Task die Tastenfolge ESC q ein. Damit verlassen Sie die Task und sind wieder im System-Menü.

In dieser kleinen Beispielsitzung sollten mehrere wichtige L3 Eigenschaften deutlich werden:

  1. Die Arbeitsumgebung wird stets durch eine Task gebildet. Eine Task entspricht vollständig einem PC. Sie beinhaltet die Dateien und ist in der Lage, Kommandos auszuführen.
  2. Kommandosprache und Programmiersprache sind gleich.
  3. Die Kommandos haben eine große Bandbreite, sie umfassen elementare Befehle wie z.B. list, edit (einen Fullscreen-Editor), den ELAN Compiler, Programme, die andernorts als Utility bezeichnet werden und Prozeduren, die zum Laufzeitsystem einer Programmiersprache gehören wie z.B. out ("Hallo").

Bevor Sie sich Ihrer Task ein zweites Mal zuwenden, sollten noch zwei wichtige Informationen vorangestellt sein:

Nun aber zurück zu Ihrer ersten Task.

Task ankoppeln

Aktivieren Sie im System-Menü mit CR die Funktion "Auswahl aus Taskinfo" und sehen Sie sich zunächst im rechten Fenster des Menüs an, wie die von Ihnen angelegte Task in das L3 System eingegliedert wurde:

      L3 SYSTEM Menü                          CONSOLE 
                                              PUBLIC 
      Ankoppeln einer Task                      meine 1. task 
                                                tabellen 
      Auswahl aus Taskinfo                      datenbank 
                                              UTILITIES 
      Neue Task erzeugen                        kopieren 
                                                gendos 
      Speicherbelegung anzeigen                 proflog 
                                                PRINTER 
      H i l f e                                 SCREEN PRINTER 
                                                POST 
                                              SYSUR 
                                                OPERATOR 
                                                shutup 
 
      Liste aller Tasks wird zum Auswählen angeboten 
      Auswahl durch <ENTER>, Abbruch durch <ESC>.
Die von Ihnen angelegte Task erscheint unterhalb der Task PUBLIC. Koppeln Sie sie nun durch Auswahl mit den Cursortasten und Eingabe von CR an Ihr Terminal an.

Die Task ist am Prompt erkenntlich. Falls Sie die Farbeinstellung geändert haben, ist das eingestellt geblieben. Auch das sollten Sie als wichtig verbuchen: Einstellungen in Tasks wirken lokal. Das bedeutet, daß die Einstellung einer Hintergrundfarbe oder 'Booten' von L3DOS nur in der Task wirkt und keine Auswirkung auf andere Tasks hat. Werfen Sie zunächst wieder einen Blick auf die Dateiliste Ihrer Task. Nach dem Kommando list wird die Datei "hallo" angezeigt:

      .................. meine 1. task:\ ................. Zeile 1 
        15.09.92   13:00       "hallo"

Zurück auf Kommandoebene dieser Task (mit der Tastenfolge ESC q können Sie eine verbesserte Version von "hallo" beginnen: edit("hallo version 2")

      .................. hallo version 2 .................... Zeile 1 
 
        INT VAR aktuelles attr ; 
        page; 
        get attribute (aktuelles attr); 
        set cursor pos (25,8); 
        set attribute (112); 
          out ("  Hallo Welt  "); 
          pause (20) ; 
        set attribute (aktuelles attr) ; 
          list;

Nach Verlassen des Editors mit der Tastenfolge ESC q können Sie das Programm durch run starten. Die Aktionen sind den Prozedurnamen annähernd zu entnehmen: set attribute setzt die Attribute für die Bildschirmausgabe, »112« ist üblicherweise die Einstellung für Inversdarstellung, »7« ist die Normaleinstellung.

Experimentieren Sie mit einem derartigen Programm auch mit Unterstützung des L3 Referenzhandbuchs ruhig ein wenig herum. Wichtig dazu: edit ("dateiname") startet den Editor, run ("dateiname") übersetzt das ELAN Programm in der angegebenen Datei und führt es direkt aus. Falls das Programm Fehler aufweist, wird der Quelltext direkt wieder angezeigt und in der unteren Bildschirmhälfte erscheint eine Anzeige der Fehlermeldungen.

ESC q beendet die Anzeige oder Bearbeitung einer Datei, aber auch die Ankopplung einer Task an den Bildschirm. Falls Sie auf Kommandoebene diese Tastenkombination eingeben, müssen Sie die Task vor der weiteren Arbeit wieder ankoppeln.

Damit ist die erste Kontaktaufnahme mit L3 abgeschlossen. Sie haben das System-Menü benutzt, um eine neue Benutzertask anzulegen und um Informationen über das Tasksystem zu erhalten und Sie haben in der eigenen Task ein kleines Programm geschrieben.

Überblick über die Möglichkeiten

Einen Überblick über alle Kommandos, die für eine gerade anstehende Aufgabe nützlich sein könnten, zu gewinnen, gelingt am ehesten durch Lesen im L3 Referenzhandbuch. Hilfreich ist desweiteren, sich ein wenig Zeit und die brause zu nehmen. 'brause' wird in einer beliebigen Task durch die Taste F1 aktiviert. Mit dieser 'Hypertext-Hilfe' können Sie Themen und Begriffe durchsuchen.

Die folgende Zusammenstellung liefert einen ersten Eindruck zur Handhabung von L3. Neben einer Kurzbeschreibung ist angegeben, wie die Prozeduren als Kommandos benutzt werden können, da z.B. eine wertliefernde Prozedur erst per out zu einer Ausgabe bewegt wird. Falls der Begriff (d.h. die Prozedur) direkt als Kommando eingegeben werden kann, entfällt diese Erläuterung. Da ELAN als L3 Kommandosprache eine eher sprechende Programmiersprache ist, sind manche Beispielkommandos zur Erläuterung einfach in Umgangssprache übersetzt.

Informationskommandos

brause
Liefert Informationen zu sich selbst und den ganzen Rest des Systems.

bbrause

Falls das gewünschte Stichwort ungefähr bekannt ist, kann es als Parameter gegeben werden. Wenn der Begriff so nicht gefunden wird, wird automatisch versucht einen Begriff zu finden, in dem der Suchbegriff enthalten ist.

bbrause ("task")

Lies: Suche Erklärungen, in denen der Begriff "task" vorkommt.

version
Liefert die Version des L3 Tasksystems.

out(version)

bulletin
Listet in einer temporären Datei alle Prozeduren, Operatoren und Datentypen auf, die im System Verwendung finden.

bulletin

help
Zeigt zu einem Begriff alle Prozeduren mit den erforderlichen Parametern an.

help ("edit")

Es kann auch das Jokerzeichen * an Wortanfang und/oder Ende benutzt werden.

help ("*list");

Lies: Zeige alle Prozeduren an, die mit "list" enden.

storage info
Zeigt an, wieviel Speicherplatz das Gesamtsystem auf der Platte belegt hat:

storage info

w storage info
Ausführlicheres storage info im Fenster. Bedeutung siehe in brause.

w storage info

inf
Zeigt folgende Task-Informationen in einer temporären Datei: Taskindex, Versionsnr, Taskname, verbrauchte CPU Zeit, Priorität, Status, Wartet auf Task mit Index, Terminalname

Insbesondere bei der Analyse von Störungen liefert diese Ausgabe wertvolle Hinweise. Die Eingabe von inf liefert die Anzeige für das gesamte Tasksystem.

inf (/"SYSHW")

Lies: Zeige inf für die Task "SYSHW" und Nachkommen.

Kommandos zu Dateien und Verzeichnissen

edit
Öffnet ein Editorfenster auf der Datei des angegebenen Namens. Falls es die Datei noch nicht gibt, wird sie auf Nachfrage erzeugt.

edit ("hallo")
edit ("Nanu\Hallo") (* Datei Hallo in Verzeichnis "Nanu" *)
edit (* Zuletzt benutzte Datei *)

show
Öffnet Fenster nur zum Lesen. Sonst wie edit.

list
Zeigt alle Dateien des aktuellen Verzeichnisses.

list
list (/"SYSIO")

xlist
Zeigt alle Dateien der Task unter Wiedergabe der Verzeichnisstruktur.

xlist
xlist (/"PUBLIC")

Lies: Zeige Dateien und Verzeichnisse der Task "PUBLIC".

create
Erzeugt eine Datei (bzw. einen Datenraum, siehe Referenzhandbuch) oder ein Verzeichnis.

create ("datei")
create ("spez", ds)
create ("mein Verzeichnis", dir)

cd
Zeigt die Verzeichnisstruktur der Task an. Mit tex2html_wrap_inline2661 tex2html_wrap_inline2663 können Sie das gewünschte Verzeichnis wählen und mit CR in dieses Verzeichnis wechseln.

delete
Löscht (nach Kontrollfrage) eine Datei in der Task.

delete ("datei")

erase
Löscht (nach Kontrollfrage) die angegebene Datei in der angegebenen Task.

erase ("datei", archivea)

Lies: Lösche "datei" auf der Diskette in Laufwerk A:

fetch
Holt eine oder viele Dateien aus einer Managertask.

fetch ("adaption", /"SYSIO")

Lies: Hole "adaption" aus der Task "SYSIO".

fetch (SOME /"PUBLIC", /"PUBLIC")

Lies: Hole einige Dateien der Task "PUBLIC" aus der Task "PUBLIC".

save
Sendet eine oder viele Dateien an eine Managertask.

save ("datei", /"PUBLIC")
save (all, /"Sicherungstask")

Lies: Sende alle meine Dateien in die Task "Sicherungstask".

copy
Senden und Holen zu/von einer Managertask. Im Gegensatz zum schlichten 'fetch' und 'save' geht 'copy' auf Verzeichnisstrukturen ein. Einzelheiten entnehmen Sie der brause und/oder dem Referenzhandbuch.

copy (archive a, "\VZ", "\")

Lies: Kopiere aus der Task "ARCHIVE A" alle Dateien des Verzeichnisses "VZ" in das Wurzelverzeichnis dieser Task.

move
Analog zu copy, die Quelle bleibt jedoch nicht erhalten, sondern wird ins Ziel 'verschoben'.

rename
Benennt Datei um.

rename ("alter name", "neuer name")

print
Schickt Datei(en) zum Drucken an die Druckertask "PRINTER".

print (all LIKE "*.p")

Lies: Drucke alle Dateien, deren Namen auf ".p" endet.

THESAURUS

Um eine Menge von Namen, z.B. Dateinamen, zusammenzufassen, gibt es den Datentyp THESAURUS. Durch Benutzung eines Thesaurus kann man ein Kommando auf eine Menge von Dateien anwenden und ist nicht gezwungen denselben Befehl zig-mal zu geben oder für winzige Problemchen schon ein Programm zu schreiben. Viele Kommandos (=Prozeduren) im L3 System sind sowohl für ein einzelnes Objekt (z.B. eine Datei), als auch für eine Liste von Objekten, definiert. So lautet etwa das Kommando um per L3-Post eine Datei in eine andere Task zu senden mail("dateiname", "taskname"). Um einige Dateien zu schicken, formulieren Sie: mail (some, "taskname"). Es wird eine Datei angezeigt, in der Sie zeilenweise alle Dateinamen der eigenen Task gelistet finden. Wenn Sie alle Namen löschen, die nicht betroffen sein sollen, werden alle Dateien, deren Namen Sie in der Thesaurusdatei gelassen haben, in die Task gesendet. Noch kürzer läßt sich formulieren, alle Dateien zu senden: mail(all, "taskname").

Gerade auch Dateinamenslisten von anderen Tasks werden durch Thesauri geliefert. So lassen sich 'einige Dateien von der Diskette' durch SOME archive a bezeichnen. archive a ist die Task, die das erste Diskettenlaufwerk verwaltet, SOME meint 'einige davon'. Es werden alle Dateinamen der einliegenden Diskette gelistet, die Auswahl treffen Sie durch Entfernen der nicht gewünschten Namen.

Selbstverständlich können Sie auch selbst Thesauri zusammenstellen: Erzeugen Sie einfach eine Textdatei, in die Sie zeilenweise alle gewünschten Namen, die später von einem Kommando abgearbeitet werden sollen, eintragen.

edit ("mein thes")

Sie können dann mit irgendwelchen Kommandos auf diese Liste Bezug nehmen:

print (ALL "mein thes")

ALL
Der Operator liefert alle Namen in der dazu angegebenen Thesaurusdatei oder der angegebenen Task. So läßt sich formulieren z.B. alle Dateien aus einer angegebenen Managertask zu holen:

fetch (ALL /"PUBLIC", /"PUBLIC")

Lies: hole alle Dateien der Task 'PUBLIC' aus der Task 'PUBLIC'.

SOME
Der Operator bietet alle Namen in der dazu angegebenen Thesaurusdatei oder der angegebenen Task zur Auswahl an. So läßt sich formulieren z.B. einige Dateien aus einer angegebenen Managertask zu holen:

fetch (SOME /"PUBLIC", /"PUBLIC")

Lies: hole einige Dateien der Task 'PUBLIC' aus der Task 'PUBLIC'.

all
Abkürzende Schreibweise für ALL myself : alle Dateien der Task, in der dieses Kommmando benutzt wird.

save (all, streamer)

some
Abkürzende Schreibweise für SOME myself : einige Dateien dieser Task.

save (some, archive b)

Lies: Sichere die ausgewählten Dateien auf Laufwerk B:

LIKE
Es können auch Dateien aus einem Thesaurus ausgewählt werden, indem unter Verwendung des Jokerzeichens "*" angegeben wird, wie die gesuchten Namen aussehen sollen.

save (all LIKE "L3 Handbuch Kap*", /"SICHERUNG")

Lies: Sende alle Dateien, deren Namen mit "L3 Handbuch Kap" anfängt, in die Task "SICHERUNG".

remainder
Liefert den noch nicht abgearbeiteten Rest einer Liste, wenn das Kommando abgebrochen wurde. Besonders bei Sicherung auf Diskette ist das recht nützlich. Wenn bei save (all, archive a) gemeldet wurde "Diskette voll" kann mit

save (remainder, archive a)

der Rest auf die nächste eingelegte Diskette gesichert werden.

Manager

Managertasks sind solche, die Dateien für andere Tasks verwalten. Es gibt sie im L3 System in verschiedenster Ausprägung, so als mailmanager (POST) oder als archive manager (ARCHIVE A und weitere).

Um eine Task mit der Eigenschaft zu versehen, daß sie Dateien von anderen Tasks annehmen (save, copy) oder an sie abgeben kann (fetch, copy), kann man Sie einfach zur Managertask machen:

free manager
Die Task nimmt Dateien und zugehörige Aufträge (list, erase) von jeder anderen Task an. Es ist zulässig 'von außen' Sohntasks anzulegen. Am Terminal weist die Task sich als (FREI) aus.

family manager
Die Task nimmt Dateien und zugehörige Aufträge (list, erase) von allen ihren Nachkommen an. Es ist zulässig 'von außen' Sohntasks anzulegen. Am Terminal weist die Task sich als (FAMILIE) aus.

monitor
Der Task läuft wieder im normalen Kommandomodus. Aufträge von außen werden nicht mehr ausgeführt. Am Terminal weist die Task sich wieder als (PRIVAT) aus.

Die L3 'Post'

Um Dateien zwischen Task zu senden, ohne daß diese besondere 'manager' sein müssen, gibt es die POST. Eine Task kann Dateien an einen beliebigen Empfänger senden. Die Dateien werden in der Post aufbewahrt und können vom Empfänger dort abgeholt werden.

mail
Sendet eine oder mehrere Dateien für einen bestimmten Empfänger in die Post.

mail ("datei", "taskname")
mail (some, "taskname")

Um sicherzustellen, daß es die Task wirklich gibt und der Taskname richtig geschrieben ist, muß statt des Namens die Task angegeben werden.

mail (all LIKE "Text*", /"Texte")

Lies: Sende per Post alle meine Dateien, deren Name mit "Text" anfängt, an eine Task mit dem Namen "Texte".

Disketten etc.

Disketten und 'ähnliche' Medien, wie Bandlaufwerke oder DOS Partitionen auf der Festplatte, werden durch besondere Managertasks verwaltet. Gemeinsam ist ihnen, daß sie einer Reservierungslogik gehorchen. Man kann nicht einfach eine Datei auf Diskette schreiben, sondern muß zunächst das Laufwerk (in Gestalt der zugehörigen Managertask) reservieren. Die dann folgenden Aktionen (Holen/Schicken von Dateien) werden durch die üblichen Kommandos wie fetch, save und copy ausgelöst. Anschließend sollte das Laufwerk für andere Tasks wieder freigegeben werden.

archive a
Bezeichnet die Task für das erste Diskettenlaufwerk. archive a ist Abkürzung für /"ARCHIVE A". Dementsprechend bezeichnet archive b die Task für das zweite Diskettenlaufwerk, archive c die Task für die primäre DOS Partition und streamer die für das Bandlaufwerk.

reserve
Reserviert ein externes Medium für die eigene Task.

reserve (archive b)

Die Medien (Disketten etc.) können gegen versehentliche Benutzung durch Benamung geschützt werden. Wenn ein Name vergeben wurde, werden alle Zugriffe nur ausgeführt, wenn das Laufwerk unter dem Namen reserviert wurde.

reserve ("Harry", archive a)

Falls keine Name benutzt werden soll, können Sie ihn einfach weglassen.

release
Gibt zuvor reserviertes Laufwerk wieder frei.

release (archive b)

Falls Sie das Laufwerk nicht freigegeben haben und mindestens 5 Minuten keinen Zugriff mehr auf das Laufwerk hatten, kann es durch eine andere Task reserviert werden.

clear
Löscht das Medium (logisch).

format
Formatiert das Medium, löscht also auch physikalisch.

format (archive a)

Kommandos zur Spool-Steuerung

Alle Druckaufträge, die von anderen Tasks zur Task "PRINTER" geschickt werden, werden von dieser in einer Warteschlange verwaltet. Mit den folgenden Kommandos, die Sie in der Task "PRINTER" geben, können Sie diese Warteschlange bearbeiten.

list spool
Mit diesem Kommando können Sie sich den aktuellen Stand der Druckaufträge ansehen. Angezeigt wird die gerade in Druck befindliche Datei sowie die in der Warteschlange stehenden Dateien.

stop spool
Mit diesem Kommando können Sie die Ausführung von Druckaufträgen unterbrechen. Der Ausdruck einer gerade im Druck befindlichen Datei wird unterbrochen und Sie werden gefragt, ob die Datei erneut in die Warteschlange aufgenommem werden soll. Verneinen Sie die Frage, wird diese Datei aus der Druckertask gelöscht. Die aktuelle Warteschlange bleibt bestehen und neue Druckaufträge werden am Ende angefügt. Die Ausführung der Aufträge bleibt jedoch so lange unterbrochen, bis der Drucker wieder aktiviert wird.

halt spool
Auch mit diesem Kommando können Sie die Ausführung von Druckaufträgen unterbrechen. Im Gegensatz zum Kommando stop spool wird hier aber eine gerade im Druck befindliche Datei noch ausgedruckt und der Drucker erst anschließend deaktiviert.

clear spool
Mit diesem Kommando werden alle Druckaufträge aus der Druckerwarteschlange gelöscht.

start spool
Mit diesem Kommando aktivieren Sie die Ausführung von Druckaufträgen wieder. Nach Verlassen der Task "PRINTER" wird der Ausdruck mit der ersten Datei der Warteschlange fortgesetzt.

Tasks

Um eine Task zu bezeichnen, ist es nötig ihren Namen als Task zu qualifizieren. Prinzipiell geschieht das durch den Operator "/". Als Schreibvereinfachung gibt es für etliche Tasks des Systems, wie zum Beispiel die Archivmanager, Prozeduren, die die Task spezifizieren.

myself
So wird die eigene Task als Task spezifiziert.

put (storage (myself))

Lies: zeige wieviel Plattenplatz diese Task logisch belegt.

father
Liefert den direkten Vorgänger (die 'Vatertask').

list (father(father(father)))

Lies: Zeige Dateiliste der 'Urgroßvatertask'.

Kommandos, die direkt eine Task betreffen, gibt es nur wenige. Während Tasks als globale Objekte des L3 Systems in beliebiger Gestalt erzeugbar sind und damit auch beliebige Aufträge, die weit über list und dergleichen herausgehen, möglich sind, sind die Möglichkeiten, eine Task selbst zu behandeln, recht überschaubar.

link
Koppelt eine Task an den Bildschirm.

link (/"OPERATOR")

unlink
Koppelt die eigene Task von Bildschirm ab.

halt
Stellt einer Task einen Fehler zu. Normalerweise wird das laufende Programm unterbrochen und eine Fehlerbehandlung startet. Dieses Kommando ist nur im privilegierten Taskzweig zulässig.

halt (/"eine wildgewordene Benutzertask")

begin
Startet eine Sohntask der aktuellen Task.

begin ("name")

end
Die Task wird gelöscht. Damit sind auch alle Dateien und Sohntasks mitsamt deren Dateien unwiderruflich gelöscht.

Falls aus Versehen eine Task gelöscht wurde, hilft eventuell ein RESET des Rechners um auf den letzten Fixpunkt zurückzufallen. Falls zwischen end und RESET ein Fixpunkt war, gibt es definitiv kein Mittel mehr irgendetwas zu restaurieren.


next up previous contents
Next: Der L3 Editor Up: L3 Benutzerhandbuch Previous: Das L3 Tasksystem

Michael Hohmuth
Thu Mar 21 12:00:00 MET 1996