From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2 | 628 +++++++++++++++++++++++++ 1 file changed, 628 insertions(+) create mode 100644 doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2 (limited to 'doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2') diff --git a/doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2 b/doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2 new file mode 100644 index 0000000..c70ddfc --- /dev/null +++ b/doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil2 @@ -0,0 +1,628 @@ + 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 + -- cgit v1.2.3