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