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)
|