summaryrefslogtreecommitdiff
path: root/doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil12
blob: ba5d0c67c8e8fa167986d747e16b6dfac4b0fca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
                   EUMEL-Benutzerhandbuch 
 
                   TEIL 12:  SPOOLER / OPERATOR                    
 
1. Spooler-Übersicht 
 
Ein "Spooler" ist eine Warteschlange von Datenräumen#ie# (Dateien) vor einem 
"Worker": 
 
           +------------+                 +------------+ 
   ----->  |            |                 |            | 
   ----->  |  spooler   |  ------------>  |   worker   | 
   ----->  |            |                 |            | 
           +------------+                 +------------+ 
 
Der Spooler puffert Dateien, die von beliebigen Tasks geschickt werden kön- 
nen, in seiner Warteschlange und gibt sie der Reihe nach dem Worker zur 
eigentlichen Verarbeitung. Ein typischer Einsatzfall (aber nicht der einzige) 
für ein solches System ist der EUMEL-Drucker in Multi-User-Systemen. Unab- 
hängig davon, ob der Drucker gerade aktiv ist und wieviele Dateien noch auf 
den Ausdruck warten, kann man seine Datei dem Druckspooler schicken und 
sofort danach weiterarbeiten. 
 
Da jeder Spooler und auch jeder Worker eine eigene Task ist, können Spooler 
nur im Multi-User-Systemen eingesetzt werden. 
 
Im folgenden wird nur die anwenderseitige Schnittstelle eines Spoolers be- 
schrieben. 
 
Merke: Ein Spooler puffert Dateien für einen Worker. 
 
 
 
2. Die Benutzung eines Spoolers 
 
Jeder Spooler im System ist eine eigene Task und hat dementsprechend einen 
Tasknamen, über den er angesprochen werden kann. So heißt der Druckspooler 
beispielsweise " PRINTER". 
 
Jede Task kann jedem Spooler durch Aufruf von 'save' eine Datei schicken. 
Beispiel: 
 
   save ("datei name", task ("spooler name")) 
 
(Vergl. auch TEIL 7). In der Regel ist ein SPOOLER für (mindestens) einen 
Drucker in einem EUMEL-System vorhanden. Dieser kann über den internen 
Task-Bezeichner 'print' angesprochen werden. Beispiel: 
 
     save ("datei name", printer) 
 
Eine so übergebene Datei kann man durch 
 
     erase ("datei name", printer) 
 
aus der Warteschlange löschen. (Natürlich nur solange sie sich noch in dieser 
Warteschlange befindet). Dabei kann man nur auf solche Dateien zugreifen, die 
aus der eigenen Task stammen. Durch Aufruf von 
 
     list (printer) 
 
wird die aktuelle Warteschlange des angegebenen Spoolers auf dem Terminal 
angezeigt, so daß man sich über die Anzahl der Dateien und die Position der 
eigenen Dateien im Spooler informieren kann. 
 
Aufbauend auf diesen allgemeinen Kommandos können weitere für spezielle 
Spooler programmiert werden. So gibt es für den Spooler 'printer' die Proze- 
duren 
 
     print     und      print ("datei name") 
 
die im wesentlichen auf 
 
     save ("datei name", printer) 
 
zurückgeführt werden. 
 
Merke: Einem SPOOLER kann man eine (oder mehrere) Dateien mit 'save' 
schicken. Mit 'list' kann man sich über die Dateien im SPOOLER informieren. 
Einem Drucker-SPOOLER übergibt man mit 'print' eine Datei. 
 
 
 
3. Privilegierte Spooler-Kommandos 
 
Gewisse Kommandos können einer #ib#Spooler-Task#ie# direkt im Dialog (ähn- 
lich wie im 'maintenance'-Zustand eines globalen Datei-Managers) gegeben 
werden. Dazu muß der Spooler mit 'continue' an ein Terminal geholt werden. 
Ist der SPOOLER durch ein Paßwort, so sind diese privilegierten Kommandos 
nicht für jeden Benutzer zugänglich. 
 
break 
     PROC break 
     Zweck: Beendet den Dialogzustand des Spoolers. Der Spooler koppelt sich 
            vom Terminal ab und geht in seinen normalen Verarbeitungsmodus 
            über. 
 
first 
     PROC first 
     Zweck: Vorziehen einer Datei in der Warteschlange auf den ersten Platz. 
            Alle Dateien von der zweiten an werden im Dialog zum Vorziehen 
            angeboten. 
 
start 
     PROC start 
     Zweck: Die (vorher gestoppte) Worker-Task wird neu kreiert und ge- 
            startet. 
 
stop 
     PROC stop 
     Zweck: Die Worker-Task wird abgebrochen und gelöscht. Damit wird auch 
            ein von ihr belegetes Terminal wieder frei. 
 
 
Hinweis: Die Kommandos 'start/stop' sind gut dazu geeignet, die Verarbeitung 
         einer Datei durch einen Worker (z.B. Druckoutput) abzubrechen, bei 
         Hardwareeingriffen zu stoppen oder Worker (wie z.B. Drucker) nur 
         zeitweise zu betreiben. 
 
Hinweis: Wenn der Worker mit Verzögerung abgebrochen werden soll, kann man 
         den Spooler an ein Terminal holen und dann so lange mit der Eingabe 
         von 'stop' warten, bis der Worker mit der gerade bearbeiteten Datei 
         fertig ist. Der Spooler kann in dieser Zeit nicht von anderen Tasks 
         oder dem Worker angesprochen werden. 
 
 
 
4. Der OPERATOR 
 
Im folgenden Abschnitt wird die standardmäßig implementierte Task OPERATOR 
erläutert. Erweiterungsmöglichkeiten sind im Systemhandbuch beschrieben. Dem 
OPERATOR stehen gewisse privilegierte Kommandos zur Verfügung. Diese Kom- 
mandos (System abschalten, fremde Tasks löschen u.a) werden vom "normalen" 
Benutzer des Multi-User-Systems nicht benötigt. Sie sind nur für den 
"Operateur" interessant. Es empfiehlt sich, OPERATOR mit einem Paßwort zu 
versehen, damit die priviligierten Kommandos nicht jedem Benutzer zur Ver- 
fügung stehen. 
 
 
 
Einschalten des EUMEL-Systems 
 
Wie ein EUMEL-System eingeschaltet wird, kann hier nicht beschrieben werden, 
weil dies abhängig von speziellen Rechnern ist (Lage des Ein/Aus-Schalters 
u.a.m.). Üblicherweise liefern die Hersteller für diesen Zweck bei der Aus- 
lieferung Anweisungen mit. 
 
Nach Einschalten des Rechnersystems befindet man sich in der Task OPERATOR. 
Diese Task dient zum kontrollierten Ein- und Ausschalten des EUMEL-Systems. 
Nach dem Einschalten wird man automatisch von der Task OPERATOR nach dem 
aktuellen Datum und der Uhrzeit gefragt. Nach Eingabe dieser Werte erfolgt 
 
     gib kommando : 
 
Der Benutzer befindet sich also in der Monitor-Ebene (vergl. dazu auch 
TEIL 2). Um die Task OPERATOR vom Terminal abzukoppeln, gibt man 
 
     break 
 
Nach Betätigen der SV-Taste erscheint dann 
 
     gib supervisor kommando : 
 
Nun kann man mit 'begin' oder 'continue' eine neue Task einrichten oder mit 
einer alten Task in der Arbeit fortfahren. 
 
Merke: Nach dem Einschalten gibt man das Datum und die Uhrzeit an. 
       Dann koppelt man die Task OPERATOR mit 'break' ab. 
 
 
 
EUMEL-System ausschalten 
 
Nachdem die Arbeiten in der Benutzer-Task beendet wurden, koppelt man die 
Task mit 
 
     break 
 
vom Terminal ab oder beendet die Task mit 
 
     end 
 
Achtung: Bei 'end' werden alle Dateien der Task gelöscht. 
 
Nach Betätigen der SV-Taste kann nun ein Supervisor-Kommando gegeben 
werden. Um das EUMEL-System kontrolliert auszuschalten, muß man die Task 
OPERATOR wieder an das Terminal holen. Das erfolgt mit 
 
     continue ("OPERATOR") 
 
Die OPERATOR-Task meldet sich mit 
 
     gib kommando : 
 
Nun kann man das Kommando 
 
     shutup 
 
geben, welches das System kontrolliert abschließt. 'shutup' garantiert, daß 
alle Dateien auf dem Hintergrund des EUMEL-Systems gesichert werden. Wird 
das EUMEL-System ohne 'shutup' ausgeschaltet (z.B. indem der Rechner einfach 
ausgeschaltet wird), können die Informationen, die seit dem letzten Fixpunkt 
(üblicherweise 15 Minuten) aufgelaufen sind, verloren sein. 
 
Merke: In der Task OPERATOR wird mit dem Kommando 'shutup' das EUMEL-System 
kontrolliert abgeschaltet. 
 
 
 
Übersicht über die #ib#OPERATOR-Kommandos 
 
end 
   PROC end (TASK CONST task) 
   Zweck: Löschen der Task 'task'. Hierbei findet keine Paßwortüberprüfung 
          statt. Darum sollte die Task OPERATOR auch mit einem Paßwort 
          versehen sein, weil man vom OPERATOR jede Task löschen kann. 
          Beispiel: 
 
             end (task ("hugo")) (* oder: *) 
             end (/"hugo") 
 
set date 
    PROC set date 
    Zweck: Einstellen des Datums und der Uhrzeit. Das Erfragen der Werte 
           erfolgt interaktiv. 
 
shutup 
   PROC shutup 
   Zweck: Kontrolliertes Herunterfahren des gesamten Systems. Alle Tasks 
          bleiben mit ihren Daten erhalten. Beim Start des Systems meldet 
          sich die OPERATOR-Task wieder auf dem gleichen Terminal. Das 
          Kommando sollte deshalb möglichst nur am Terminal 0 gegeben 
          werden. Nach dem Start sollte der OPERATOR mit 'break' vom 
          Terminal abgekoppelt werden.