EUMEL-Benutzerhandbuch TEIL 2: Supervisor/Monitor 1. Task-Organisation In diesem Kapitel wird die Task-Verwaltung und der Task-Baum beschrieben. Alle Tasks des EUMEL-Systems werden in einen Task-Baum eingebunden. Das be- deutet, daß die Task eines Benutzers automatisch einen "Vater" besitzt, aber auch neue Tasks ("Söhne") erzeugen kann. In einem EUMEL-System gibt es in der Regel zwei spezielle Tasks (#ib#UR#ie# und #ib#SUPERVISOR#ie#). Alle anderen Tasks sind Söhne oder Enkel dieser Tasks. Zum Beispiel: Die mit großen Buchstaben geschriebenen Tasknamen sind "System"-Tasks; die mit kleinen Buchstaben geschriebenen Tasknamen sind Benutzer-Tasks (dies ist nicht zwingend, sondern Konvention). - SUPERVISOR: Übernimmt das Einrichten bzw. Löschen von Tasks. - OPERATOR: Übernimmt u.a. die Aufgaben für das Ein- bzw. Ausschalten des EUMEL-Systems. - ARCHIVE: Übernimmt die Auslagerung von Dateien auf Archive. - UR: Ist der "Urvater" des EUMEL-Systems, enthält u.a. den ELAN-Compiler. - PUBLIC: Enthält Dateien, die längerfristig gehalten werden müssen und die alle Benutzer des Systems benötigen. Der Task-Baum hat folgende Bedeutung: Eine Task, die sich "unter" einer anderen befindet, ist ein "Sohn" dieser "Vater"-Task. Beispielsweise ist die Task PUBLIC ein Sohn von UR (und UR ist somit Vater von PUBLIC). Die für eine Task zur Verfügung stehenden Datentypen und Operationen (d.h. die Objekte, die aus insertierten ELAN-Paketen herausgereicht werden), sind durch die direkte aufsteigende Linie im Task-Baum vorgegeben. Die in "Vater- Tasks" insertierten und über die Schnittstelle herausgereichten Objekte stehen in den "Söhnen" automatisch zur Verfügung. Beispielsweise stehen einer Sohn-Task von 'user 1' alle insertierten Objekte aus der 'user 1'-Task zur Verfügung (zusätzlich zu denen, die in UR und PUBLIC insertiert wurden). Somit ist leicht möglich, unterschiedliche Sprachmengen des ELAN-Compilers zur Verfügung zu stellen. Vergl. dazu auch das Kapitel über den ELAN- Compiler. Ähnliches gilt bei Dateien. So ist es erlaubt, Dateien zu direkten Vätern und Söhnen im Taskbaum zu transportieren, aber nicht unmittelbar in "parallele" Tasks. Man kann somit in der 'user 1'-Task Dateien von UR oder PUBLIC be- ziehen, aber nicht von 'user 2' (da diese Task eine "parallele" Task ist). Soll das trotzdem geschehen, so muß eine Datei erst von 'user 1' zu PUBLIC geschickt werden und dann von 'user 2' dort abgeholt werden. Genaueres über solche Operationen findet man im Benutzerhandbuch über die Datenräume. Einige Tasks sind speziell dafür eingerichtet, Dateien für mehrere Nutzer aufzubewahren. So sind UR und PUBLIC Tasks, die Dateien verwalten, die längerfristig gehalten werden sollen. Solche Tasks werden "Manager"-Tasks genannt. 2. Supervisor und Tasks Eine Task ist für einen Benutzer ein "eigener Rechner", in der er Programme bearbeiten lassen und/oder Daten aufbewahren kann, ohne von anderen Nutzern, die gleichzeitig im System arbeiten, gestört zu werden. Der Supervisor er- möglicht u.a. die Einrichtung, Weiterbearbeitung und Beendigung einer Task. Überblick Eine Task ist im EUMEL-System ein selbständiger Prozeß. Zu jedem Program- mierer an einem Terminal gehört eine damit verbundene Task. Für den Benutzer ist diese Task sozusagen ein "eigener Rechner". In einem EUMEL-System sind zur gleichen Zeit noch weitere Tasks vorhanden, so z.B. zum Start und Ab- schalten des Systems (OPERATOR), zur Druckersteuerung (SPOOLER), zur Ver- waltung längerfristig benötigter Dateien u.a.m.. Der Supervisor ist auf der ELAN-Ebene des EUMEL-Systems der Betriebssystem- kern. Seine Aufgabe ist im wesentlichen die Task-Verwaltung, nämlich die Er- richtung und das Löschen von Tasks. Im einfachsten Fall kommt ein Benutzer des EUMEL-Systems mit dem Supervisor also nur bei den Supervisor-Kommandos in Kontakt, die den Beginn und das Ende einer Task steuern. Jede Task wird in einen "Taskbaum" eingeordnet. Jede Benutzer-Task ist "Sohn" einer bereits vorhandenen "Vater"-Task und "erbt" von dieser vorüber- setzte Programme. Man kann Dateien zu einer Vater-Task schicken oder von dieser empfangen. Eine neue Task beginnen Mit dem Supervisor-Kommando 'begin' kann eine neue Task eingerichtet werden. Soll eine neue Arbeit im EUMEL-System begonnen werden, muß eine neue Task eingerichtet werden. Dazu muß das Supervisor-Kommando 'begin' gegeben werden. Jedes Supervisor-Kommando muß durch die Betätigung der SV-Taste eingeleitet werden. Dadurch meldet sich das EUMEL-System mit gib supervisor kommando : Jetzt kann eines der Supervisor-Kommandos gegeben werden. In unserem Fall wollen wir mit dem 'begin'-Kommando eine neue Task einrichten. Beispiel: begin ("rainer") errichtet eine neue Task in dem EUMEL-System mit dem Namen 'rainer'. Die Task meldet sich mit gib kommando : Nun kann ein beliebiges Monitor-Kommando gegeben werden. Wird eine Task in der geschilderten Weise eingerichtet, ist diese Task im Taskbaum automatisch ein "Sohn" der Task 'PUBLIC'. 'PUBLIC' ist in der Lage, Dateien von der neuen Sohn-Task zu empfangen ('save'-Kommando) oder man kann Dateien von 'PUBLIC' in die Sohn-Task holen ('fetch'-Kommando). Solche Tasks, die Dateien verwalten können, werden 'manager' genannt. Merke: Nach dem Betätigen der SV-Taste meldet sich der Supervisor. Mit dem 'begin'-Kommando wird eine neue Task eingerichtet. Eine Task ab- und ankoppeln Mit dem 'break'- und 'continue'-Kommandos können die Arbeiten in einer Task unterbrochen und später wieder aufgenommen werden. Soll die Arbeit in einer Task unterbrochen werden, so kann man das (Monitor-) Kommando break geben, welches die Task vom Benutzer-Terminal abkoppelt. Die Task wird dann vom System als "Hintergrund-Task" geführt, bleibt also weiterhin bestehen. Mit dem Supervisor-Kommando continue ("meine task") kann eine solche "abgekoppelte" Task wieder an ein Terminal angekoppelt und die unterbrochenen Arbeiten weitergeführt werden. Mit 'break' wird eine Task unterbrochen, während durch das 'continue'-Kom- mando die Arbeiten fortgesetzt werden können. Eine Task beenden Mit dem 'end'-Kommando wird eine Task beendet und gelöscht. Sind die Arbeiten in einer Task beendet, so sollte sie aus dem System ent- fernt werden. Dies erfolgt mit dem Kommando end Nach einer Rückfrage des Systems wird die Task gelöscht. Beachte, daß mit dem Löschen der Task auch alle in ihr befindlichen Dateien gelöscht werden. Merke: Mit dem 'end'-Kommando wird eine Task beendet und alle in ihr befind- lichen Daten werden gelöscht. Eine Task als Sohn einer Task einrichten Mit dem 'begin'-Kommando ist es auch möglich, eine Task als Sohn einer be- stimmten Task einzurichten. Damit die Vater-Task auch Dateien der einzu- richtenden Sohn-Task verwalten kann, muß man sie vorher zu einer 'manager'- Task machen. In der Regel richtet man seine Task als Sohn von PUBLIC ein. Das erfolgt automatisch, sofern man im 'begin'-Kommando nichts anderes als den neuen Tasknamen angibt. Manchmal ergibt sich aber die Notwendigkeit, eine Task als Sohn einer bestimmten Task einzurichten. Gründe können dafür u.a. sein: - Man will eine eigene Datei-Hierarchie über mehrere Tasks einrichten. - Man will ein Programmsystem anderen Benutzern zur Verfügung stellen. Damit eine Task als Vater für andere, noch einzurichtende Task arbeiten kann, muß man sie zuerst zu einer 'manager'-Task machen. Das erfolgt mit dem Kommando global manager Dies Kommando muß in der Task gegeben werden, die eine Vater-Task werden soll. Damit wird die Task befähigt, Söhne einzurichten und Dateien, die von einem (oder mehreren) Söhnen geschickt werden, zu verwalten. Durch das 'global manager'-Kommando wird implizit ein 'break'-Kommando ge- geben, so daß der Benutzer in der Supervisor-Ebene landet. Koppelt man nun zu irgendeinem Zeitpunkt diese (zunächst potentielle) Vater-Task wieder an ('continue'-Kommando), meldet sich die Task nicht wie gewohnt mit 'gib kommando :', sondern mit maintenance : um anzudeuten, daß es sich um eine 'manager'-Task handelt. Um eine Sohn-Task "unterhalb" der 'manager'-Task einzurichten, gibt man das 'begin'-Kommando, wobei man die Vater-Task mit angibt. Beispiel: begin ("rainer", "vatername") richtet eine neue Task 'rainer' ein, die als Sohn der Vater-Task 'vatername' in den Taskbaum eingeordnet wird. Merke: Das Kommando 'global manager' macht eine Task zu einer 'manager'-Task. Mit dem 'begin'-Kommando kann man auch eine Task als Sohn einer bestimmten Task einrichten. Ein laufendes Programm unterbrechen Mit dem Betätigen der SV-Taste und dem Supervisor-Kommando 'halt' kann ein Programm abgebrochen werden. Soll ein Programm, welches gerade ausgeführt wird, vorzeitig abgebrochen werden, so betätigt man die SV-Taste und gibt das Supervisor-Kommando halt Anschließend kann man wieder ein Monitor-Kommando geben, weil man durch das 'halt'-Kommando automatisch wieder in seine Task gelangt. Merke: Mit dem 'halt'-Kommando wird ein Programm abgebrochen. Eine Task mit Paßwort schützen Man kann eine Task durch ein Paßwort vor unberechtigtem Zugriff schützen. Das Kommando task password welches nur im Monitor gegeben werden kann, sorgt dafür, daß eine Task fort- an nur wieder mit einem 'continue'-Kommando 'betreten' werden kann, wenn man vorher das richtige Paßwort angibt. Beispiel: task passwort ("mein geburtstag") Versucht nun ein Benutzer, die mit dem Paßwort geschützte Task mit dem 'continue'-Kommando an sein Terminal anzukoppeln, wird er zunächst nach dem 'Paßwort' gefragt. Nur unter Angabe des Paßwortes wird die Task angekoppelt. #count("1")#) Man sollte Paßwörter möglichst behalten! Durch Paßwörter geschützte Tasks kann niemand - außer durch die Angabe des korrekten Paßworts - die Task wieder ankoppeln. Hat man das Paßwort vergessen, kann man nur noch die Task löschen. Damit ist gewährleistet, daß kein unberechtigter Benutzer an die Dateien und Programme der Task gelangen kann. Es gibt jedoch noch zwei Situationen, die einen unberechtigten Zugang zu Dateien erlauben: a) Dateien in die Vater-Task schicken: Transportiert man Dateien in die Vater-Task ('save'-Kommando, vergl. auch Teil 7: Datei-Verwaltung), können Benutzer auf diese Dateien zugreifen (sofern sie Zugang zu dieser Task haben). Dies kann man verhindern, in dem man ein Datei-Paßwort angibt (siehe Teil 7 für die Beschreibung dieser Paßworte). Man beachte, daß das Paßwort für Dateien und das oben be- schriebene Paßwort für Tasks nichts miteinander zu tun haben. b) Dateien werden in eine Sohn-Task geholt: Ist die Task als Vater-Task eingerichtet (Kommando 'global manager') dann ist es möglich, von der Sohn-Task Dateien ('fetch'-Kommando) aus der Vater-Task zu holen, die mit einem Paßwort geschützt ist. Darum muß man verhindern, daß Unberechtigte Söhne einer mit Paßwort geschützten Task einrichten können. Das kann man mit dem Kommando begin password ("geheim") Wird dieses Kommando gegeben, wird man bei dem Versuch, eine Sohn-Task einzurichten, nach einem Paßwort gefragt. Beachte, daß das 'begin- password' nichts mit dem Task-Paßwort und Datei-Paßwort zu tun hat. Merke: Mit dem 'task password'-Kommando wird eine Task durch ein Paßwort geschützt. Informations-Kommandos (Die Informations-Kommandos können auch vom Monitor aus gegeben werden). Mit der Informationsprozedur task status können Sie sich über den Zustand einer Task informieren. Beispiele: task status (* informiert über die eigene Task *) task status (father) (* informiert über die Vater-Task *) 'task status' informiert u.a. über die verbrauchte CPU-Zeit der Task, den belegten Speicherplatz (man beachte, daß Dateien mit Vater-Tasks oder Sohn- Tasks werden), den Kanal, an dem die Task angekoppelt ist und dem Zustand der Task (vergl. auch 'task info'). Mit der Prozedur task info können Sie eine Übersicht über alle in dem System befindlichen Tasks er- halten. Mit dem Kommando storage info kann man erfahren, wieviel Speicherplatz auf dem EUMEL-Hintergrund (noch) zur Verfügung steht. Durch einige Kommandos, die man nur vom Monitor aus geben kann, kann man sich den Namen von Tasks liefern lassen. Die Kommandos myself father liefern den (internen) Task-Namen. Mit dem Kommando name bekommt man den internen Tasknamen in einen Text gewandelt. Beispiel: put (name (myself)) put (name (father)) Mit dem Kommando rename myself kann der Task-Name der Benutzer-Task geändert werden. Merke: Durch die Informations-Kommandos 'storage info' und 'task info' kann man erfahren, wieviel Speicherplatz und welche Tasks in dem EUMEL-System sind. Mit den Kommandos 'myself' und 'father' kann man mehrere Dateien auf einmal manipulieren (vergl. Teil 7). Übersicht über Supervisor- und Task-Kommandos In diesem Abschnitt werden alle Supervisor- und Task-Kommandos in der ELAN- Notation dargestellt. Die Supervisor-Kommandos entsprechen - wie alle anderen Kommandos im EUMEL- System - der ELAN-Syntax (Kommando-Namen werden klein geschrieben, Parameter in Klammern, mehrere Parameter durch Kommata getrennt, TEXT-Parameter in Anführungstrichen usw.). Dabei ist jedoch zu beachten, daß diese Kommandos zum Teil nur im Supervisor-Zustand (vorheriges Betätigen der SV-Taste) ge- geben werden können. Die Kommandos 'break', 'end', 'storage info' und 'task info' können auch im Monitor gegeben werden. Folgende Supervisor-Kommandos stehen zur Verfügung: begin PROC begin (TEXT CONST task name) Zweck: Richtet eine neue Task als Sohn von PUBLIC ein. PROC begin (TEXT CONST task name, father task name) Zweck: Richtet eine neue Task als Sohn der 'father task name'-Task ein. begin password PROC begin password (TEXT CONST geheim) Zweck: Verhindert das unberechtigte Einrichten einer Sohn-Task. break PROC break Zweck: Die zum Terminal aktuell zugeordnete Task wird abgekoppelt. Sie wird damit zu einer Hintergrund-Task, d.h. sie wird entweder bis zu ihrem Ende oder bis zur nächsten angeforderten Terminal-Ein-/ Ausgabe oder bis zum nächsten 'continue'- Kommando weiter be- arbeitet. continue PROC continue (TEXT CONST task name) Zweck: Eine im Hintergrund laufende Task wird an das Terminal des Benutzers angekoppelt. end PROC end Zweck: Die zum Terminal aktuell gehörende Task wird abgebrochen und gelöscht. Das Kommando ist im Monitor verfügbar. father TASK PROC father Zweck: Liefert den internen Tasknamen. global manager PROC global manager Zweck: Macht eine Task zur 'manager'-Task. Erst nach Aufruf dieser Prozedur sind Sohn-Tasks möglich. halt PROC halt Zweck: Das laufende Programm der dem Terminal aktuell zugeordneten Task wird abgebrochen. Im Gegensatz zum 'end'-Kommando wird nur das laufende Programm abgebrochen, aber die Task wird nicht gelöscht. Genauer: Es wird der Fehler 'halt from terminal' induziert. Normalerweise wird das Programm dadurch wie durch jeden anderen Fehler abge- brochen. Genaueres findet man im Systemhandbuch unter Fehler- behandlung. name TEXT PROC name (TASK CONST interner name) Zweck: Wandelt den internen Task-Namen in einen TEXT. rename myself PROC rename myself (TEXT CONST neuer name) Zweck: Umbenennen einer Benutzer-Task. myself TASK PROC myself Zweck: Liefert den internen Task-Namen der Benutzer-Task. storage info PROC storage info Zweck: Informationsprozedur über den verfügbaren Hintergrund-Speicher. task info PROC task info Zweck: Informiert über alle Tasknamen im System unter gleichzeitiger An- gabe der Vater/Sohn-Beziehungen (Angabe durch Einrückungen). PROC task info (INT CONST art) Zweck: Informiert über alle Tasks im System. Mit 'art' kann man die Art der Zusatz-Information auswählen. Für 'art' sind zur Zeit folgende Werte zugelassen: 1: entspricht 'task info' ohne Parameter, d.h. gibt nur die Tasknamen unter angabe der Vater/Sohn-Beziehungen aus. 2: gibt die Tasknamen aus. Zusätzlich erhalten Sie Informationen über die verbrauchte CPU-Zeit der Task, die Priorität, den Kanal, an dem die Task angekoppelt ist und den eigentlichen Taskstatus. Hierbei bedeuten: 0 -busy- Task ist aktiv. 1 i/o Task wartet auf Beendigung des Outputs oder auf Eingabe. 2 wait Task wartet auf Sendung von einer anderen Task. 4 busy-blocked Task ist rechenwillig, aber blockiert. 5 i/o -blocked Task wartet auf I/O, ist aber blockiert. 6 wait-blocked Task wartet auf Sendung, ist aber blockiert. Achtung: Die Task wird beim Eintreffen einer Sendung automatisch entblockiert. 3: wie 2, aber zusätzlich wird der belegte Speicher angezeigt. (Achtung: Prozedur ist aufwendig!). Beachten Sie, daß Dateien mit Väter/Söhnen "geshared" werden. Beispiel: Mit 'begin ("sohn", "vater")' wird eine neue Task eingerichtet. Für 'sohn' wird in diesem Zustand der gleiche belegte Speicher angezeigt wie für 'vater'. Erst wenn (Datei-)Operationen in der Sohn- oder Vater-Task vorgenommen werden, wird ein unter- schiedlicher Speicherplatz angezeigt. task status PROC task status Zweck: Informationsprozedur über den Zustand der eigenen Task. Informiert u.a. über - Name der Task, Datum und Uhrzeit; - verbrauchte CPU-Zeit; - belegten Speicherplatz; - Kanal, an den die Task angekoppelt ist; - Zustand der Task (rechnend u.a.m.); - Priorität. PROC task status (TASK CONST t) Zweck: Wie obige Prozedur, aber über die Task mit dem internen Task- namen 't'. Beispiel: task status (father) task password PROC password (TEXT CONST geheim) Zweck: Einstellen eines Paßworts für eine Task im Monitor. Das Kommando 'task password' ist ein Monitor-Kommando. Ist eine Task mit einem Paßwort geschützt, so wird durch den Supervisor nach dem 'continue'-Kommando das Paßwort angefragt. Nur nach Eingabe des richtigen Paßworts gelangt man in die gewünschte Task. Das Paß- wort kann durch nochmaligen Aufruf von 'task password' geändert werden, z.B., wenn es in regelmäßigen Abständen geändert werden muß, um personenbezogene Daten zu schützen. Es gibt keine Möglichkeit, ein einmal eingestelltes Paßwort in Erfahrung zu bringen. Sollte das Paßwort vergessen werden, kann somit die Task nur noch gelöscht werden. Wird als Paßwort ein '-'-Zeichen eingegeben, so wird verhindert, daß die betreffende Task jemals wieder mit dem 'continue'-Kom- mando angekoppelt werden kann. Dies ist z.B. für Manager-Tasks sinnvoll. 3. Der Monitor Der EUMEL-Monitor führt den Dialog mit dem Benutzer innerhalb einer Task. In diesem Kapitel werden nur die Ausführung der Kommandos und die Kommando- Arten beschrieben, während die einzelnen Kommandos selbst in den jeweiligen Kapiteln des Benutzerhandbuchs erläutert werden. Der Monitor ermöglicht es, Leistungen im Dialog mit Hilfe von Kommandos (ELAN-Prozeduraufrufen) vom EUMEL-Betriebssystem anzufordern. Nach dem Beginn einer Sitzung meldet sich der Monitor mit gib kommando : Danach kann der Benutzer Monitor-Kommandos geben. Erfolgt dabei ein Schreib- fehler, so kann er (wie beim Editor) innerhalb der Zeile positionieren, über- schreiben, löschen, einfügen u.a.m.. Die Ausführung des/der Kommandos wird mit der Taste RETURN ausgelöst. Nach Abschluß einer Kommando-Ausführung er- scheint wieder obige Meldung. Die Tastenfolge ESC k stellt das zuletzt gege- bene Kommando wieder dar. Monitor-Kommandos müssen gemäß der ELAN-Syntax geschrieben werden (Kommando- Namen werden klein geschrieben, Parameter in Klammern, mehrere Parameter durch Kommata getrennt, TEXT-Parameter in Anführungstrichen usw.). Beispiele: edit ("meine datei") copy ("meine datei", "Duplikat") Bei den meisten Kommandos mit einem TEXT-Parameter kann der Parameter fort- gelassen werden. Der Monitor versorgt das Kommando immer mit dem zuletzt an- gegebenen Parameter und zeigt dies auch auf dem Bildschirm des Benutzers an. Beispiel: edit ("Datei vom 17.4.") schreibt der Nutzer nun z.B. run und betätigt RETURN, dann ergänzt der Monitor das Kommando: run ("Datei vom 17.4.") Monitor-Kommandos sind einzeilige ELAN-Programme, die dem ELAN-Compiler zur Übersetzung und anschließender Ausführung zugeleitet werden. Darum können die Monitor-Kommandos auch von Programmen aus verwendet werden. Falsch ge- schriebene oder nicht vorhandene Kommandos werden vom ELAN-Compiler mit ent- sprechender Fehlermeldung abgewiesen. Oft benutzte Kommandos werden aus Effizienzgründen vom Monitor selbst interpretiert und ausgeführt. Durch die automatische Überleitung von Kommandos zum ELAN-Compiler ist es möglich a) einzeilige ELAN-Programme direkt in der Monitor-Ebene ausführen zu lassen, d.h. ohne das Programm in eine Datei zu schreiben. Beispiel: put (sin (0.5)) b) mehrere Kommandos (ELAN-Anweisungen), durch ";" getrennt, auf einmal zu schreiben. Beispiele: edit ("datei"); lineform ("datei"); print ("datei") INT VAR i; FOR i FROM 1 UPTO90 REP print ("x") ENDREP c) eine Erweiterung des Kommando-Vorrats jederzeit vorzunehmen, indem man die gewünschte Prozedur (in einem PACKET "verpackt") 'insertiert'. Im folgenden werden die am häufigsten benutzten Kommandos aufgeführt. Genauere Informationen über die einzelnen Kommandos findet man in den entsprechenden Kapiteln des Benutzerhandbuchs. Informations-Kommandos storage info Belegter externer Speicher task info Zeigt die im System befindlichen Tasks task status Zustände der im System befindlichen Tasks Verbindung zum Supervisor end Task und die in ihr befindlichen Dateien löschen break Task abkoppeln task password ("geheim") Paßwort einstellen Editor-Kommandos edit ("datei") Datei editieren edit ("datei1", "datei2") Parallel-Editor Compiler-Kommandos run ("datei") Übersetzen und ausführen eines ELAN-Programms run again Letztes übersetztes Programm nochmal aus- führen insert ("datei") Übersetztes Programm eintragen Datei-Kommandos copy ("datei", "duplikat") Datei kopieren rename ("alt", "neu") Datei umbenennen reorganize ("datei") Datei "reorganisieren" fetch ("datei") Datei von Vater-Task holen save ("datei") Datei zur Vater-Task schicken erase ("datei") Datei in Vater-Task löschen forget ("datei") Datei in Benutzer-Task löschen list Dateien der Benutzer-Task anzeigen Archiv-Kommandos archive ("name") Archiv mit einem Namen reservieren release (archive) Archiv freigeben clear (archive) Löscht ein Archiv list (archive) Dateien des Archivs anzeigen save all (archive) Archiviert alle Dateien einer Task fetch all (archive) Holt alle Dateien eines Archivs in eine Task save ("datei", archive) Datei archivieren fetch ("datei", archive) Datei vom Archiv holen Textkosmetik und Drucker lineform ("datei") Zeilenweises Formatieren pageform ("datei") Seitenweises Formatieren index ("datei") Stichwort- und Inhaltsverzeichnis print ("datei.p") Drucken