summaryrefslogtreecommitdiff
path: root/doc/user-manual/1.7.3-pd/doc/pd.Handbuch.Teil1
blob: cdeca13048bacacd971a29de111281a08608df39 (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
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
                       EUMEL-Benutzerhandbuch 
 
                         TEIL 1: Einführung                         
 
Vorwort          
 
Lieber EUMEL-Nutzer! 
 
Ihnen liegt hier das EUMEL-Benutzerhandbuch zur Public-Domain-Version 1.7.3 
vor. Es gliedert sich in mehrere Teile. Der erste Teil des Benutzerhandbuchs 
soll dem zukünftigen Benutzer den "Einstieg" in das EUMEL-System erleichtern. 
Dazu werden die wichtigsten Eigenschaften des EUMEL-Systems vorgestellt. 
Danach zeigen wir eine Beispielsitzung. Anschließend werden einige 
prinzipielle Konzepte des EUMEL-Systems vermittelt. Den Abschluß bildet ein 
kleines EUMEL-Wörterbuch. 
 
Die übrigen Teile des EUMEL-Benutzerhandbuchs dokumentieren jeweils ein oder 
mehrere abgeschlossene Einheiten des Systems. Ein EUMEL-Nutzer braucht so nur 
die ihn interessierenden Teile zu lesen. Ein Programmierer z.B. sollte 
 
   Einführung, Supervisor/Monitor, Editor, ELAN-Compiler und Dateien 
 
durcharbeiten. Für Programmierer, die noch keine Erfahrung mit ELAN besitzen, 
ist der Teil "Erste Hilfe" gedacht. Weiterhin werden die Teile über Dateien 
und Standardpakete oft benötigt. Ein Nutzer, der vorwiegend an der Textbe- 
und verarbeitung interessiert ist, braucht dagegen nur 
 
   Einführung, Supervisor/Monitor, Dateien, Editor und Textkosmetik. 
 
Der OPERATOR/Spooler-Teil ist nur für diejenigen Programmierer gedacht, die 
ein EUMEL-System betreuen. Weitere Informationen finden System-Programmierer 
im System-Handbuch bzw. in der Veröffentlichung des Quellcodes. 
 
 
1. Eigenschaften des EUMEL-Betriebssystems 
 
Das EUMEL-Betriebssystem (Extendable multi User Microprocessor ELANsystem) 
ist ein Betriebssystem, das z.Z. für den Einsatz auf Mikroprozessoren vorge- 
sehen ist. Es weist u.a. folgende Eigenschaften auf: 
 
- Das EUMEL-System ist ein "Time sharing"-Betriebssystem, d.h. mehrere Be- 
  nutzer können gleichzeitig an einem Rechensystem arbeiten (z.B. Programme 
  übersetzen, bearbetten (rechnen) oder erstellen (edieren)). Dabei wird die 
  verfügbare Rechen- und Speicherkapazität zwischen den Benutzer-Prozessen 
  dynamisch aufgeteilt. 
 
- Jeder Benutzer richtet (mindestens) eine Task ein, in der er sich Programme 
  und/oder Dateien halten kann, auf die andere Nutzer nicht zugreifen können. 
  Tasks können von einem Terminal "abgekoppelt" und trotzdem - sofern aus- 
  reichend freie Rechnerkapazität zur Verfügung steht - als Batch-Auftrag im 
  Hintergrund weiter bearbeitet werden. 
 
- Das EUMEL-Betriebssystem ist so konzipiert, daß der Sicherheit des Systems 
  besondere Beachtung geschenkt wurde. Zu diesem Zweck werden in bestimmten 
  zeitlichen Abständen sogenannte Restart-Punkte auf dem externen Speicher- 
  medium gesichert. In diesen Sicherungen wird der augenblickliche System- 
  Zustand konserviert, so daß bei Netzausfall oder eventuellen System-Zu- 
  sammenbrüchen der Betrieb übergangslos wieder aufgenommen werden kann, mit 
  der Ausnahme des Verlustes der Daten, die nach dem letzten Restart-Punkt 
  aufliefen. 
 
- "Tasks" und/oder Dateien können vor dem unbefugten Zugriff durch "Pass- 
  words" geschützt werden. Ein weitergehender Schutz wird durch die Möglich- 
  keit von Password-Algorithmen vom EUMEL-System angeboten, so daß den Be- 
  langen des Datenschutzes Rechnung getragen werden kann. 
 
- Das EUMEL-Betriebssystem ist leicht erweiterbar. Da der Kern des Betriebs- 
  systems in ELAN geschrieben ist, können Anwender selbst leicht Erweiterun- 
  gen bzw. lokale Modifikationen in das System ein- bzw. anfügen. Dabei kön- 
  nen bestimmte Erweiterungen nur bestimmten Benutzern oder Benutzergruppen 
  zur Verfügung gestellt werden. Da die Programmiersprache ELAN selbst er- 
  weiterbar ist, ist es möglich, verschiedenen Anwendern oder -gruppen unter- 
  schiedliche Erweiterungen der Sprache anzubieten. 
 
- In dem EUMEL-Betriebssystem ist eine implizite Dateihierarchie realisiert. 
  Dies wird erreicht, indem den Tasks Dateien zugeordnet werden. Man kann 
  Dateien im Taskbaum von "Vater-Tasks" holen oder zu ihnen schicken. Lokale 
  Dateien werden mit dem Beenden einer Task automatisch gelöscht, während 
  Dateien, die längerfristig gehalten werden sollen, bei längerlebenden Tasks 
  gehalten werden müssen. 
 
- Die Kommandosprache ("job control language") des EUMEL-Systems entspricht 
  der ELAN-Syntax (Prozeduraufrufe). Das befreit den Anwender von der 
  Schwierigkeit, zwei verschiedenartige Sprachen zu erlernen. Darüber hinaus 
  können eine oder mehrere Anweisungen der Kommandosprache in ELAN-Programmen 
  enthalten sein. Z.B. ist es möglich, Kommandos vom Editor ausführen zu 
  lassen oder den Editor von einem Programm aus aufzurufen. 
 
- Die Dienstprogramme des EUMEL-Systems, wie z.B. der EUMEL-Editor, sind 
  geräteunabhängig und meist erweiterbar konzipiert. Zudem sind sie auch in 
  ELAN formuliert, so daß Änderungen und Korrekturen leicht vorgenommen 
  werden können. 
 
- Das EUMEL-System verwaltet seinen Hauptspeicher nach dem "demand-paging"- 
  Prinzip. Daten und/oder Programme werden daher in Seiten von 512 Bytes 
  aufgeteilt. Nur diejenigen Seiten, die zu einem Zeitpunkt wirklich benötigt 
  werden, befinden sich im Speicher. Dadurch kann sich das EUMEL-System auf 
  wechselnde Speicherplatz-Anforderungen optimal einstellen. 
 
- Für alle Programme wird reentranter Code erzeugt. Somit können mehrere 
  Benutzer Code gleichzeitig benutzen ("sharable code"), wobei der Code nur 
  einmal vorhanden sein muß. Dies ist insbesondere für Dienstprogramme wie 
  z.B. Compiler, Editor usw. wichtig. 
 
- Dateien können ebenfalls (wie Programme) von mehreren Benutzern gemeinsam 
  verwendet werden, ohne daß mehrere Kopien davon hergestellt werden müssen 
  Das System sorgt mit seinen Paging-Fähigkeiten automatisch für das "sharen" 
  von Dateien. Erfolgt jedoch ein Schreibzugriff, so wird nur für den 
  schreibenden Benutzer eine Kopie angelegt. 
 
- Das EUMEL-System bietet gute Textbe- und -verarbeitungsmöglichkeiten. 
  Grundlage dafür ist der bildschirmorientierte Editor (eine Entwicklung der 
  GMD). Der Editor erlaubt auch ein "multi window editing" und die Ausführung 
  von beliebigen Kommandos. Zusätzlich gibt es eine Reihe von Programmen zur 
  "Textkosmetik", die es erlauben, Texte zeilen- und seitenweise zu forma- 
  tieren. Dabei ist es möglich, unterschiedliche Schriftarten zu verwenden. 
 
 
2. Eine kleine Beispielsitzung mit EUMEL 
 
Zum ersten Kennenlernen wird hier ein Beispiel einer EUMEL-Sitzung darge- 
stellt. Diese Vorlage kann man am Rechner "nachspielen". Da die Reaktion des 
Systems hier auf dem Papier nur unvollkommen wiedergegeben werden kann, ist 
diese Beispielsitzung durch "trockenes" Lesen (ohne Rechner) sicherlich etwas 
schwieriger zu verstehen als durch Nachspielen. 
 
Alle Ausgaben des EUMEL werden mit 
 
----> 
 
gekennzeichnet, alle Benutzereingaben haben 
 
<---- 
 
als Kennzeichen. Spezielle Tasten werden groß geschrieben, z.B. 
 
     RETURN 
 
als Bezeichnung für die RETURN-Taste. 
 
 
Anfang                
 
Im Multi-User-System können gleichzeitig mehrere Benutzer aktiv sein. Dabei 
braucht jeder ein eigenes "Zimmer" im "EUMEL-Haus", in dem er arbeiten kann, 
ohne andere zu stören. Diese "Zimmer" heißen hier "Tasks" und haben Namen. 
Zu Beginn muß der Benutzer sich an seinem Bildschirm eine Task erzeugen. Dazu 
muß er das Betriebssystem aktivieren: 
 
<----              SV 
 
EUMEL meldet sich: EUMEL Version 1.7.3/M 
 
---->              gib supervisor kommando: 
 
Dann muß der Benutzer sich einen Tasknamen ausdenken (z.B. "ottokar") und 
ein Kommando zum Einrichten einer neuen Task geben: 
 
<----  begin ("ottokar")  RETURN 
 
Daraufhin wird eine neue Task erzeugt, sie meldet sich: 
 
---->  gib kommando: 
 
Jetzt kann die eigentliche Sitzung beginnen. 
 
 
Programm erstellen 
 
Wir schreiben ein kleines Programm zur Primzahlberechnung: 
 
<----   edit ("prim")   RETURN 
 
---->   neue datei einrichten (j/n) ? 
 
<----                                  j 
 
Es soll eine neue Datei mit dem Namen 'prim' eingerichtet werden, daher ant- 
worten wir mit 'j'. Die Datei ist zu Anfang leer. Der Editor zeigt nur die 
Überschrift, der restliche Bildschirm ist leer. Wir können jetzt unser Pro- 
gramm eingeben: 
 
     INT VAR zahl := 3 ; 
     WHILE zahl <= 1000 REP 
         drucke falls primzahl ; 
         zahl INCR 2 
     PER . 
 
     drucke falls primzahl : 
         INT VAR teiler := 3 ; 
         WHILE teiler * teiler <= zahl REP 
             IF teiler gefunden 
               THEN LEAVE drucke falls primzahl 
             FI ; 
             teiler INCR 2 
         PER ; 
         put (zahl) ; 
         line . 
 
     teiler gefunden : 
         zahl MOD teiler = 0 . 
 
Bei der Eingabe des Programms können wir auch die Funktionstasten benutzen. 
Die genauen Funktionen sind in den folgenden Teilen des Benutzerhandbuchs 
erklärt. Für den Anfang gilt aber: Probieren geht über Studieren! 
 
Wir verlassen den Editor: 
 
<----   ESC q 
 
---->  gib kommando: 
 
 
Programm übersetzen und ausführen 
 
<----  run   RETURN 
 
---->       ("prim") 
 
Der Dateiname ('prim') wird automatisch ergänzt und das Programm wird vom 
ELAN-Compiler übersetzt. Dabei erscheinen die Nummern der gerade übersetzten 
Zeilen in der linken unteren Bildecke. Wenn keine Fehler gefunden wurden, 
wird das Programm anschließend ausgeführt. Dann sollten die Primzahlen von 
3 bis 1000 erscheinen. 
 
 
Ein fehlerhaftes Programm korrigieren 
 
Falls der ELAN-Compiler Fehler findet, wird das Programm nicht ausgeführt. 
Das System geht automatisch in den Editor, der jetzt zwei Dateien "parallel" 
auf dem Bildschirm zeigt. Die obere enthält die Fehlermeldungen, die untere 
das ELAN-Programm, so daß Korrekturen leicht möglich sind. Dabei kann man gut 
folgende Editor-Funktionen benutzen (ausprobieren!): 
 
    ESC  ESC  n  RETURN   positioniert auf Zeile n 
 
    HOP  UNTEN 
                          zum Blättern 
    HOP  OBEN 
 
    ESC  w                wechselt zur jeweils anderen Datei (z.B. um in der 
                          Fehlermeldungsdatei weiterzublättern) 
 
Nach Verlassen des Editors (ESC q) kann das Programm wieder gestartet werden. 
 
 
Ändern des Programms 
 
<----  edit   RETURN 
 
---->        ("prim") 
 
Auch hier wird der Dateiname zum Kommando 'edit' automatisch ergänzt. Jetzt 
kann das Programm mit den üblichen Editor-Möglichkeiten verändert werden. 
Vorschläge: 
 
     - Man ändere den Bereich (Vorsicht: maxint ist 32767). 
     - Man teste die Teiler bis zur Zahl selbst hoch. 
     - Man benutze REALs anstelle von INTs. 
     - Man suche Zwillinge. 
 
An Editor-Möglichkeiten könnte man ausprobieren: 
 
   RUBOUT           löscht ein Zeichen. 
 
   RUBIN            schaltet den Einfügezustand ein. Das nächste RUBIN 
                    schaltet ihn wieder ab. 
 
   HOP   UNTEN      zum Anfang des Bildschirms oder "blättern nach oben". 
 
   HOP   OBEN       zum Ende des Bildschirms oder "blättern nach unten". 
 
   HOP   RUBOUT     am Zeilenanfang löscht die ganze Zeile. 
 
   HOP   RUBIN      schaltet "Zeilen einfügen" ein. Das nächste HOP RUBIN 
                    schaltet es wieder aus. 
 
 
Datei löschen 
 
<----  forget   RETURN 
 
---->           ("prim") 
 
---->  löschen (j/n) ? 
 
<----                   j 
 
---->  gib kommando: 
 
 
Ende einer Sitzung 
 
<----  end  RETURN 
 
---->  task loeschen (j/n) ? 
 
<----                       j 
 
---->  EUMEL     Version 1.7.3 / M 
 
 
 
3. Einige Eigenschaften des EUMEL-Systems 
 
In diesem Abschnitt werden wir einige Eigenschaften des EUMEL-Systems 
schildern, die zum korrekten Arbeiten mit dem System wichtig sind. Um das 
Verständnis zu erleichtern, verwenden wir für einige System-Eigenschaften 
Modelle, die das Verhalten des Systems an typischen Merkmalen widerspiegeln 
spiegeln sollen, die aber - wie bei allen Modellen - kein exaktes Abbild 
darstellen. 
 
 
Tasks, Supervisor und Monitor 
 
Zuerst versuchen wir zu erklären, wie sich ein Benutzer im EUMEL-System 
anmeldet und den Mechanismus, wie man bestimmte Leistungen vom System 
anfordert (Einige Ideen dieses ersten Abschnittes gehen auf W. Ambros, 
Rhein-Sieg Gymnasium, St. Augustin, zurück). 
 
Stellen wir uns das EUMEL-System als ein riesiges Verwaltungsgebäude vor, 
wie es in unseren Städten in den letzten Jahren überall gebaut wurde. Ein 
Verwaltungsangestellter beginnt frohgemut seinen ersten Arbeitstag. Da das 
Gebäude so riesig ist, kann er sein Zimmer nicht finden. Aber er ist pfiffig: 
er fragt einfach den freundlichen Pförtner, der ihn in sein Zimmer führt. 
 
So ist es im EUMEL-System: 
Wenn man eine Arbeit neu beginnen will, muß man sich beim Supervisor (das ist 
der Pförtner in unserem Modell) anmelden. Dazu muß man erstmal den Supervisor 
"wecken" (wie mit einer Klingel): wir drücken die Supervisor-Taste (im 
folgenden mit SV abgekürzt). Der Supervisor meldet sich dann mit 
 
     gib supervisor kommando : 
 
Nun kann man eine Task anmelden. Das ist ein Zimmer im EUMEL-System, in dem 
man arbeiten kann, ohne von den anderen Benutzern gestört zu werden. Ist die 
Task noch nicht vorhanden, wird sie eingerichtet. Dann leitet uns der Super- 
visor in die angegebene Task. 
 
Der Verwaltungsangestellte ist nun vom Pförtner zu seinem Büro geleitet 
worden. Dort empfängt ihn der Bürovorsteher: "Was möchten Sie arbeiten?" 
Unser Angestellter kann nun (z.B.) sagen, daß er etwas schreiben möchte. Der 
Bürovorsteher führt ihn in einen speziellen Schreibraum, in dem einige 
spezielle Einrichtungen und Geräte für komfortables Schreiben stehen. 
 
So sieht es im EUMEL-System aus: 
Nachdem man eine neue Task eingerichtet hat oder eine bereits vorhandene 
fortsetzen will, gelangt man zum Monitor (das ist unser Bürovorsteher), der 
sich mit 
 
     gib kommando : 
 
meldet. Nun kann man verschiedene Arbeiten verrichten, wie z.B. den Editor 
rufen, um einen Text oder ein Programm zu schreiben: 
 
     edit ("meine datei") 
 
In diesem Schreibzimmer kann unser Angestellter irgendetwas schreiben, z.B. 
ein Programm, einen Liebesbrief, ein Testament oder ganz etwas anderes. Hat 
er eine Frage oder will er eine besondere Leistung, dann kann unser Ange- 
stellter den Bürovorsteher aus dem Schreibzimmer rufen. Hat er seine Schreib- 
arbeit beendet, geht er aus dem Zimmer und trifft dort wiederum auf den auf- 
merksamen Vorsteher. Ihm kann er nun sagen, daß er das Schriftstück (z.B.) 
drucken oder von einem Dolmetscher übersetzen lassen will. 
 
Im EUMEL-System: 
Im Editor schreibt man Texte oder Programme. Während man im Editor ist, kann 
man besondere Leistungen durch Kommandos anfordern, ohne den Editor zu ver- 
lassen, z.B. in einer anderen Datei nachschauen oder einen Teiltext in dem 
geschriebenen Schriftstück suchen. Nachdem die Arbeit beendet ist, verläßt 
man den Editor (ESC q) und gelangt wiederum in den Monitor. Hier kann man 
das Schriftstück drucken oder - im Falle eines Programms - übersetzen lassen: 
 
     print ("meine datei") 
     run   ("meine datei") 
 
Hat das Programm einen Fehler, eröffnet uns der Monitor ein Fenster auf die 
Datei und zeigt uns gleichzeitig die Fehlermeldungen, so daß wir bequem 
korrigieren können. 
 
Nachdem unser Angestellter mit seinen Arbeiten fertig ist, kann er dem Vor- 
steher (Monitor) sagen: 
 
     Ich kündige!  (will nicht mehr weiterarbeiten)  ('end') 
     Bis Morgen!   (will später weiterarbeiten)      ('break') 
 
Merke: Der Supervisor des EUMEL-Systems regelt die Einrichtung, Zugang und 
       Löschung von Tasks. In einer Task kann ein Benutzer arbeiten, ohne 
       von anderen gestört zu werden. Spezielle Tasks sind für allgemeine 
       Aufgaben vorgesehen, wie z.B. das Drucken und Sichern von Dateien. 
       Durch den Monitor kann man Kommandos innerhalb einer Task geben. 
 
 
Demand Paging 
 
Nun versuchen wir einen zentralen Begriff des EUMEL-Systems zu erklären, das 
"demand paging". Diese Eigenschaft moderner Rechensysteme sorgt dafür, daß 
bei (normalerweise immer) beschränkten Speicherkapazitäten eines Rechners 
Programme bearbeitbar sind, die in ihrer Gesamtgröße nicht in den Speicher 
des Rechners passen würden. 
 
Nehmen wir wieder den Angestellten, der nun in einem Zimmer (Task) auf einem 
Tisch das EUMEL-Benutzerhandbuch durcharbeiten will. Stellen wir uns weiter 
vor, daß er das Benutzerhandbuch nicht rein "sequentiell" lesen will, sondern 
daß er fortwährend "blättern" muß. Eigentlich muß unser Angestellter mehrere 
Seiten des Benutzerhandbuchs gleichzeitig lesen. Deshalb kommt er auf die 
listige Idee, die Seiten, die er dringend benötigt, zu photokopieren und auf 
seinem Tisch nebeneinander auszubreiten, damit er nicht mehr blättern muß. 
Leider ist sein Tisch zu klein, um alle photokopierten Seiten darauf auszu- 
breiten. Durch die Sparbemühungen der Regierung ist es auch aussichtslos, 
sich um einen größeren Tisch zu bemühen. Aber im Titel für Verbrauchsmaterial 
ist genügend Geld vorhanden, so daß Papier für den Photokopierer angeschafft 
werden kann. Außerdem geht das Photokopieren sehr schnell, weil er den Photo- 
kopierer direkt neben seinen Tisch aufbaut. Darum photokopiert er nur die- 
jenigen Seiten, die er gerade benötigt und legt diese auf seinen Tisch. 
Braucht er eine neue Seite aus dem Buch und hat diese auf dem Schreibtisch 
keinen Platz mehr, so muß er eine auf dem Tisch liegende Seite entfernen. 
Geschickt wählt sich unser Angestellter eine Seite aus, von der er annimmt, 
daß er diese nicht so schnell wieder benötigt. 
 
Was macht er nun mit der "alten" Seite? Er könnte die kopierte Seite einfach 
in das Benutzerhandbuch einordnen. Aber dazu müßte er erstmal in dem Benut- 
zerhandbuch suchen, was ihm zuviel Mühe macht. Deshalb wirft er diese Seite 
einfach weg, denn er kann sie ja jederzeit wieder aus dem Handbuch kopieren. 
 
Gerade will er eine Seite wegwerfen, da fällt ihm auf, daß er das "Wegwerf"- 
Verfahren vielleicht nicht immer anwenden sollte. Seine Notizen, die er sich 
auf einigen Seiten gemacht hat, würden ja mit weggeworfen und damit ver- 
nichtet. Deshalb wirft er Seiten mit Notizen nicht weg, sondern tauscht diese 
Seiten mit den ursprünglichen Seiten im Benutzerhandbuch aus. 
 
Fassen wir zusammen: 
Jemand arbeitet ein Buch "durch". Er kopiert sich diejenigen Seiten, die er 
jeweils benötigt. Da sein Tisch zu klein ist, um alle Seiten gleichzeitig 
auszulegen, kann er immer nur einen Ausschnitt aus dem Buch bearbeiten, was 
aber ausreicht. Braucht er eine neue Seite, so muß er eine auf dem Tisch 
liegende Seite "verdrängen". Hat er diese Seite nicht verändert, also mit 
Notizen versehen, so kann er sie einfach wegwerfen. "Veränderte" Seiten 
ersetzt er im Buch und bewahrt sie somit auf. 
 
Ähnliches erfolgt auch im EUMEL-System: 
Der Zentralspeicher (der Tisch in unserem Modell) des Rechners ist meist ge- 
genüber dem Massenspeicher, der im EUMEL-System auch als "Hintergrund" be- 
zeichnet wird (Floppy oder Magnetplatte; in unserem Modell das Buch) zu 
klein, als daß alle Informationen gleichzeitig hineinpassen würden. Darum 
werden alle Informationen in sogenannte Seiten ("pages") unterteilt, die 
jeweils 512 Byte (ein Byte entspricht einem Zeichen) groß sind. Wird eine 
Information benötigt, so wird die betreffende Seite in den Speicher geholt 
(daher auch der Begriff "demand paging", etwa: Seitenaustausch auf An- 
forderung). Das geht so lange gut bis der gesamte Platz im Zentralspeicher 
des Rechners belegt ist. Soll nun eine neue Seite vom Massenspeicher geholt 
werden, weil die darin enthaltenen Informationen gebraucht werden, muß eine 
Seite im Zentralspeicher ersetzt werden (Fachwort: die Seite muß "verdrängt" 
werden). Sie kann überschrieben werden (in unserem Modell wurde sie "wegge- 
worfen"), wenn keine Veränderungen vorgenommen wurden, d.h. keine Schreibzu- 
griffe, sondern nur Lesezugriffe auf die Seite erfolgten. Wurde die Seite 
verändert, so muß sie auf den Hintergrund zurückkopiert werden und dort die 
ursprüngliche Seite ersetzen. 
 
 
Merke: Die Vorteile eines "demand paging" Systems sind nun offensichtlich: 
       Es ist möglich, bei weitem größere Informationsmengen (Daten und/oder 
       Programme) zu bearbeiten als diejenige, die eigentlich in den vor- 
       handenen Speicher passen würde, weil tatsächlich immer nur ein Aus- 
       schnitt der gesamten Informationsmenge zu einem Zeitpunkt bearbeitet 
       werden muß. Bei traditionellen Systemen ist dagegen die maximale Größe 
       von Programmen und Daten durch die physikalische Größe des Zentral- 
       speichers beschränkt. 
 
 
Sharing 
 
Sharing bezeichnet die gemeinsame Nutzung von Seiten ("pages") durch mehr 
als einen Benutzer. 
 
Zurück zu unserem Angestellten: Dieser ist inzwischen fleißiger geworden und 
hat das gleiche Verfahren auf mehrere Bücher ausgedehnt, d.h. er kopiert sich 
diejenigen Seiten aus den Büchern, die er gerade benötigt. Bei der Ver- 
drängung einer Seite behält er sein altes (nicht sehr umweltfreundliches) 
Verfahren bei: nur die veränderten Seiten ersetzen die Original-Seiten in den 
Büchern (werden zurückgelegt), die anderen (nicht veränderten) weggeworfen. 
 
Aber auch andere Angestellte seines Büros haben ihn beobachtet, beneiden ihn 
um seine "geschickte" Arbeitstechnik und wollen mitarbeiten. Leider steht 
ihnen gemeinsam nur der eine Tisch zur Verfügung, der zudem in der Zwischen- 
zeit auch nicht größer geworden ist, weil die Sparmaßnahmen der Regierung 
noch immer anhalten. Darum müssen sie sich nun den einzigen Tisch teilen, auf 
dem sie ihre kopierten Seiten auslegen können. 
 
Im Laufe der Arbeit ergibt es sich, daß sie unterschiedliche Seiten der 
Bücher durcharbeiten müssen, weil sie verschieden schnell arbeiten, aber auch 
andere Arbeitsgebiete haben. 
 
Durch die unterschiedliche Arbeitsgeschwindigkeit ergibt es sich, daß ein 
Angestellter z.B. zu einem Zeitpunkt sich intensiv nur mit einer Seite be- 
schäftigt, ein anderer aber mehrere Seiten quasi gleichzeitig braucht. Aber 
oft brauchen mehrere Angestellte mehrere Seiten, so daß der verfügbare Platz 
auf dem Tisch bald etwas zu eng wird. Natürlich "funktioniert" unser Ver- 
fahren immer noch, aber es ist doch etwas langsam geworden, weil unsere 
Angestellten mehr mit dem Austausch von Seiten beschäftigt sind, als daß sie 
noch zu dem Verarbeiten der gelesenen Informationen kommen. Sie überlegen 
also, wie das Verfahren zu verbessern ist und kommen auf folgenden Trick: 
kopierte Seiten, die zwei oder mehr Angestellte zur gleichen Zeit bearbeiten 
wollen, brauchen nur einmal auf dem Tisch zu liegen (schließlich sind unsere 
Angestellten gewöhnt, in Gruppen zu arbeiten). Diese Rationalisierungs-Idee 
ist ja offensichtlich, denn schließlich benutzen die Angestellten die Bücher 
auch gemeinsam. Aber Vorsicht: wenn einer der Angestellten, die gemeinsam 
eine Seite bearbeiten, sich etwas auf dieser Seite notieren will, darf nicht 
die gemeinsam auf dem Tisch liegende Seite verwendet werden. In diesem Fall 
ist es notwendig, vorher eine erneute Kopie zu machen, weil andere Ange- 
stellte seine Notizen nicht unbedingt mitlesen sollen, also die unveränderte 
Seite brauchen. 
 
Und das findet im Rechner statt: 
Das "demand paging" Verfahren funktioniert natürlich nicht nur mit einer 
Datei und einem Programm, sondern auch mit mehreren Dateien und Programmen, 
von denen nur diejenigen Seiten in den Zentralspeicher geholt werden, die zu 
einem Zeitpunkt in den Rechner passen. Aber erst mit mehreren Benutzern des 
EUMEL-Systems entfaltet das "demand paging" Verfahren seine volle Mächtig- 
keit, denn alle Benutzer können Programme und/oder Dateien verarbeiten, die 
in der Gesamtheit nicht in den Speicher passen würden. Dabei wird eine Eigen- 
schaft des EUMEL-Systems gut genutzt: Alle Programme des EUMEL-Systems (und 
übrigens alle Programme, die der ELAN-Compiler übersetzt hat) sind reentrant, 
d.h. können von mehreren Benutzern gleichzeitig gelesen werden, aber brauchen 
nur einmal im Zentralspeicher vorhanden zu sein. Zwei oder mehr Benutzer 
können also eine oder mehrere Seiten gemeinsam verwenden (Fachausdruck: 
"sharen"), sowohl im Zentralspeicher wie auch im Massenspeicher ("Hinter- 
grund"). Dies gilt nicht nur für Programme, sondern auch für Daten. Erst 
wenn ein Benutzer eine Veränderung vornimmt, also schreibend auf die Seite 
zugreift, wird diese Seite (nur für diesen Benutzer!) kopiert (EUMEL-Fachaus- 
druck: "copy on write"). Alle anderen Benutzer arbeiten mit der unveränderten 
Seite weiter. Der große Vorteil dieses Verfahrens: eine redundante 
Speicherung von Daten und Programmen wird vermieden. 
 
Es passiert nun oft, daß ein Benutzer zu einem Zeitpunkt relativ wenig Seiten 
benötigt: sei es, daß er Daten mit Hilfe des Editors eingibt oder nachdenkt, 
sei es, daß ein Programm wenig Daten verwendet und selbst sehr kurz ist. Mit 
anderen Worten: die Anzahl der benötigten Seiten zu einem Zeitpunkt (Fachaus- 
druck: "working set") für diesen Benutzer ist klein. Dann ist es möglich, daß 
andere Benutzer zu diesem Zeitpunkt mehr Seiten im Zentralspeicher des Rech- 
ners haben. Deren "working set" ist also groß. 
 
Merke: Damit wird ein weiterer Vorteil des "demand paging" Verfahrens klar: 
       Ein "demand paging" System stellt sich automatisch und dynamisch auf 
       die Anforderungen von Benutzern ein, indem denjenigen Benutzern mehr 
       Speicher zugeteilt wird, die mehr benötigen und umgekehrt. Aber auch 
       ein Nachteil wird sichtbar: Benötigen alle Benutzer des Systems viel 
       Zentralspeicher, dann kann es zu folgender Situation kommen: Benutzer 
       A benötigt eine neue Seite. Das System verdrängt für diesen Zweck eine 
       Seite, die Benutzer B gehört. Nachdem Benutzer B an die Reihe kommt, 
       benötigt er diese Seite wieder. Das System verdrängt eine Seite des 
       Benutzers A u.s.f.. Eine solche Situation, in der "pages" ständig in 
       den Speicher kopiert und aus dem Speicher bei einer Seitenverdrängung 
       auf den Hintergrund geschrieben werden muß (und somit kaum gerechnet 
       wird), wird als "thrashing" bezeichnet. "thrashing" oder mit anderen 
       Worten: sehr geringer Verbrauch an Rechenzeit bei gleichzeitig er- 
       höhtem "paging"-Aufwand ist ein Anzeichen für zu hohe Anforderungen 
       an das System (Ausweg: Erweiterung des Hauptspeichers oder Be- 
       schleunigung des Hintergrundmediums (Platte statt Floppy) oder 
       Reduktion der Anforderungen). 
 
 
Datenräume 
 
Datenräume sind die Grundlage für Dateien im EUMEL-System. 
 
Zurück zu unseren Angestellten: 
Nachdem die Verbesserung vorgenommen wurde, daß sich zwei oder mehr Ange- 
stellte eine Seite auf dem Tisch "teilen", tritt sofort ein neues Problem 
auf. Es kann nun nämlich passieren, daß zwei Angestellte eine Original-Seite 
verändern und beide in dem gleichen Buch ersetzt werden müssen. Es befinden 
sich somit noch mindestens zwei andere mit Notizen versehene Seiten mit 
gleicher Seitennummer in einem Buch. Zu allem Unglück wurde die Original- 
Seite ersetzt, so daß andere Angestellte nur die mit Notizen versehene Seiten 
erhalten können. Was ist zu tun? Das Verfahren sollte doch beibehalten 
werden, denn schließlich ist eine totale Abkehr von Arbeitsvorgängen für 
Verwaltungsangestellte nicht denkbar. 
 
Als erste Idee kommt ihnen in den Sinn, einfach alle Bücher für alle Ange- 
stellten zu photokopieren. Dann kann es ja nicht zu einer solchen Kollision 
kommen, daß zwei oder mehr Angestellte eine Seite in einem Buch ersetzen 
wollen, weil jeder Angestellte seine eigene Kopie besitzt. Um die ver- 
schiedenen Kopien eines Buches auseinander zu halten, wird von den Ange- 
stellten verlangt, ihre Buch-Kopie mit einem sinnvollen Namen zu versehen. 
Dies Verfahren funktioniert auch eine Weile, bis ein strebsamer Angestellter 
einen Verbesserungsvorschlag macht, der prompt mit DM 5,- honoriert wird: 
wie bereits mit den Seiten auf dem Tisch geschehen, ist es ja nicht not- 
wendig, die Bücher zu photokopieren, sondern nur die mit Notizen versehenen 
in einen Ordner, der entsprechend einer Buch-Kopie angelegt wird, einzu- 
ordnen. Alle anderen, nicht veränderten Seiten können noch immer gemeinsam 
benutzt werden. 
 
Und so funktioniert es nun: 
Bei Arbeitsbeginn finden die Angestellten einen Buchbestand vor. Um mit einem 
Buch arbeiten zu können, muß ein Angestellter einen Ordner für dieses Buch 
anlegen, in den die ggf. veränderten Seiten eingeordnet werden. Zu diesem 
Zweck muß jeder Ordner einen sinnvollen Namen erhalten, damit die Angestell- 
ten ihre Ordner auch wiederfinden. Am Anfang müssen die Angestellten Seiten 
der Original-Bücher kopieren. Wird eine solche Seite mit Notizen versehen, 
also verändert, muß sie bei einer Verdrängung in den entsprechenden Ordner 
eingefügt werden. Muß ein Angestellter eine neue Seite kopieren, so schaut 
er erst in seinem Ordner nach, ob sich die entsprechende Seite dort befindet. 
Damit wird garantiert, daß jeder Angestellte auch immer seine, mit Notizen 
versehene Seiten erhält. Befindet sich eine gesuchte Seite nicht in dem 
Ordner (am Arbeitsbeginn ist ein Ordner natürlich immer leer), so kopiert er 
sich eine Seite aus dem entsprechenden Original-Buch. 
 
In der Zwischenzeit passiert folgendes im Rechner: 
Eine Sammlung von Daten und/oder Programmen wird im EUMEL-System ein "Daten- 
raum" ("dataspace") genannt. Erhält ein Datenraum einen Namen, so wird 
dieser Datenraum eine Datei ("file") genannt. Angenommen, es existiert im 
System eine Datei mit dem Namen 'Mist', die ein Angestellter mit dem Namen 
'Krümel Monster' erstellt hat. Ein anderer Benutzer mit dem Namen 'Grobi' 
will mit dieser Datei arbeiten. Grobi kopiert sich also diese Datei und gibt 
ihr den Namen 'Grobis Mist'. Durch diese Kopier-Operation wird ein neuer 
Datenraum angelegt, der aber anfänglich nur Verweise auf den Datenraum ent- 
hält, der sich unter dem Namen 'Mist' verbirgt. Der Datenraum bzw. die 
Seiten, die in Datei 'Mist' enthalten sind, werden also "geshared", d.h. von 
mehreren Benutzern gemeinsam verwendet (in unserem Beispiel von Grobi und 
Krümel Monster). Es erfolgt also eine logische Kopie, aber keine physika- 
lische! 
 
Will der Angestellte Grobi nun eine Seite der Datei 'Grobis Mist' verwenden, 
so erhält er natürlich die entsprechende Seite aus der Datei 'Mist'. Ver- 
ändert der Angestellte Grobi nun eine Seite, so wird diese veränderte Seite 
in dem Datenraum vermerkt, der unter dem Namen 'Grobis Mist' ansprechbar ist. 
Davon merkt der Benutzer 'Krümel Monster' natürlich nichts, denn er arbeitet 
mit den Seiten seines Datenraums weiter, die unverändert geblieben sind. Aber 
auch Grobi merkt nichts davon, daß Seiten soweit wie möglich gemeinsam be- 
nutzt werden. 
 
Merke: Durch das Konzept der Datenräume und Dateien (die nichts anderes sind 
       als benannte Datenräume), ist es möglich, auch Daten von verschiedenen 
       Programmen her gemeinsam zu benutzen und somit eine redundante 
       Speicherung überflüssig zu machen. Programme sind ebenfalls in Daten- 
       räumen gespeichert, so daß einer gemeinsamen Benutzung von z.B. 
       Systemprogrammen durch mehrere Nutzer nichts im Wege steht. 
 
 
 
Fixpunkte 
 
In gewissen Zeitabständen wird der gesamte Systemzustand eines EUMEL-Systems 
gespeichert ("Fixpunkt"). Bei eventuell auftretenden Störungen kann dadurch 
immer bei dem letzten Fixpunkt mit der Verarbeitung fortgefahren werden. 
 
Zurück zu unseren Angestellten, die typischerweise dieses komische System 
weiter benutzen: Es passiert zum ersten Mal ein entsetzliches Unglück: 
während im Sommer mehrere Fenster geöffnet wurden, betritt der "reitende" 
Bürobote das Zimmer und alle Seiten werden von den Tischen und aus allen 
offenen Ordnern herabgeweht. Da unsere Angestellten - wie man sich leicht 
vorstellen kann - etwas vergeßlich sind, können sie nicht mehr rekon- 
struieren, welche Seiten auf den Tischen und welche sich in den Büchern bzw. 
Ordnern befanden. Die Arbeit von mehreren Monaten ist somit verloren! 
 
Deshalb werden Sicherheitsmaßnahmen getroffen: 
In regelmäßigen Zeitabständen müssen alle Angestellten ihre Arbeit unter- 
brechen. Dann wird von einem - extra dazu abgestellten - Angestellten Listen 
angelegt, in denen die Seiten auf dem Tisch, den Ordnern und den Büchern 
vermerkt wird. Im Falle eines erneuten Unglücks braucht man also nur die 
letzte dieser Listen zu konsultieren, um eine gesicherte Arbeitssituation 
herzustellen. Allerdings ist in einem solchen Fall diejenige Arbeit verloren, 
die in der Zwischenzeit seit der Erstellung der letzten Liste geleistet 
wurde. Aber das wird ja gerne in Kauf genommen, weil überhaupt weitergemacht 
werden kann und nicht die gesamte Arbeit verloren ist. 
 
Merke: In gewissen (einstellbaren, typisch: 15 Minuten) Zeitabständen wird 
       vom EUMEL-System der gesamte Zustand des Systems gesichert. Diese 
       Sicherung wird "Fixpunkt" genannt. Dazu ist es notwendig, daß die 
       Verarbeitung der Programme kurz (z.Z. 0.2 Sek.) unterbrochen wird, 
       was sich jedoch meist nicht besonders störend auswirkt. Damit ist es 
       aber sichergestellt, daß bei einem Stromausfall, Hardware- oder Soft- 
       warestörungen immer zu einem Zeitpunkt in der Verarbeitung "aufge- 
       setzt" werden kann, bei dem nur diejenigen Daten verloren sind, die 
       seit dem letzten "Fixpunkt" aufliefen. 
 
 
 
Archiv 
 
Ein weiteres Sicherungsmittel im EUMEL-System ist das Archiv, mit welchem 
man Dateien (also Daten und/oder Programme) extern zum EUMEL-System 
speichern kann. 
 
Verlassen wir nun lieber unsere Angestellten. Dieses Modell würden wir sonst 
übermäßig strapazieren. Wenden wir uns vielmehr einem weiteren Sicherungs- 
mittel des EUMEL-Systems zu, dem EUMEL-Archiv. Mit Hilfe des EUMEL-Archivs 
ist es möglich, Dateien auf Floppies zu schreiben und somit außerhalb des 
EUMEL-Systems aufzubewahren. Es ist nun möglich, mehrere Dateien auf einer 
Floppy zu speichern. Bloß wie funktioniert das? 
 
Ein gutes Modell des EUMEL-Archivs stellt ein Tonband oder eine Musikkassette 
dar. Auf diesen werden die Musikstücke (unsere Dateien) nacheinander (Fach- 
ausdruck: "sequentiell") aufgezeichnet, d.h. neue Musikstücke (Dateien) 
können immer nur angefügt werden. Ist das Tonband oder die Kassette voll 
beschrieben, so schaltet das Gerät meist automatisch ab. Im EUMEL-System 
gibt's in solchen Fällen eine Fehlermeldung. 
 
Unterschiedlich zu einem Tonband ist jedoch, daß im EUMEL-System die Namen 
der Dateien mit abgespeichert werden und diese Dateien - durch die Angabe 
des Dateinamens - gezielt vom Archiv gelesen werden können. Bei einem Ton- 
band oder einer Kassette muß man sich erst alle Musikstücke anhören, bis 
das Musikstück erreicht ist, welches benötigt wird. Dieses "sequentielle" 
Überlesen nicht benötigter Dateien erledigt das EUMEL-System "automatisch". 
 
Im EUMEL-System gibt es nun nicht nur die Möglichkeit, eine Datei auf ein 
Archiv zu schreiben oder von einem Archiv zu lesen, sondern auch mehrere Da- 
teien mit einem Kommando zu lesen oder zu schreiben. Zusätzlich ist es mög- 
lich, ein Archiv zu löschen (und dann ggf. neu zu beschreiben), wenn die 
"archivierten" Dateien nicht mehr benötigt werden. 
 
Nun passiert es oft, daß eine bereits archivierte Datei verändert wird und 
nochmals auf das Archiv geschrieben werden soll. Aber durch eine Veränderung 
der Datei hat diese gerade ihren Platzbedarf verändert. Somit könnte die 
Datei - sofern sie sich vergrössert hat - eine nachfolgende Datei auf dem 
Archiv u.U. teilweise überschreiben. Deshalb wurde im EUMEL-Archiv folgende 
Vereinbarung getroffen: Wird eine Datei nochmals auf ein Archiv geschrieben, 
so wird die Datei, die sich bereits auf dem Archiv befindet, als "ungültig" 
gekennzeichnet und die neue Version an das Ende angefügt. Nur wenn die alte 
Datei die letzte auf dem Archiv ist, wird sie von der neuen Version über- 
schrieben. 
 
Merke: Durch dieses Verfahren kann es zu einer kuriosen Situation kommen: 
       zwei Dateien werden abwechselnd auf ein Archiv in mehreren Versionen 
       geschrieben. Obwohl beide Dateien zusammengenommen bei weitem nicht 
       das Archiv auffüllen würden, kommt es zum Überlauf. In einem solchen 
       Fall muß man das Archiv löschen (wobei vorher die Dateien ggf. in das 
       System geholt werden müssen) und beide Dateien erneut auf das Archiv 
       schreiben. 
 
 
 
4. Kleines #ib#EUMEL-Wörterbuch 
 
In diesem Wörterbuch werden einige der Begriffe, die häufig in diesem Be- 
nutzer-Handbuch verwendet werden, erläutert. Bezüge auf weitere Begriffe, 
die in diesem Wörterbuch stehen, werden mit den Zeichen ">" und "<" ge- 
klammert. 
 
Anweisung:        Direktive an die Textkosmetik, welche direkt in einen Text 
                  geschrieben wird. Eine Anweisung muß in "\#" eingefaßt 
                  werden. Beachte den Unterschied zu einem Kommando. 
 
Archiv:           Ein Programmsystem, um Dateien des EUMEL-Systems auf 
                  Floppys außerhalb des Systems zu speichern oder von dort 
                  wieder in das EUMEL-System zu holen. Als Archiv wird auch 
                  noch ein Speichermedium bezeichnet (in der Regel eine 
                  Diskette). 
 
Benutzer-Task:    Im Gegensatz zu einer >System-Task< ist eine Benutzer-Task 
                  eine Task, die von einem Benutzer erzeugt worder ist. Sie 
                  ist entweder an ein Terminal gekoppelt oder kann unab- 
                  hängig von einem Terminal im Hintergrund bearbeitet werden. 
 
BOUND:            Attribut von Variablen, das bei einer Deklaration vor die 
                  Typangabe gesetzt wird. Dient zur Aufprägung eines Daten- 
                  typs auf einen Datenraum. 
 
DATASPACE:        Eine Datei ohne Namen. 
 
Datenraum:        Siehe >DATASPACE<. 
 
Editor:           Programm zur Eingabe und Veränderung von Texten, Daten und 
                  Programmen. 
 
ELAN:             Programmiersprache des EUMEL-Systems ("ELementary 
                  LANguage"). 
 
ELAN-Compiler:    Ein Programm, welches ein korrektes ELAN-Programm in ein 
                  äquivalentes, ablauffähiges Programm (im >EUMEL0-Code<) 
                  übersetzt. 
 
EUMEL0-Code:      Maschinensprache des EUMEL-Systems. 
 
EUMEL-Drucker:    Programm zur Ansteuerung von (unterschiedlichen) Druckern. 
                  Der EUMEL-Drucker wird durch Kommandos gesteuert und er- 
                  laubt es, unterschiedliche Drucker mit verschiedenartigen 
                  Leistungen immer gleich anzusprechen. 
 
EUMEL-Standard:   Objekte (also Datentypen, Prozeduren und/oder Operatoren), 
                  die durch Pakete realisiert werden und standardmässig in 
                  jedem EUMEL-System verfügbar sind. 
 
Fixpunkt:         Speicherung des aktuellen Systemzustandes in regelmäßigen 
                  Abständen. Bei Hardware- oder Softwarestörungen kann immer 
                  bei der letzten Fixpunkt-Sicherung aufgesetzt werden. 
 
Hintergrund-Task: Eine >Task<, die nicht an ein Terminal angekoppelt ist 
                  (d.h. einem Benutzer nicht direkt zugänglich), aber trotz- 
                  dem vom System bearbeitet wird oder im Wartezustand ist 
                  (warten auf einen Auftrag oder eine Ein/Ausgabe-Operation). 
 
Kommando:         Ein ELAN-Programm, welches in der Regel aus einem 
                  Prozeduraufruf besteht. Ein Kommando kann vom >Monitor< 
                  oder Editor gegeben werden. Kommandos können ebenfalls in 
                  Programmen verwandt werden. 
 
Lokale Dateien:   Dateien einer Benutzer-Task. 
 
Manager:          Eine >Task<, die auf Aufträge wartet. Beispiele sind die 
                  Spool-Task bzw. Datei-Manager. Letzterer wird für die 
                  Haltung längerfristig benötigter Dateien gebraucht. 
 
Monitor:          Der Monitor steuert die Kommunikation zwischen einem 
                  Benutzer am Terminal und dem EUMEL-Betriebssystem, nachdem 
                  der Benutzer sich mit Hilfe des >Supervisors< eine Task 
                  erschaffen hat. Die Monitor-Kommandos beziehen sich immer 
                  auf die angekoppelte Benutzer-Task. 
 
paging:           Benötigte Informationen werden in Einheiten ("pages") in 
                  den Zentralspeicher des Rechners geladen. Somit ist es 
                  möglich, bei weitem größere Informationsmengen zu ver- 
                  arbeiten, als auf einmal in den Speicher des Rechners 
                  passen. 
 
OPERATOR:         >Task<, mit der das EUMEL-System u.a. gestartet, "abge- 
                  schaltet" und gesichert werden kann. 
 
Scanner:          Programm, um aus einem Text lexikalische Elemente ("Le- 
                  xeme") herauszublenden. In dem im >EUMEL-Standard< 
                  implementierten Scanner werden Lexeme nach der ELAN-Syntax 
                  erkannt, redundante Leerzeichen (nicht in Texten) sowie 
                  Kommentare überlesen. 
 
Sendungs-Vermittlung: Steuerung der Übermittlung von Informationen zwischen 
                  verschiedenen >Tasks<. 
 
sharing:          >Datenräume< und/oder >pages< können von mehreren Benutzern 
                  gleichzeitig benutzt werden. Erst bei einer Schreibopera- 
                  tion eines Benutzers wird nur für diesen Nutzer eine Kopie 
                  der Daten angelegt. ("copy on write"). 
 
Spooler:          Systemprogramm des EUMEL-Systems, welches Druckaufträge 
                  zwischenspeichert, so daß unmittelbar weiter gearbeitet 
                  werden kann. 
 
Supervisor:       Kern des EUMEL-Betriebssystems auf der ELAN-Ebene zum Ver- 
                  walten von Tasks. 
 
Supervisor-Kommando: Kommando zur Steuerung (An-/Abkoppeln, Erzeugen, 
                  Benutzung) einer >Benutzer-Task<. 
 
System-Task:      Eine >Task<, die für Aufrechterhaltung, Betrieb und Steu- 
                  erung des EUMEL-Systems benötigt und nicht von einem 
                  Benutzer erzeugt wird, sondern "immer" im >Taskbaum< 
                  vorhanden ist. 
 
Task:             Eigenständiger Prozeß (Auftrag) im EUMEL-System. 
 
Taskbaum:         Eine baumförmige Anordnung von >Tasks<, in die jede Task 
                  des EUMEL-Systems eingefügt wird. Dabei hat jede Task 
                  - mit Ausnahme des >Urvaters< - eine >Vater-Task<, und 
                  kann weitere Tasks erzeugen ("Söhne"). 
 
Textkosmetik:     Programme des EUMEL-Systems, die die Gestaltung eines 
                  Textes erlauben. 
 
Urvater:          Wurzel des >Task-Baums< mit dem Namen 'UR'. 
 
Vater-Dateien:    Dateien einer >Vater-Task<. 
 
Vater-Task:       Eine >Task<, die einer Task in direkt aufsteigender Linie 
                  im >Taskbaum< übergeordnet ist. Es wird dabei zwischen 
                  einer "unmittelbaren" (die direkt übergeordnete Vater-Task) 
                  und "mittelbaren" Vater-Tasks (Vater-Tasks, die über die 
                  unmittelbare Vater-Task erreichbar sind) unterschieden. 
 
 
 
5. ELAN-Literatur 
 
Bittner, M., Jäckel, J., Jähnichen, S.: 
     ELAN - Beispielsammlung. 
     Institut für angewandte Informatik, 
     Fachbereich 20, TU Berlin, 
     Berlin, 1979 
 
Hahn, R.: 
     Höhere Programmiersprachen im Vergleich. 
     Akademische Verlagsgesellschaft, 
     Wiesbaden, 1981 
 
Hahn, R., Nienaber, B.: 
     Probleme lösen mit dem Computer. 
     Teil 1: Einführung in die algorithmische Problemlösung. 
     Teil 2: Werkzeuge und Methoden. 
     Neuer Verlag Bernhard Bruscha, 
     Tübingen, 1978 
 
Hahn, R., Stock, P.: 
     ELAN - Handbuch. 
     Akademische Verlagsgesellschaft, 
     Wiesbaden, 1979 
 
Hommel, G., Jäckel, J., Jähnichen, S., Kleine, K., Koch, W., Koster, K.: 
     ELAN - Sprachbeschreibung. 
     Akademische Verlagsgesellschaft, 
     Wiesbaden, 1979 
 
Hommel, G., Jähnichen, S., Koch, W.: 
     SLAN - Eine erweiterbare Sprache zur Unterstützung der strukturierten
     und modularen Programmierung. 
     4. GI Fachtagung Programmiersprachen in Erlangen, 
     Springer Verlag, 1976 
 
Hommel, G., Jähnichen, S., Koster, C.H.A.: 
     Methodisches Programmieren. 
     De Gruyter, Berlin, 1983 
 
Klingen, L., Liedtke, J: 
     Programmieren mit ELAN 
     Teubner, Stuttgart, 1983 
 
Liedtke, J.: 
     EUMEL - Ein ELAN-System für Mikroprozessoren. 
     GMD-Spiegel, 
     Bonn, 1979 
 
Voila, H.T.: 
     A new computer routine for the generation of publishable data from
     nothing. 
     Computer Quickies 48, 117 (1984)