____________________________________________________________________________ #on("b")##on ("u")# #center#Betriebssystem E U M E L #off ("u")# #center#Systemhandbuch #off("b")# #center#Lizenzfreie Software der #on ("b")# #center#Gesellschaft für Mathematik und Datenverarbeitung mbH, #center#5205 Sankt Augustin #off("b")# #center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für #center#nichtkommerzielle Zwecke gestattet. #center#Gewährleistung und Haftung werden ausgeschlossen ____________________________________________________________________________ #page# #start(5.1,1.5)# #free(4.0)# #center#EUMEL #center#Systemhandbuch #center#copyright ERGOS GmbH, 1990 #page# #block# Copyright: ERGOS GmbH April 1990 Alle Rechte vorbehalten. Insbesondere ist die Überführung in maschinenlesbare Form sowie das Speichern in Informations­ systemen, auch auszugsweise, nur mit schriftlicher Einwilligung der ERGOS GmbH gestattet. +-----------------------------------------------------+ Autoren : Jochen Liedtke Dietmar Heinrichs Rainer Hahn Christian Szymanski Thomas Müller Texterstellung : Dieser Text wurde mit der ERGOS-EUMEL Textverarbeitung erstellt und aufbereitet und auf einem Kyocera Laserdrucker ge­ druckt. #page# +----------------------------------------------+ #page# #start(2.5,1.5)# #pageblock# #block# #headeven# %#center#EUMEL-Systemhandbuch #end# #headodd# #center#Einführung#right#% #end# #ib(9)#Einführung#ie(9)# Der größte Teil dieses Systemhandbuchs ist für Anwender geschrieben, die tiefer in das EUMEL-System einsteigen und evtl. Systemergänzungen oder Systemänderun­ gen programmieren wollen. Der erste Teil ist allerdings für alle interessant, die ein EUMEL-System verwenden, selbst für Anfänger, die ihr System zum ersten Mal in Betrieb nehmen wollen. Entsprechend der verschiedenen Adressatenkreise unter­ scheiden sich die einzelnen Kapitel stark in der Beschreibungsart. Deshalb: #on("b")##on("i")#Sind Sie EUMEL-Neuling?#off("b")##off("i")# Dann sollten Sie #on("b")##on("i")#vor#off("b")##off("i")# dem Einschalten Ihres Systems die Einführung des Kapi­ tels "System einrichten" lesen. Dort werden keine weiteren Kenntnisse voraus­ gesetzt. Danach sollten Sie erst einmal durch praktisches Arbeiten mit Hilfe des Benutzerhandbuchs etwas mit dem System vertraut werden. #on("b")##on("i")#Haben Sie schon einige Zeit mit dem EUMEL gearbeitet?#off("b")##off("i")# #on("b")##on("i")#Sind Sie mit dem System einigermaßen vertraut?#off("b")##off("i")# Dann lesen Sie den kompletten Teil 1 ("System einrichten") dieses Systemhand­ buchs. Das Lesen der folgenden Kapitel ist für den einfachen Betrieb des EUMEL- Systems nicht erforderlich. Sie setzen auch intime Kenntnis des Systems auf dem Niveau des Benutzerhandbuchs voraus und würden Anfänger leicht verwir­ ren. #on("b")##on("i")#Haben Sie Probleme mit Ihrer Hardware?#off("b")##off("i")# #on("i")#Wenn Sie nichts von Hardware verstehen, wenden Sie sich an einen Fachmann!#off("i")# Wenn Sie ein gewisses Grundwissen über Hardware haben, dann lesen Sie Teil 2 ("Hardware und ihre Steuerung"). In diesem Kapitel sollten Sie "3. Kanä­ le und Konfigurierung" erst einmal auslassen. #on("b")##on("i")#Wollen Sie tiefer in das Betriebssystem einsteigen?#off("b")##off("i")# #on("b")##on("i")#Haben Sie EUMEL-Erfahrung?#off("b")##off("i")# #on("b")##on("i")#Haben Sie Programmiererfahrung?#off("b")##off("i")# Dann lesen Sie im Systemhandbuch alles, was Ihnen interessant erscheint. #page# #headeven# %#center#EUMEL-Systemhandbuch #end# #headodd# #center#1. System einrichten#right#% #end# #ib(9)#1. #ib#System einrichten#ie##ie(9)# #ib(9)#1.1. Einführung#ie(9)# #ib(9)#Wie Ihr System aufgebaut ist#ie(9)# Der kleinstmögliche EUMEL-Rechner besteht aus einem #ib#Rechnerkern#ie# und einem Ter­ minal: Rechnerkern Terminal 1 #on("i")#Anmerkung: In manchen Fällen ist das Terminal hardwaremäßig in den Rechner integriert. Trotzdem fassen wir diese physische Einheit dann als zwei logisch getrennte Komponenten auf, nämlich Rechnerkern und Terminal!#off("i")# Wie man sieht, hat das #ib#Terminal#ie# die Nummer 1. Das bedeutet, daß es über Kanal 1 mit dem Rechnerkern verbunden ist. Das EUMEL-System kennt 16 solche #ib#Kanäle#ie#, wobei es von der konkreten Hardware abhängt, welche Kanäle wirklich vorhanden sind und welche Geräte man daran anschließen kann. (Allerdings ist der Kanal 1 als Verbindung zum Terminal 1 immer vorhanden.) In den meisten Fällen wird auch ein #ib#Drucker#ie# angeschlossen sein. Die genaue An­ schlußart ist wieder von der konkret verwendeten Hardware abhängig. Nehmen wir an, er sei an Kanal 4 angeschlossen: Rechnerkern Terminal 1 Drucker (Kanal 4) Man sieht also, daß Lücken bei der Verwendung der Kanäle auftreten dürfen. Bei Multi-User-Systemen können, sofern die entsprechenden Schnittstellen vorhanden sind, weitere Terminals und andere Geräte (z.B. #ib#Plotter#ie#) angeschlossen werden: Rechnerkern Terminal 1 Terminal 2 Plotter (Kanal 3) Drucker (Kanal 4) Terminal 5 Terminal 6 #ib(9)#1.2. Wie Sie die EUMEL-Software erhalten und installieren#ie(9)# Betriebssystem : EUMEL (Version 1.8) Hardware : IBM-PC/AT, IBM-PC/XT und Kompatible SHard-Version : 4.9 und 5.0 Erforderliche Disketten - EUMEL-Generierungsdiskette : "SETUP-EUMEL AT" (bzw. "SETUP- EUMEL XT") - EUMEL-Systemdisketten : "HG0" und "HG1" (EUMEL0-Maschine und Hintergrund) evtl. auch nur eine 1,2 MB Hintergrunddiskette Die Diskette "SETUP-EUMEL" ist ein kleines EUMEL-System zur Installation des Be­ triebssystems EUMEL auf einem AT/XT kompatiblen Rechner. Auf diesem System laufen Programme ab, die im Dialog mit dem Benutzer das Einrichten einer oder mehrerer EUMEL-Partitionen ermöglichen. #on("b")#Diese Diskette darf nicht schreibgeschützt sein!#off("b")# Beim Einrichten einer EUMEL-Partition wird nach Prüfung der Festplatte durch "SETUP-EUMEL" der hardwarenahe Teil des EUMEL-Systems, 'SHard' (Software/ Hardware-Interface), auf die Festplatte geschrieben. Die Hintergrunddisketten beinhalten das eigentliche Betriebssystem EUMEL (den Systemkern (EUMEL-0-Maschine)) und die darauf aufbauenden Systemteile (Hinter­ grund)). Leistungen des SETUP EUMEL Wenn Sie bereits ein Betriebssystem auf Ihrer Festplatte installiert haben, müssen Sie darauf achten, daß noch ausreichend Platz für ein EUMEL-System übrig ist. Die Min­ destgröße einer Partition für ein EUMEL-System beträgt ca. 1MB, die maximale Größe ist vom benutzten Systemkern abhängig: der in der Version 1.8.6 M+ verwendete Systemkern u186+ \#1523 erlaubt eine maximale Größe von 128 MB. Andere, ältere EUMEL Versionen erlauben nur eine Partitionsgröße von 16 MB. Aus Kompatibilitäts­ gründen stellt das Installationsprogramm eine Kontrollfrage bei Überschreiten der 16 MB Grenze. Soll neben EUMEL auch eine MS-DOS Partition auf der Festplatte sein, muß, da MS-DOS standardmäßig die gesamte Festplatte belegt, dieses System gesichert, mit dem MS-DOS-Kommando 'fdisk' (o.ä.) die Partition gelöscht und entsprechend kleiner neu eingerichtet werden. Sie können auch bei der EUMEL-Installation alle bereits bestehenden Systeme löschen; dazu bietet Ihnen der SETUP-EUMEL die Option 'Löschen der gesamten Partitionstabelle' an. Dabei gehen jedoch alle Daten auf der Festplatte verloren. Achten Sie also darauf, daß sie alle Daten vorher gesichert haben! Um nun die Partitionierung für Ihr EUMEL-System vorzunehmen, legen Sie die Diskette "SETUP-EUMEL" ohne Schreibschutzmarke in das Start-Laufwerk. Sollten Sie ein Gerät mit zwei Laufwerken besitzen, dann ist es das Laufwerk A:. (Bei Unklarheiten im Benut­ zerhandbuch des Herstellers nachsehen.) Schalten Sie nun den Rechner ein bzw. betätigen Sie den Tastatur-RESET, wenn Ihr Gerät bereits eingeschaltet ist (meistens mit dem gleichzeitigen Druck der Tasten CTRL, ALT und DEL). Der SETUP-EUMEL gibt zunächst folgende SHard-Meldung aus: +--------------------------------------------+ i i i Setup-SHard für EUMEL auf IBM PC/AT, V 4.8 i i Copyright (C) 1989 ERGOS GmbH, Siegburg i i i +--------------------------------------------+ Warten Sie beim Hochfahren des SETUP-EUMELs, bis Ihnen nach einem Zwischen­ bildschirm ("SETUP-EUMEL für Modul-SHard") eine Partitionstabelle angezeigt wird. Dieser können Sie entnehmen, ob bereits Partitionen auf der Festplatte eingerichtet und wie diese spezifiziert sind. Angezeigt werden neben Größe, Start- und Endspur der einzelnen Partitionen auch eine Typ-Nummer. Für EUMEL-Partitionen werden in aufsteigender Reihenfolge die Typ-Nummern 69 bis 72, für MS-DOS je nach Größe der eingerichteten Partition die Nummern 1 oder 4 vergeben. Außerdem wird die gerade aktive Partition durch einen entsprechenden Eintrag in der Tabelle kenntlich gemacht. "Aktiv" ist die Partition, die nach dem nächsten Einschalten des Rechners bzw. nach dem nächsten Tastatur- RESET gestartet würde. Sie sehen zusätzlich ein Menü mit folgenden zur Auswahl stehenden Funktionen: +------------------------------------------------------------+ i i i - EUMEL-Partition einrichten 1 i i - erneuern (Neuer SHard) 2 i i - aktivieren 3 i i - löschen 4 i i - Partitionstabelle löschen 5 i i - SHard-Konfiguration anzeigen 6 i i - SHard konfigurieren 7 i i - SHardmodule laden oder löschen 8 i i - SETUP-EUMEL beenden 0 i i i +------------------------------------------------------------+ #on("i")##on("u")#EUMEL - Partition einrichten #off("u")##off("i")# Eine neue EUMEL-Partition wird gemäß den im weiteren erfragten Angaben eingerich­ tet. In die Partition wird ein SHard geschrieben, dessen Konfiguration die gelieferte Grundkonfiguration oder die von Ihnen eingestellte ist (s. Partitionieren der Festplatte, Seite 3). #on("i")##on("u")#EUMEL - Partition erneuern (Neuer SHARD)#off("u")##off("i")# In eine bereits vorhandene Partition wird ein SHard in der eingestellten Konfiguration geschrieben. Der bis dahin vorhandene SHard wird überschrieben. Die Möglichkeit besteht jedoch nur, wenn die Partition mit einem SETUP-EUMEL eingerichtet worden ist. Erneuern bedeutet, nur den SHard #on("u")#auszutauschen#off("u")# auf einer Partition, die schon einen fertigen EUMEL enthält, ohne daß man dabei den EUMEL löscht. Das ist dann sinnvoll, wenn man eine neue Version des SHard benutzen möchte oder den SHard aus ir­ gendwelchen Gründen (z.B. Streamer gekauft) um einen oder mehrere Module erwei­ tern will. Diese Aktion kann nur durchgeführt werden, wenn bereits ein SHard mit der Versions­ nummer 4.x in dieser Partion vorhanden ist. Ältere (Version 2.7, 2.8 etc.) können #on("u")#nicht#off("u")# ersetzt werden. #on("i")##on("u")#EUMEL - Partition aktivieren#off("u")##off("i")# Eine Partition wird ausgewählt und aktiv gesetzt, d.h. beim nächsten Start des Re­ chners wird das System, das auf dieser Partition steht, hochgefahren. #on("i")##on("u")#EUMEL - Partition löschen #off("u")##off("i")# Hierbei wird ein Eintrag aus der Partitionstabelle entfernt. Die EUMEL-Partition wird nicht wirklich gelöscht, d.h. wenn man nach dem Löschen den Plattenbereich noch nicht anderweitig verwendet hat, kann das EUMEL-System auf dieser Partition durch ein "EUMEL-Partition einrichten" auf genau demselben Plattenbereich (Start-/Endzy­ linder) wieder hergestellt werden. #on("i")##on("u")#Partitionstabelle löschen#off("u")##off("i")# Dies ist eine sehr gefährliche Option ! Es werden hiermit #on("u")##on("b")#alle#off("b")##off("u")# Partitionen auf der Platte gelöscht (nicht nur die von EUMEL). Auch hier gilt zwar, daß die Partitionen selbst an sich unangetastet bleiben und wie­ derhergestellt werden könnten, aber dies ist bei anderen Betriebssystemen oft nicht möglich. Also #on("u")#VORSICHT#off("u")#. #on("i")##on("u")#SHard-Konfiguration anzeigen #off("u")##off("i")# Die Module des SHard, der bereitgestellt ist, um auf die Platte geschrieben zu werden, werden angezeigt. Es werden alle definierten Kanäle angezeigt und zu jeder Kanal­ nummer der assoziierte Modulname. Aufgelistet ist die zuletzt mit dem SETUP-EUMEL zusammengestellte Konfiguration. #on("i")##on("u")#SHard konfigurieren #off("i")##off("u")# Zusammenstellen von einer SHardbasis und SHardmodulen zu einem neuen SHard, um eine neue Partition einzurichten oder den SHard einer bestehenden Partition zu ersetzen. ACHTUNG: Bitte diesen Menuepunkt nicht experimentell benutzen! Eine Anleitung zum Thema Module etc. wird separat erscheinen. #page# #on("i")##on("u")#SHardmodule laden oder löschen #off("u")##off("i")# Hiermit können neue Module oder neue Versionen von Modulen in den SETUP-EUMEL geladen werden oder nicht mehr benötigte Module gelöscht werden. Die neuen Modu­ le werden von einer EUMEL-Archivdiskette gelesen, deren Name zuvor eingegeben werden muß. ACHTUNG: Bitte diesen Menüpunkt nicht experimentell benutzen! Eine Anleitung zum Thema Module etc. wird separat erscheinen. #on("i")##on("u")#SETUP-EUMEL beenden #off("u")##off("i")# SETUP-Programm ordnungsgemäß beenden. ENDE-Meldung abwarten! Die eigentliche Partitionierung beginnt nun, indem Sie Menü-Punkt 1 "EUMEL-Partition einrichten" anwählen. (Punkt 1 wird Ihnen nur dann #on("b")#nicht#off("b")# angeboten, wenn die Fest­ platte bereits vollständig belegt ist. Sichern Sie dann das alte System und löschen eine oder alle Partitionen.) Die Kontrollabfrage "Neue EUMEL-Partition einrichten? (j/n)" beantworten Sie entsprechend mit "j". Beim Generieren einer EUMEL-Partition werden Angaben zu Größe und Startzylinder abgefragt. Dafür werden Vorgaben gemacht, die Sie bestätigen, indem Sie die -Taste betätigen, oder die Sie überschreiben können. Die abschließende Abfrage "Sind die Partitionsangaben korrekt?" fordert Sie zur Überprüfung Ihrer Einga­ ben auf. Nach der Eingabe und der Überprüfung der Sektoren erscheint eine Meldung wie z.B.: +--------------------------------------------------+ i i i Ich habe keine schlechten Sektoren gefunden i i SHard wird auf die Partition geschrieben i i Bitte betätigen Sie eine Taste! i i i +--------------------------------------------------+ oder +--------------------------------------------------+ i i i Ich habe 2 schlechte Sektoren gefunden i i SHard wird auf die Partition geschrieben i i Bitte betätigen Sie eine Taste! i i i +--------------------------------------------------+ Danach gelangen Sie wieder in das Generierungsmenü. Wählen Sie "0" für "SETUP- EUMEL beenden". Über eine Sicherheitsfrage verlassen Sie nun den ersten Teil der Installation. Warten Sie #on("b")#unbedingt#off("b")#, bis auf dem Bildschirm die Meldung "ENDE" er­ scheint, bevor Sie die Diskette "SETUP EUMEL" aus dem Laufwerk nehmen. Installieren eines EUMEL-Hintergrundes Im nächsten Schritt wird auf ihrer Festplatte das vollständige EUMEL-System instal­ liert. Bitte betätigen Sie den Tastatur-Reset an Ihrem Rechner (oder die Tasten CTRL, ALT und DEL oder den AUS-/EIN-Schalter). Auf dem Bildschirm erscheint die folgende Meldung: +--------------------------------------------------------------------------+ i i i SHard für EUMEL auf IBM PC,AT,XT, V 4.7 i i Copyright (c) 1985, 86, 87, 88, 89 Martin Schönbeck Beratungen GmbH, i i Spenge i i Ladevorgang kann durch Tastendruck unterbrochen werden i i Habe leider keine EUMEL-0-Maschine gefunden i i Ladevorgang unterbrochen, drücken Sie eine Taste um fortzufahren. i i i +--------------------------------------------------------------------------+ Legen Sie nun die erste Hintergrunddiskette (HG0) in das Laufwerk ein und betätigen Sie eine Taste. Der Systemkern wird geladen und es erscheinen Angaben zu HG-, RAM-, und Pufferkapazität sowie zu den angeschlossenen Kanälen, diesmal jedoch bezogen auf die Festplatten-Partition. Warten Sie nun, bis die Meldung "HG ungültig" kommt. Drücken Sie anschließend eine beliebige Taste. Falls Sie in ein bereits bestehendes EUMEL-System einen neuen Urlader einspielen wollen, lesen Sie bitte den Abschnitt "Installation eines neuen Urladers". #page# #free(1.0)# Ein Menü bietet Ihnen dann folgende Auswahl: +-----------------------------------------+ i i i (1) Systemstart i i (2) Hintergrund vom Archiv laden i i (3) Hardwaretest i i (4) neuen Urlader vom Archiv laden i i i +-----------------------------------------+ Wählen Sie Menü-Punkt (2) "Hintergrund vom Archiv laden" und bestätigen Sie die Abfrage "Alten HG überschreiben?" mit "j". Das Laden des Hintergrundes kann einige Minuten in Anspruch nehmen. Sie werden mit der Meldung "Nächstes HG-Archiv eingelegt? (j/n)" zum Einlegen der Folgedisket­ te(n) aufgefordert, was Sie anschließend mit der Eingabe von "j" quittieren. Es können bei beschädigten Disketten Lesefehler auftreten; dann gibt das System eine der Meldungen 'Harter Lesefehler' bzw. 'Softerror' aus. Bei letzterem könnte der ent­ sprechende Sektor nach mehrmaligem Versuch noch gelesen werden. Bei einem harten Lesefehler können Sie die Diskette nicht verwenden. Bitte benachrichtigen Sie die Firma, von der Sie die Disketten erhalten haben. Wenn der Hintergrund eingelesen ist, erscheint die Aufforderung 'fertig, bitte RESET'. #on("b")#Vergessen Sie nicht#off("b")#, vor der Betätigung des Tastatur-RESET die Hintergrunddiskette aus dem Diskettenlaufwerk zu entfernen. Wenn Sie während des Hochfahrens keine Taste drücken, dann startet der Lader durch und das EUMEL-System meldet sich mit einer Tabelle von Geräteanpassungen: +--------------------------------------------------------------------------+ i i i psi transparent pc.1.25 pc.2.25 i i pc.3.25 pc.1.24 pc.2.24 pc.3.24 i i psi25 tandberg.2244s DEC.VT100.ascii DEC.VT100 i i DEC.VT220.ascii DEC.VT220.german FT10/20.german FT10/20.ascii i i ampex210.ascii ampex210.german ampex220.german ampex232 i i Wyse.WY50.ascii Wyse.WY50.german Wyse.WY60.german i i Wyse.WY120.german i i i i Kanal 1 (j/n) i i i +--------------------------------------------------------------------------+ Da unterschiedliche Tastaturen auch unterschiedliche Tastenbelegungen haben, ist es notwendig, mit Hilfe der Konfigurationstabelle Ihre Tastatur und Ihren Bildschirm an das EUMEL-System anzupassen. Dafür bietet Ihnen das System "Kanäle" an. #on("u")#Kanal 1#off("u")# entspricht dem Haupt-Terminal des Rechners, #on("u")#muß also auf jeden Fall konfiguriert werden#off("u")#. Beantworten Sie also die Frage "Kanal 1 (j/n)" mit "j". Das EUMEL-System funktioniert auch, wenn Sie zunächst nur Kanal 1 mit der Anpas­ sung konfigurieren, die Ihrem Gerätetyp entspricht. Wenn Ihr Rechner eine AT-Tastatur hat, ist die korrekte Konfiguration "pc.1"; die Konfigurationen "pc.2" und "pc.3" decken die meisten der Rechner ab, deren Tastenbelegung von der Standard-AT Tastatur geringfügig abweicht. Die Erweiterung ".24" bzw. ".25" gibt die Anzahl der Bildschirm­ zeilen wieder. Standardmäßig sind im SHard 24 Zeilen eingestellt. Weitere Kanäle zum Anschluß von Druckern oder weiteren Terminals können jederzeit bei Bedarf vorgenommen werden (EUMEL Systemhandbuch Teil 1). Die Anfrage nach der Konfiguration weiterer Kanäle kann deshalb verneint werden. Die Abfrage 'koennen unbenutzte Geraetetypen geloescht werden (j/n)' beantworten Sie einstweilen mit 'n'. Anschließend werden noch Datum und Uhrzeit abgefragt. Damit ist das Erstinstallationsprogramm abgeschlossen und es erscheint die Meldung 'mainten­ ance :'. Geben Sie an dieser Stelle (nacheinander) ein. Sie haben damit die Task 'configurator' ordnungsgemäß verlassen. Erst damit ist sichergestellt, daß die eingestellte Konfiguration wirksam wird. Installation eines neuen Urladers Wenn Sie den alten Urlader mit einem neuen (z.B. protected mode) überschreiben wollen, starten Sie das EUMEL-System zunächst neu. Sobald die Meldung #on("b")#Ladevorgang kann durch Tastendruck unterbrochen werden#off("b")# erscheint, drücken Sie eine beliebige Taste (z.B. ENTER). Auf dem Bildschirm er­ scheint nun zusätzlich die Meldung #on("b")#Ladevorgang unterbrochen, drücken Sie eine Taste um fortzufahren#off("b")# #page# Legen Sie nun die Diskette mit dem neuen Urlader in das Bootlaufwerk und drücken Sie wieder eine beliebige Taste. Danach werden folgende Meldungen auf dem Bild­ schirm ausgegeben: +-----------------------------------------------------+ i i i EUMEL wird von Diskette geladen i i i i i i E U M E L - Vortest i i i i Terminals: 1 .... i i RAM-Groesse (gesamt): .... kB i i Pufferbereich: .... kB i i Hintergrund-Speicher .... kB i i i i Speichertest: ********** i i i +-----------------------------------------------------+ In der Zeit, in der die Sternchen des Speichertests erscheinen, drücken Sie bitte wieder die ENTER-Taste. Nach dem Speichertest erscheint dann folgendes Menü: +-----------------------------------------------------+ i i i (1) Systemstart i i (2) neuen Hintergrund vom Archiv laden i i (3) Hardwaretest i i (4) neuen Urlader vom Archiv laden i i i +-----------------------------------------------------+ Wählen Sie Menüpunkt 4 und auf dem Bildschirm erscheinen die folgenden Zeilen: #box("-0.1","0.0","8.0","1.0")# \# xxx fertig, bitte RESET wobei hinter dem \#-Zeichen die übertragenen Blöcke des neuen Urladers gezählt werden. Anschließend entfernen Sie bitte die Urladerdiskette aus dem Laufwerk und drücken den RESET-Schalter Ihres Rechners. Das EUMEL-Betriebssystem wird nun mit dem neuen Urlader gestartet. Tastenbelegung: EUMEL-Zeichen: Taste auf dem IBM-PC/AT MARK : +--------+ i bild i (oder Pfeil nach oben) +--------+ RUBIN : +--------+ i Einfüg i +--------+ RUBOUT : +--------+ i Lösch i +--------+ TAB : +--------+ i <= => i +--------+ HOP : +--------+ i Pos 1 i +--------+ ESC : +------------+ i Eing Lösch i +------------+ SV : +------------+ +-------+ i CTRL g i oder i F1 i +------------+ +-------+ Bemerkung: Die CTRL-Taste kann auch mit STRG bezeichnet sein. Sollte die Tastaturbelegung noch nicht die EUMEL-spezifischen Tasten (HOP, MARK, SV, RUBIN, RUBOUT) an den entsprechenden Orten anbieten, können Sie durch Ankoppeln der Task "configurator" und Absetzen des Befehls "configurate" die Tastatu­ ren (auch für zusätzlich angeschlossene Terminals) kanalweise umkonfigurieren. Nähe­ res entnehmen Sie bitte dem Systemhandbuch, S.6ff. Zusatzprogramme Nachdem das System vollständig installiert ist, kann noch typspezifische Software eingespielt werden. Diese befindet sich auf der Diskette 'EUMEL-Archiv "AT" (bzw. "XT")'. Der folgende Ablauf skizziert schon das Prinzip jeder Arbeit in einem EUMEL- System: Task ankoppeln mit 'continue("taskname")' bzw. 'begin("taskname")', Eingabe von Kommandos wie 'edit', 'run' oder 'generate shutup dialog manager', abschließend Task abkoppeln durch . Eine ausführliche Beschreibung finden Sie in den EUMEL-Handbüchern. #page# Wenn Sie nach Einstellen des Kanals 1 die Task 'configurator' verlassen haben, befin­ den Sie Sich auf Supervisor-Ebene. Um die auf der Diskette befindlichen Programme an der richtigen Stelle zu übersetzen, sind folgende Schritte notwendig: Drücken Sie die -Taste (F1). Damit landen Sie im Supervisor-Menü, dem Systemverteiler. Mit und Eingabe des Tasknamens 'SYSUR' (auf Groß­ schreibung achten!) holen Sie die Task 'SYSUR' an das Terminal. Diese Task meldet sich mit 'maintenance:'. Da Sie mit einem Mehrbenutzersystem arbeiten, müssen Sie das Diskettenlaufwerk zunächst für sich reservieren: 'archive("AT")'. Erst dann können Sie Dateien von der Diskette holen: 'fetch("AT install",archive)' und das Installations­ programm ausführen: 'run'. Der weitere Ablauf erfordert keine Eingriffe. Nach Ablauf der Programme sollten Sie schließlich eine besondere Task zum Abschal­ ten einrichten. Dazu müssen Sie nocheinmal die Task 'SYSUR' an den Bildschirm holen und dort das durch die Zusatzsoftware (u.a.) neu hinzugewonnene Kommando 'generate shutup dialog manager' geben. Nach Absetzen des Kommandos können Sie 'SYSUR' durch wieder verlassen. Um menügesteuert das Betriebssystem abzuschalten oder einen Partitionswechsel vorzunehmen, steht Ihnen die Task 'shutup dialog' zur Verfügung. Bei Ausführung des Supervisor-Kommandos 'continue("shutup dialog")' wird Ihnen die aktuelle Partitions­ tabelle angezeigt, so wie Sie diese bereits bei der Generierung kennengelernt haben, d.h. mit Angabe von Größe, Start- und Endzylinder der eingerichteten Partitionen. Sie können dann eine beliebige Partition menugesteuert auswählen und starten oder das Betriebssystem kontrolliert abschalten (sog. 'shutup'). Dabei wird der aktuelle System­ zustand automatisch gesichert. Archivformate bei ATs und Kompatiblen mit zwei Diskettenlauf­ werken: Standardmäßig ist der Archivkanal 31 an das Laufwerk 'A:' gebunden, das eine Kapazi­ tät von 1,2 Megabyte besitzt. Ist jedoch bei Ihrem Gerät ein zweites Diskettenlaufwerk, z.B. mit einer Kapazität von 360 Kilobyte eingebaut, dann können Sie auf dieses Lauf­ werk über den Kanal 30 zugreifen. Dazu richten Sie unter 'SYSUR' eine Task ein, die Sie z.B. 'ARCHIVE 360' benennen. Geben Sie in dieser Task das Kommando 'archive manager (30)'; dann können Sie von jeder Benutzertask das Archiv mit dem Kommando 'archive ("Archivname",/ "ARCHIVE 360")' anmelden. Der Zugriff auf eine Diskette in diesem Laufwerk geschieht z.B. über 'list(/"ARCHIVE 360")' oder 'save ("Dateiname",/"ARCHIVE 360")'. Eine andere Möglich­ keit ist ein 3,5" Laufwerk. Die einzelnen Schritte der Installation im Überblick: 1. Die Diskette 'SETUP-EUMEL' in das Laufwerk stecken. 2. Rechner einschalten oder Tastatur-RESET 3. EUMEL-Partition einrichten. 4. Generierung beenden und auf 'ENDE'-Meldung warten. 5. Diskette 'SETUP-EUMEL AT (XT)' entnehmen. 6. Tastatur-RESET. 7. Die Meldung 'Leider keine EUMEL-0-Maschine gefunden' abwarten. 8. Hintergrunddiskette ('HG0') einlegen und Taste drücken. 9. Nach der Meldung 'HG-ungültig' eine Taste betätigen, um in den Startdialog zu gelangen. 10. Menupunkt 2 anwählen: Neuen Hintergrund vom Archiv laden. Hintergrunddis­ kette einlegen und 'Alten HG überschreiben?' mit "j" quittieren. Folgedisketten einlegen, sobald entsprechende Meldung ("weiterer Archivträger eingelegt?") erscheint, und "j" eingeben. 11. Hintergrunddiskette entnehmen und anschließend Tastatur-RESET ausführen. 12. Kanal 1 konfigurieren. #ib(9)#1.3. Ausführliche Beschreibung#ie(9)# #ib##ib(9)#System laden#ie##ie(9)# Wie Sie in der Installationsanleitung lesen konnten, geht man beim Systemstart durch Eingabe eines Zeichens während des Vortests in das Startmenü und wählt dort "Hin­ tergrund vom Archiv laden" an. Falls der zu ladende Hintergrund sich über mehrere Archiv-Disketten erstreckt, werden die folgenden sukzessive angefordert. #ib##ib(9)#System sichern#ie##ie(9)# Der aktuelle eigene Hintergrund läßt sich (mit allen Tasks und allen Dateien) durch das Kommando #ib#save system#ie# auf Archivdisketten sichern. Dabei wird der Systemzustand zunächst über einen Fix­ punkt gesichert. Anschließend werden #on("b")##on("i")#formatierte#off("i")##off("b")# Disketten angefordert. Der Hinter­ grund wird komprimiert gesichert, d.h. nur die belegten Blöcke werden auf das Archiv geschrieben. #on("i")#Anmerkung: Diese Prozedur kann nur von privilegierten Tasks (Nachfahren von "SYSUR"), wie dem OPERATOR, aufgerufen werden. Vor dem Aufruf von 'save system' sollten Sie genügend Disketten for­ matiert haben (Überprüfen Sie mit 'storage info', wieviele Disketten Sie benötigen, um den gesammten Hintergrund darauf zu schreiben). #off("i")# #ib(9)#System gegen Unbefugte schützen#ie(9)# Falls der Benutzerkreis eines Multi-User-Systems nicht "gutartig" ist, sollte man verhin­ dern, daß jeder Benutzer des Systems Zugang zu #ib#privilegierten Operationen#ie# hat, wie Löschen anderer Tasks, Konfiguration ändern und System sichern. Dies erreichen Sie dadurch, daß Sie #on("b")#alle#off("b")# privilegierten Tasks, das sind 'SYSUR' und alle Söhne, Enkel usw. von 'SYSUR', durch #ib#Paßworte#ie# schützen. Damit wird der Zugang zu diesen Tasks nur möglich, wenn man das entsprechende Paßwort eingibt. Man de­ finiert solche #on("i")##on("b")##ib#Task-Paßworte#ie##off("i")##off("b")#, indem man die zu schützende Task mit Hilfe des Super­ visor-Kommandos "continue" an ein Terminal holt und dann das Kommando #ib#task password#ie# ("simsalabim") gibt. Dabei ist "simsalabim" nur ein Beispiel. Bitte verwenden Sie ein anderes Paß­ wort! Da die Eigenschaft, privilegiert zu sein, nur davon abhängt, im "SYSUR"-Zweig (und nicht im normalen "UR"-Zweig) des Systems zu sein, könnte sich ein gewitzter Anwender die Privilegierung einfach erschleichen, indem er eine neue Sohntask von "SYSUR" einrichtet. Um auch diese Möglichkeit zu unterbinden, sollte man in #on("b")#jeder#off("b")# Task des SYSUR-Zweiges ebenfalls ein #on("i")##on("b")#"begin"-Paßwort#off("i")##off("b")# definieren. Das geschieht mit dem Kommando #ib#begin password#ie# ("simsalabim") Bei der Wahl der Paßworte sollte man folgendes bedenken: - Ein zu kurzes oder offensichtliches Paßwort (beispielsweise der Name des Systemverwalters) wird von "Hackern" schnell herausgefunden. - Oft werden Paßworte bekannt, weil irgendwo ein Zettel mit den Paßworten herumliegt. - Der Paßwortschutz ist hart. Wenn man sein Paßwort vergessen hat, gibt es keinen Zugang mehr zu der geschützten Task. Beschreibung der Paßwortprozeduren: #ib#task password#ie# PROC task password (TEXT CONST password) Zweck: Einstellen eines Paßwortes für eine Task im Monitor. #ib#begin password#ie# PROC begin password (TEXT CONST password) Zweck: Verhindert das unberechtigte Einrichten einer Sohn-Task. Anmerkung: Das 'begin password' vererbt sich auf die später erzeugten Sohn- Tasks. #ib#family password#ie# PROC family password (TEXT CONST password) Zweck: Setzt oder ändert das Paßwort derjenigen Familienmitglieder, die kein Paßwort oder das gleiche Paßwort wie die aufrufende Task haben. Zu einer Familie gehören die Task in der man sich befindet und die ihr untergeordneten Tasks. Bsp.: Das Kommando 'family password ("EUMEL")' wird in SYSUR gegeben. Dadurch wird das SYSUR-Paßwort und die Paßworte der entsprechenden Tasks unter SYSUR auf "EUMEL" gesetzt. #ib##ib(9)#Konfiguration#ie##ie(9)# Die #ib#Konfiguration#ie# läuft über die Task "#ib#configurator#ie#" ab. Diese Task müssen Sie also für die hier aufgeführten Operationen durch das Supervisor-Kommando "continue" an­ koppeln (Dabei wird das Paßwort überprüft, falls die Task geschützt wurde). #on("i")#Anmerkung: Man kann die Task "configurator" löschen und dann neu (als Sohn, En­ kel,... von SYSUR) wieder einrichten. Danach holt man die Konfigura­ tionsdatei (z.B. von std.devices) und gibt das Kommando "#ib#configuration manager#ie#".#off("i")# Der in der Einführung unter "Wie Sie die Konfiguration einstellen" beschriebene Konfi­ gurationsdialog läßt sich vermittels des Kommandos #ib#configurate#ie# aufrufen. Dabei wird für jeden angewählten Kanal die bis jetzt gültige Einstellung als Vorschlag mit ausgegeben. Die Einstellung aller Kanäle, die nicht angesprochen wer­ den, bleibt unverändert. Im Menü werden die Namen aller Dateien mit #ib#Gerätetabellen#ie# aufgeführt, die in der Task enthalten sind. Daraus folgt, daß nur noch die bei der letzten Konfigurierung benutzten Typen aufgeführt werden, wenn vorher auf die Frage "Koennen unbenutzte Geraetetypen geloescht werden (j/n)?" mit "j" geantwortet wurde. Löschen Sie also nicht alle unbenutzten Gerätetypen, wenn Sie sie später evtl. nochmal bruachen (siehe auch "Teil 2, 3. Kanäle und Konfigurierung"). Im Konfigurationsdialog kann folgendes eingestellt werden: #ib#Typ#ie# Es werden alle vorhandenen Gerätetabellen durchgegangen, bis eine davon ausgewählt wurde. Diese manchmal etwas langwierige Arbeit kann man durch Eingabe des Zeichens ESC abkürzen: Danach kann man den Typnamen direkt eingeben. #on("i")#Das funktioniert aber nur vernünftig, wenn das eigene Arbeitsterminal bereits richtig konfiguriert worden ist!#off("i")# #ib#Baudrate#ie# (nur für V.24-Kanäle von Bedeutung) Es werden alle einstellbaren Baudraten durchgegangen, bis eine davon ausgewählt wurde. Das sind die Werte 50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 Baud. #ib#Bits#ie# (nur für V.24-Kanäle von Bedeutung) Es werden die einstellbaren Zeichengrößen durchgegangen, d.h. 7 oder 8 Bit pro Zeichen. #ib#Parität#ie# (nur für V.24-Kanäle von Bedeutung) Möglich sind die Einstellun­ gen 'no', 'even' und 'odd'. #ib#Stopbits#ie# (nur für V.24-Kanäle von Bedeutung) Stopbits geben die Pause zwischen zwei aufeinanderfolgenden Zeichen an. Möglich sind 1 oder 2 Stopbits. #ib#Protokoll#ie# Terminals u.ä. werden üblicherweise ohne Protokoll angeschlossen. Bei langsamen Geräten wie Druckern bzw. Plottern oder aber bei Rechnerkopplungen bzw. Netzen kann der Empfänger nicht immer so schnell Zeichen annehmen wie sie von der Gegenstation gesen­ det werden. In diesem Fall kann man das #ib#XON/XOFF-#ie# oder das #ib#RTS/CTS-Protokoll#ie# einstellen. #on("b")#BEACHTE: Sender und Empfänger müssen auf das gleiche Proto­ koll eingestellt sein.#off("b")# Manchmal müssen auch Terminals mit Protokoll angeschlossen werden. Üblicherweise wählt man dann aber ein rein ausgabe­ seitiges Protokoll, damit SV den EUMEL auf jeden Fall erreicht. Es gibt folgende Protokolle: #ib#XON/XOFF-Protokoll#ie#: Rechner und Gerät steuern die Sendungen jeweils über XON/XOFF-Zeichen. #ib#RTS/CTS-Protokoll#ie#: Rechner und Gerät steuern ihre Sendungen jeweils über RTS/CTS- Leitungen. #ib#XON/XOFF-ausgabeseitig#ie#: Das angeschlossene Gerät steuert die Ausgabe über XON/XOFF.Eingaben zum Rechner unterliegen keinem Protokoll. #ib#RTS/CTS-ausgabeseitig#ie#: Das angeschlossene Gerät steuert die Ausgabe über RTS/CTS. Eingaben zum Rechner unterliegen keinem Protokoll. #ib#XON/XOFF-eingabeseitig#ie#: Der EUMEL-Rechner steuert die angeschlossenen Geräte durch XON/XOFF. Die Ausgaben zum Gerät unterliegen keinem Protokoll. #ib#RTS/CTS-eingabeseitig#ie#: Der EUMEL-Rechner steuert die angeschlossenen Geräte durch RTS/CTS. Die Ausgaben zum Gerät unter­ liegen keinem Protokoll. #ib#Puffer#ie# Terminals und alle Ausgabegeräte (Drucker u.ä.) haben standard­ mäßig die normalen "kleinen" Eingabepuffer im System zugeord­ net. Bei Rechner-Rechner-Kopplungen, DFÜ oder Netzen kann ein "großer" #ib#Eingabepuffer#ie# von 512 Byte notwendig werden. Dement­ sprechend sind #ib#Großpuffer#ie# nur beim Schnittstellentyp 'transparent' möglich. Im #ib#Konfigurationsdialog#ie# werden bei jedem Kanal nur die dort vorhandenen Möglich­ keiten angeboten. Dabei wird die vorherige Einstellung immer als erste angeboten. So kann man sich verhältnismäßig einfach "durchtasten". Die Fragen des #ib#Konfigurationsdialog#ie#s werden nach folgendem Schema gestellt: #linefeed(1.18)# erfrage ("Kanal") ; erfrage ("Typ") ; IF dieses ist ein v24 kanal THEN IF baudrate einstellbar THEN erfrage ("Baudrate") FI ; IF zeichengroesse einstellbar THEN erfrage ("Bits") FI ; IF parität einstellbar THEN erfrage ("Parität") FI ; IF stopbits einstellbar THEN erfrage ("Stopbits") FI ; FI ; erfrage ("Protokoll") ; IF typ ist tranparent THEN erfrage ("Puffer") FI. #linefeed(1.0)# Will man seine eingestellte #ib#Konfiguration sichern#ie#, reicht es, alle Dateien der Task "#ib#configurator#ie#" auf ein Archiv zu schreiben. Diese Konfiguration kann man dann bei einem neuen Hintergrund einfach vom Archiv laden. Um die Konfigurierung dann auch auszuführen, gibt man das Kommando "setup". #ib##ib(9)#Druckersoftware einrichten#ie##ie(9)# Das Standardarchive "std.printer" enthält einige Druckeranpassungen für die Ansteu­ erung diverser Druckertypen. Soll einer dieser Druckertypen an das EUMEL-System angeschlossen werden, so muß zuerst eine Task "#ib#PRINTER#ie#" (als Sohntask von "SYSUR" mit dem Supervisorkommando) vorhanden sein bzw. durch begin ("PRINTER", "SYSUR") eingerichtet werden. In dieser Task müssen dann die folgenden Schritte vollzogen werden: - Anmelden des Archivs: archive ("std.printer") - Holen der Druckeranpassung vom Archiv: fetch ("druckertyp.inserter", archive) - Insertieren der Druckeranpassung: insert ("druckertyp.inserter") Beispiel: archive ("std.printer") fetch ("laser.inserter", archive); check off; insert ("laser.inserter") Nach Beendigung der Kompilierung finden Sie sich in einem Menü wieder, daß Ihnen die Auswahl Ihres Drucker-Herstellers durch die Eingabe der vor dem Firmennamen stehenden Zahl erlaubt. Diese Eingabe schicken Sie mit RETURN ab. Da Hersteller mitunter verschiedene Modelle mit verschiedenen Funktionen anbieten, ist es nötig, daß Sie Ihr Modell auswählen. Auch diese Eingabe wird durch RETURN abgeschickt. Nachdem Sie die Nummer des gewünschten Druckers eingegeben haben, erfolgt noch einmal eine Sicherheitsabfrage, ob dieser Drucker installiert werden soll. Neben den speziell zu dem gewählten Drucker passenden Fragen (z.B. NLQ-Modus standardmäßig) ist es erforderlich, den Kanal einzugeben, an dem der Drucker ange­ schlossen ist (z.B. Kanal 15 für eine parallele Schnittstelle). Wenn die Generierung beendet ist, muß in allen bestehenden Tasks - insbesondere in der Task 'PUBLIC' - die Fonttabelle mit dem fonttable-Kommando eingestellt werden. Mit dem Kommando print ("dateiname") wird dann eine Datei ausgedruckt. Befindet sich keine passende Druckeranpassung für den anzuschließenden Drucker­ typ auf dem Standardarchiv "std.printer", so sollte die Druckeranpassung "printer.std" benutzt werden. Diese Druckeranpassung ist eine universelle Druckeranpassung für alle Drucker, die mit ASCII-Code 13 ein 'Carriage Return' (d.h. Bewegung des Druck­ kopfes an den linken Rand) und mit ASCII-Code 10 eine Zeilenschaltung von 1/6 Zoll vornehmen. Mit ihr kann dann in einem Schrifttyp (entweder 10 oder 12 Zeichen pro Zoll, je nachdem welche Fonttabelle eingestellt ist) gedruckt werden. So erhält man wenigstens eine Minimalansteuerung des Druckers. Für eine bessere Ansteuerung des Drucker muß ein Programm geschrieben werden, das das Druckertreiber-Interface erfüllt (siehe Teil 6 "Der EUMEL-Drucker") und eine Fonttabelle erstellt (siehe Teil 7 "Der Fontspeicher") werden. #page# #headeven# %#center#EUMEL-Systemhandbuch #end# #headodd# #center#2. Hardware und ihre Steuerung#right#% #end# #ib(9)#2. Hardware und ihre Steuerung#ie(9)# #ib(9)#2.1. Vorwort#ie(9)# Die #ib#Hardware#ie# eines jeden EUMEL-Systems läßt sich in #ib#Rechnerkern#ie# und Peripherie einteilen. a) Der #ib#Rechnerkern#ie# In der Regel wird der Rechnerkern aus folgenden Komponenten bestehen: - #ib#CPU#ie# - #ib#Vordergrundspeicher#ie# (oft als RAM bezeichnet) - #ib#Hintergrundspeicher#ie# (Floppy, Harddisk, oder auch RAM/ROM) Alle Daten, Dateien und Programme werden auf dem Hintergrundspeicher abgelegt. Der benötigte Platz wird dabei dynamisch nach Bedarf zugewiesen. Jeder Zugriff auf Daten, die sich auf dem Hintergrundspeicher befinden, muß über den Vordergrund­ speicher erfolgen. Zu diesem Zweck verlagert das EUMEL-System automatisch alle aktuell benötigten Daten in den Vordergrundspeicher. Das erfolgt nach dem Prinzip des #ib#Demand-Paging#ie# (s. Benutzerhandbuch Kap. 1). Die CPU führt die aktiven Pro­ gramme (unter Benutzung des Speichers) aus. Dabei bearbeitet sie reihum alle re­ chenwilligen Prozesse. Die drei Komponenten des Rechnerkerns werden vollständig vom EUMEL-Betriebs­ system verwaltet und miteinander verknüpft, so daß der Anwender sich in der Regel darum weder kümmern muß noch kann. Ausgenommen davon sind allerdings die Diagnose von Hardwarefehlern und Überlegungen zur Systemleistung. b) Die #ib#Peripherie#ie# Alle anderen Geräte oder Gerätekomponenten gehören aus der Sicht des EUMEL- Systems zur Peripherie. Wesentliches Kennzeichen ist, daß sie über Kanäle mit dem Rechnerkern verbunden sind und von dort aus durch System- und Anwender­ programm gesteuert werden können. Angeschlossen werden können u.a. - #ib#Terminal#ie#s - #ib#Drucker#ie# und #ib#Plotter#ie# - andere #ib#Rechner#ie# bzw. #ib#Rechnernetze#ie# - #ib#Archivgerät#ie#e (z.B. Floppy-Laufwerke) In der Regel hat jedes EUMEL-System mindestens ein #ib#Terminal#ie# und #ib#Archivlaufwerk#ie#. Auch wenn dieses "Terminal 1" und das Floppy-Laufwerk baulich in den Rechner integiert sind, gehören sie logisch zur Peripherie. Die entsprechenden Kanäle sind dann allerdings Teil des Rechners und brauchen den Anwender nicht zu interessie­ ren. Die beiden wesentlichen anderen Kanaltypen sind: - #ib#serielle Schnittstelle#ie#n (#ib#V.24#ie#) - #ib#Parallelschnittstellen#ie# Beide führen "echt" aus dem Rechner heraus und sind u.U. hardwaremäßig für den Anwender von Bedeutung. Normalerweise sollte zwar der Lieferant der EUMEL- Hardware für die Verkabelung und den Anschluß peripherer Geräte sorgen, aber Kenntnisse können in Fehlersituationen (z.B. Kabelbruch), bei Umkonfigurierungen und bei Kombinationen verschiedener Geräte helfen. #ib(9)#2.2. #ib#Hardware-Test#ie##ie(9)# Der EUMEL-Hardware-Test ist ein rechnerunabhängiger Test und kann demzufolge nicht so viel überprüfen wie Testprogramme, die genau auf eine entsprechende Hard­ ware zugeschnitten sind. Trotzdem sollten die meisten Hardware-Fehler schon mit dem EUMEL-#ib#Hardware-Test#ie# gefunden werden. Bei jedem Systemstart wird der "#ib#Vortest#ie#" durchgeführt. Nachdem er Terminals, Spei­ cher und Hintergrund angezeigt hat, testet er einmal den Hauptspeicher. Danach wird das eigentliche EUMEL-System gestartet. Durch Eingabe eines beliebigen Zeichens während des Vortests (Speichertest: *********) kommt man in den ausführlichen #ib#Start-Dialog#ie#. Dort wird u.a. auch die Möglichkeit "Hardware-Test" angeboten. Wählt man diese an, werden die verfügbaren Tests als Menü aufgelistet. Bei jedem EUMEL-System stehen folgende Testmöglichkei­ ten zur Verfügung: (1) #ib#Speichertest#ie# (2) #ib#Kanaltest#ie# (3) #ib#Hintergrundtest#ie# (4) #ib#Archivtest#ie# Alle Tests sind dabei Dauertests, d.h. sie beginnen nach jedem Durchlauf von neu­ em, können aber durch abgebrochen werden. #ib##ib(9)#Speichertest#ie##ie(9)# Der #ib#Speichertest#ie# soll den Vordergrundspeicher (#ib#RAM#ie#) des Rechners untersuchen. Gerade #ib#Speicherfehler#ie# tendieren aber dazu, nur sporadisch aufzutreten oder wär­ meabhängig zu sein. Deshalb sollte der Test bei Verdacht auf Speicherfehler längere Zeit (einige Stunden) laufen. Leider können auch dann nicht alle Fehler aufgedeckt werden, z.B. nicht solche, die nur in ganz speziellen Situationen entstehen, wie Spei­ cherzugriff mit gleichzeitig anlaufendem Floppymotor und Zeichenausgabe. Generell gilt hier (wie für jeden Test), daß das Nichtvorhandensein von Fehlern nie Vollkommen sicher nachgewiesen werden kann. Der Speichertest teilt den Speicher in drei verschiedene Bereiche auf: 0 : adresse MOD 3 = 0 1 : adresse MOD 3 = 1 2 : adresse MOD 3 = 2 Der freie Speicher wird nach folgendem Algorithmus geprüft: schreibe (1, OLOLOLOL) ; out ("*") ; schreibe (2, OLOLOLOL) ; out ("*") ; schreibe (0, LOLOLOLO) ; out ("*") ; pruefe (1, OLOLOLOL) ; out ("*") ; schreibe (1, LOLOLOLO) ; out ("*") ; pruefe (2, OLOLOLOL) ; out ("*") ; pruefe (0, LOLOLOLO) ; out ("*") ; pruefe (1, LOLOLOLO) ; out ("*") ; schreibe (0, OLOLOLOL) ; out ("*") ; pruefe (0, OLOLOLOL) ; out ("*") ; schreibe (2, LOLOLOLO) ; out ("*") ; pruefe (2, LOLOLOLO) ; out ("*") . Dabei werden durch 'PROC schreibe (INT CONST bereich, BYTE CONST muster)' alle Bytes des entsprechenden Bereichs mit dem angegebenen Muster geladen. 'PROC pruefe (INT CONST bereich, BYTE CONST soll)' überprüft entsprechend alle Bytes des Bereichs darauf, ob sie das Sollmuster enthalten. Findet der Speichertest Fehler, können u.a. folgende Ursachen vorliegen: - Ein Speicherchip ist defekt. - Die Versorgungsspannung für den Speicher (meistens +5V) ist zu niedrig, d.h. das Netzteil ist nicht richtig eingestellt bzw. defekt. (Das kann insbeson­ dere dann entstehen, wenn ein Rechner so "hochgerüstet" wurde, daß das Netzteil nachgeregelt werden müßte.) - Die Kontakte der Speicherkarten sind locker oder oxidiert. - Die Speicheransteuerung ist defekt. #ib##ib(9)#Kanaltest#ie##ie(9)# Beim #ib#Kanaltest#ie# werden fortlaufend auf allen #ib#Terminalkanälen#ie# (außer auf Terminal 1) die jeweiligen Kanalnummern in der Form "Kanal: n" ausgegeben. Jedes Eingabe­ zeichen wird in dezimaler Verschlüssung unter Angabe der Kanalnummer auf dem Terminal 1 gemeldet. Mit Hilfe dieses Tests können u.a. Kabel und Geräteeinstellungen überprüft werden. Mögliche Fehlerursachen: - falsche #ib#Baudrate#ie# eingestellt Symptome: Bei Aus- und Eingabe werden vollkommen unsinnige Zeichen angeliefert. Abhilfe: Baudrate am Endgerät oder am Rechner richtig einstellen. - falsche #ib#Parität#ie# eingestellt Symptome: Einige Zeichen werden richtig übertragen, andere verfälscht. In einigen Fällen können auch alle Zeichen falsch übertragen wer­ den. Abhilfe: Parität am Endgerät oder am Rechner richtig einstellen. - falsches #ib#Kabel#ie# (z.B. Sende- und Empfangsleitungen fälschlich gekreuzt bzw. nicht gekreuzt, Kabel ohne Flußkontrolle an Schnittstelle mit Flußkontrolle, V.24-Kabel an Parallelschnittstelle oder umge­ kehrt): Symptome: Keine Ausgabe, keine Eingabe oder andauernder Strom von "Schrottzeichen". Abhilfe: richtiges Kabel nehmen oder Kabel korrigieren. - defektes Kabel (Kabelbruch, defekter Stecker o.ä.) Symptome: beliebig. Testmöglichkeit: Kabel wechseln. - defektes #ib#Endgerät#ie# Symptome: beliebig. Testmöglichkeit: Anderes Gerät mit gleicher Einstellung (Baudrate, Parität usw.) anschließen. - defekte #ib#Schnittstelle#ie# im Rechner Symptome: beliebig Testmöglichkeit: Endgerät mit gleichem Kabel an eine andere Schnittstelle am Rechner anschließen (dazu evtl. die Geräteparameter wie Baudrate anpassen). #ib##ib(9)#Hintergrundtest#ie(9)##ie# Zur Überprüfung des #ib#Hintergrund#ie#es werden drei Tests angeboten: (1) #ib#Lesetest#ie# (2) #ib#Lese-/Schreibtest#ie# (3) #ib#Positioniertest#ie# Der #ib##on("i")##on("b")#Lesetest#off("i")##off("b")##ie# prüft, ob alle für EUMEL verfügbaren Blöcke auf der Platte bzw. Floppy lesbar sind. Dabei wird der Blockinhalt nicht inspiziert. Sowohl behebbare (soft) als auch harte #ib#Lesefehler#ie# werden gemeldet. Der Bediener kann einen Korrekturversuch durch Rückschreiben veranlassen. Bei einem #ib#Soft-Error#ie# (Block konnte nach mehreren Versuchen doch gelesen werden) wird der gelesene Block neu geschrieben. Der Fehler kann jetzt ohne negative Folgen behoben sein, bei defekter Hardware aber auch zu Folgefehlern führen. Als Korrekturversuch bei harten Fehlern wird ein mit 'FFFD' gefüllter Block geschrie­ ben. Wird ein solcher Block später vom EUMEL gelesen und als Code angesehen, führt das zur Fehlermeldung "#ib#code block unreadable#ie#". Wird FFFD als INT angesehen, liefert es den Wert -3, bei REAL oder TEXT können keine Vorhersagen gemacht werden. Bei dem #ib##on("i")##on("b")#Schreib-/Lesetest#off("i")##off("b")##ie# wird jeder Block mit mehreren Bitmustern beschrieben und zur Kontrolle wieder gelesen. Der alte Inhalt wird vor dem Test gesichert und nachher wieder in den Block geschrieben. #on("b")#Achtung: Normalerweise zerstört der Test den EUMEL-Hintergrund nicht. Bei defekter Platte können allerdings Blöcke durch mißlungenes Rück­ schreiben zerstört werden. #off("b")# Der #ib##on("i")##on("b")#Positioniertest#off("i")##off("b")##ie# arbeitet ähnlich wie die Leseprüfung. Allerdings wird in der Reihen­ folge 0, 1, 0, 2, 0, 3, ... gelesen, so daß die Platte für jeden Lesevorgang positionieren muß. #on("b")#Achtung: Wegen der harten Plattenbelastung sollte dieser Test nicht zu lange laufen.#off("b")# #ib##ib(9)#Archivtest#ie##ie(9)# Der Archivtest arbeitet ähnlich wie der Hintergrundtest - allerdings auf dem Archiv. Er kann sowohl zur Überprüfung von Archiv-Datenträgern (#ib#Lesetest#ie#) als auch zum Test des #ib#Archivlaufwerks#ie# benutzt werden. #ib(9)#2.3. #ib#Serielle Geräteschnittstelle#ie##ie(9)# #ib##ib(9)#Pinbelegung und Kabel#ie(9)##ie# #on("b")##on("i")#Anmerkung: Dieses Kapitel ist nur für solche Anwender von Bedeutung, die sich selbst mit der Verkabelung ihrer Geräte befassen.#off("i")##off("b")# Im folgenden werden die wichtigsten Leitungen der offiziellen #ib#V.24-Schnittstelle#ie# (#ib#seriel­ le Schnittstelle#ie# zum Anschluß von Terminals, Druckern, Fremdrechnern u.ä.) beschrie­ ben: Pin Betriebsrichtung Bedeutung 2 out Sendedaten 3 in Empfangsdaten 4 out Sendeaufforderung (RTS) 5 in Empfangsbereitschaft (CTS) 7 Signalerde 8 in Gegenstation bereit (DCD) 20 out eigene Station bereit (DTR) Dabei dient das Paar (2,3) zur Übertragung der Daten, mit Hilfe von (4,5) ist #ib#Flußkon­ trolle#ie# möglich (z.B. kann ein Drucker damit Sendungen vom Rechner "verlangsamen"). Das Paar (8,20) wird bei manchen Geräten und Rechnern benutzt, um festzustellen, ob die Gegenstation eingeschaltet ist. Die meisten Rechner haben die gleiche #ib#Pinbelegung#ie# wie oben aufgeführt. Die Kabel müssen dann die folgenden #ib#Pin#ie#s verbinden: Rechner 2 3 4 5 7 8 20 Vollständige Verbindung mit Flußkontrolle. Gerät 2 3 4 5 7 8 20 Rechner 2 3 4 5 7 Reicht für die meisten Anschlüsse mit Flußkontrol­ le, z.B. Rechnerkopplung. Gerät 2 3 4 5 7 Rechner 2 3 5 7 Reicht für die meisten Drucker, Flußkontrolle nur einseitig vom Drucker zum Rechner. Gerät 2 3 4 7 Rechner 2 3 7 Reicht meistens für Terminals, Flußkontrolle ist dabei überflüssig. Gerät 2 3 7 Rechner 2 3 4 5 7 Manchmal für Terminals. Rechnerseitig wird Fluß­ kontrolle durch die Brücke 4-5 simuliert. Gerät 2 3 7 Bei manchen Rechnern werden die notwendigen paarweisen Vertauschungen schon im Rechner durchgeführt. Es ergibt sich entsprechend: Rechner 2 3 4 5 7 8 20 Vollständige Verbindung mit Flußkontrolle. Gerät 2 3 4 5 7 8 20 Rechner 2 3 4 5 7 Einfacher Anschluß mit Flußkontrolle. Gerät 2 3 4 5 7 Rechner 2 3 4 7 Drucker, einseitige Flußkontrolle. Gerät 2 3 4 7 Rechner 2 3 7 Terminal. Gerät 2 3 7 Rechner 2 3 4 5 7 Terminal mit simulierter Flußkontrolle. Gerät 2 3 7 #ib(9)#2.4. #ib#Kanäle#ie# und #ib#Konfigurierung#ie##ie(9)# Im EUMEL-System dienen #ib#Kanäle#ie# zur Kommunikation mit der Außenwelt, d.h. Kanäle sind Verbindungen vom Rechner zu peripheren Geräten wie Terminals, Drucker, Plotter und Archiv. Kanäle können für zeichen- und #ib#blockorientierte Ein-/Ausgabe#ie# verwendet werden. Ein Kanal heißt #ub##ib#privilegiert#ie(1,"er Kanal")##ue#, wenn er nur von privilegierten Systemtasks (Nach­ kommen des Supervisors) benutzt werden kann. #ib#Kanalaufteilung#ie#: Kanal Bedeutung 1 zeichenorientiert, blockorientiert Dieser Kanal muß mit einem Terminal verbunden sein, da über ihn der Systemstart erfolgt. 2-16 zeichenorientiert, blockorientiert Diese Kanäle werden für weitere Terminals, Drucker, Plot­ ter, Rechnerkopplung usw. verwandt. 15-23 blockorientiert 24-30 blockorientiert, privilegiert 31 blockorientiert, privilegiert Dieser Kanal ist der #ib#Standardkanal des Archivsystems#ie#, d.h. üblicherweise wird darüber die Archivfloppy angesprochen. 32 blockorientiert, privilegiert Dieses ist ein #ib#interner Kanal#ie#, an den kein externes Gerät angeschlossen werden kann. Er wird zur Konfigurierung der anderen Kanäle benutzt. Der Supervisor des EUMEL-Systems verwaltet die Kanäle. Jeder Task ist dabei kein oder genau ein Kanal zugeordnet. Entsprechend ist jedem Kanal keine oder genau eine Task zugeordnet. Solche Zuordnungen können von außen durch den Benutzer (nur bei interaktiven Kanälen) über die SV-Kommandos bzw. Prozeduraufrufe 'conti­ nue' und 'break' (s. Kap. 5) verändert werden. In jedem Fall überprüft der Supervisor die Zugriffsberechtigung. #ib##ib(9)#Zeichenorientierte Ein-/Ausgabe#ie##ie(9)# Zeichenorientierte Ein-/Ausgabe kann auf den Kanälen 1 bis 16 benutzt werden. Dafür stehen die Basisoperationen PROC #ib#out#ie# (TEXT CONST text) PROC #ib#outsubtext#ie# (TEXT CONST source, INT CNST from) PROC outsubtext (TEXT CONST source, INT CONST from, to)9 PROC #ib#cursor#ie# (INT CONST x, y) PROC #ib#inchar#ie# (TEXT VAR char) TEXT PROC #ib#incharety#ie# TEXT PROC incharety (INT CONST time limit) PROC #ib#get cursor#ie# (INT VAR x, y) und alle darauf aufbauenden Operationen (wie 'put', 'get', 'putline', 'getline' usw.) zur Verfügung. Diese Kanäle sind 'konfigurierbar' (s.u.) und erlauben den Anruf des Systems durch den Benutzer von außen (SV-Taste). In der Regel werden die Kanäle 1 bis 16 für Terminals, Drucker, Plotter und andere zeichenorientierte Anschlüsse be­ nutzt. Wenn ein Kanal zum Anschluß eines Terminals verwendet wird, müssen die #ib#Standard- Steuerzeichen#ie# des EUMEL-Systems (s. Benutzerhandbuch Programmierung, Kap. 3 "Der Editor", "5.2.4. Der EUMEL-Zeichensatz") auf jedem Terminal die gleiche Semantik haben. Das heißt beispielsweise, daß der Code ""2"" auf jedem Terminal bei Ausgabe den Cursor um eine Stelle nach rechts verschiebt. Da Datenendgeräte in dieser Hin­ sicht aber faktisch keiner Norm gehorchen, müssen die EUMEL-Codes in der Regel in #ib#terminalspezifische Codes#ie# umgesetzt werden. Diese Umsetzregeln kann man bei der Konfigurierung (s.u.) festlegen. Für die meisten Terminaltypen werden allerdings fertige Konfigurationssätze mit dem EUMEL-System zusammen ausgeliefert, die man bei der Einrichtung des Systems (s. Kap. 1 Installationsanleitung) interaktiv anwählen kann. #ib##ib(9)#Blockorientierte Ein-/Ausgabe#ie##ie(9)# Blockorientiere Ein-/Ausgabe kann auf den Kanälen 1 bis 32 benutzt werden. Dafür stehen die Operationen PROC #ib#control#ie# (INT CONST code1, code2, code3, INT VAR return code) PROC #ib#blockout#ie# (DATASPACE CONST ds, INT CONST page nr, code1, code2, INT VAR return code) PROC #ib#blockout#ie# (ROW 256 INT CONST block, INT CONST code1, code2, INT VAR return code) PROC #ib#blockin#ie# (DATASPACE VAR ds, INT CONST page nr, code1, code2, INT VAR return code) PROC #ib#blockin#ie# (ROW 256 INT VAR block, INT CONST code1, code2, INT VAR return code) zur Verfügung. Näheres findet man in Kap. 4.5 dieses Systemhandbuchs. #ib##ib(9)#Konfigurierung von Kanal 1 bis 15#ie(9)##ie# Alle #ib#zeichenorientierten Kanäle#ie# können (mittels Block I/O auf Kanal 32) konfiguriert werden. Dabei werden im wesentlichen #ib#Umsetzregeln#ie# für Ein- und Ausgabe definiert, die den Zweck haben, - bei der Ausgabe den EUMEL Zeichensatz auf den Zeichensatz des ange­ schlossenen Geräts abzubilden und - bei der Eingabe die gerätespezifischen Zeichen auf den EUMEL Zeichensatz abzubilden. So ist eine geräteunabhängige Programmierung möglich. Mit Hilfe der Prozedur '#ib#link#ie#' kann man einen der Kanäle 1 bis 16 auf einen bestimm­ ten Typ setzen. Immer vorhanden sind die Typen: "#ib#transparent#ie#": Keine Codeumsetzungen (für Drucker usw.) und "#ib#psi#ie#" : Keine Codeumsetzungen, jedoch folgende Sonderfunktionen: #free(1.0)# Code Funktion 7 (CTLg) SV 17 (CTLq) Stop 23 (CTLw) Weiter Weitere Typen müssen in Form eines DATASPACE, die nach den Gerätetypen benannt sind, in der Task vorliegen, in der das Kommando 'link' gegeben wird. Neue Terminaltypen können mit den Prozeduren 'new type', 'enter outcode', 'enter incode' usw. definiert werden. Im einzelnen stehen folgende Prozeduren zur Verfü­ gung: #ib#link#ie# PROC link (INT CONST channel, TEXT CONST type) Zweck: Der angegebene Kanal (1 bis 16) wird auf den angegebenen Typ konfi­ guriert. Hinweis: Die Prozedur 'link' hat die angegebene Wirkung nur, wenn die Task an Kanal 32 hängt, der nur für Söhne des SUPERVISOR zugänglich ist ('continue (32)'). #ib#y size#ie# PROC y size (INT CONST channel, new size, INT VAR old size) Zweck: Einstellmöglichkeiten für verschiedene Bildschirmgrößen. Diese Proze­ dur wirkt nur auf Kanal 32. 'channel' gibt dabei den zu konfigurierenden Kanal an. #ib#new type#ie# PROC new type (TEXT CONST typ) Zweck: Eröffnet einen neuen Kanaltyp mit dem Namen 'typ'. Die folgenden Aufrufe von 'enter outcode', 'enter incode' usw. beziehen sich dann auf diesen Typ. #ib#enter outcode#ie# PROC enter outcode (INT CONST eumelcode, zielcode) Zweck: Legt fest, daß der Code 'eumelcode' bei Ausgabe auf dem Terminaltyp in 'zielcode' gewandelt werden soll. PROC enter outcode (INT CONST eumelcode, TEXT CONST zeichen) Zweck: Wirkt wie 'enter outcode (eumelcode, code (zeichen))'. PROC enter outcode (INT CONST eumelcode, zeit, TEXT CONST seq) Zweck: Hiermit wird festgelegt, daß der Code 'eumelcode' als Mehrzeichenfolge 'seq' ausgegeben werden soll. Jedesmal, wenn diese Folge ausgegeben wurde, verzögert das System die Ausgabe des nächsten Zeichens um mindestens 'zeit' Millisekunden. Dies wird z.B. von den meisten Termi­ nals gefordert, wenn sie die Funktion 'Löschen Bildschirm' ausführen sollen. #ib#enter incode#ie# PROC enter incode (INT CONST eumelcode, TEXT CONST seq) Zweck: Es wird festgelegt, daß eine Eingabezeichenfolge 'seq' an das System als ein (!) Zeichen mit dem Code 'eumelcode' weitergegeben werden soll. Die ganze Sequenz muß dabei innerhalb von ca. 40 Millisekunden eintreffen, andernfalls werden die Zeichen einzeln gemeldet. Diese Logik ist erforderlich, um auch Terminals anzuschließen, die z.B. Cursor­ tasten als ESC-Sequenzen melden. Ohne die Zeitüberwachung würde das Betätigen der ESC-Taste sonst die Eingabe blockieren, bis die Folge 'seq' vollständig ist. Folgende Eumelcodes sind für die Sondertasten (SV usw.) anzugeben: 17 : STOP 23 : WEITER 7 : SV Weitere Codes ('HOP',...) sind im Benutzerhandbuch Programmierung (5 - 29, Der EUMEL-Zeichensatz) angegeben. #on("i")#Hinweis: Liefert die SV-Taste eines Terminals von sich aus schon Code 7, so ist dennoch 'enter incode (7, ""7"")' anzugeben. Entspre­ chendes gilt für die zwei anderen "Ereignistasten" STOP und WEITER. Bei allen anderen Tasten brauchen jedoch nur echte Umcodierungen vermerkt zu werden.#off("i")# #ib#cursor logic#ie# PROC cursor logic (INT CONST offset, modus, TEXT CONST pre, mid, post) Zweck: Es wird festgelegt, daß der EUMEL-Code 6 (Cursorposition) mit den folgenden beiden Zeichen, deren Codes y und x seien, bei modus = 255 als pre + code (offset+y) + mid + code (offset+x) + post und bei modus = 1 als pre + text (offset+y) + mid + text (offset+x) + post ausgegeben wird. Hinweis: 'offset' ist üblicherweise 32 (manchmal 0) und mid = post = "". #ib#cursor logic#ie# PROC cursor logic (INT CONST dist, TEXT CONST pre, mid, post) Zweck: Diese Prozedur wird von den Konfigurationsdateien alter Versionen benutzt. #ib#ansi cursor#ie# PROC ansi cursor (TEXT CONST pre, mid, post) Zweck: Diese Prozedur ist anstelle von 'cursor logic' zu verwenden, wenn die Cursor-Positionierungen bei dem Terminal so erfolgt, wie im Ansi- Standard definiert wird. #ib#elbit cursor#ie# PROC elbit cursor Zweck: Diese Prozedur ist bei Elbit-Terminals anstelle von 'cursor logic' zu verwenden. #ib##ib(9)#Konfigurations-Manager#ie##ie(9)# Wenn das System gestartet wird, weiß der Urlader noch nicht, welche #ib#Terminaltypen#ie# an welchen Kanälen hängen. (Der Vortest kann deshalb auch nicht bildschirmorien­ tiert arbeiten). Falls eine Task 'configurator' im System ist, schickt der SUPERVISOR dieser eine Start­ sendung zu. Diese Task kann daraufhin die nötigen Konfigurierkommandos ('link',...) ausführen. Ansonsten ist 'configurator' ein normaler Fontmanager, der die Fonttabellen verwaltet (siehe Kap. 7). Deshalb sollte im System immer eine Task 'configurator' existieren und nach Möglichkeit immer im 'wait' stehen. Man kann ihn also auch mit 'continue' an ein Terminal holen und dann wie üblich Kommandos geben. #ib#configurate#ie# PROC configurate Zweck: Führt den Konfigurationsdialog und anschließendes 'setup' durch. #ib#setup#ie# PROC setup Zweck: Alle Kanäle werden gemäß der im letzten Konfigurationsdialog bestimm­ ten Werte konfiguriert (wird automatisch bei jedem Systemstart durch­ geführt). #ib#configuration manager#ie# PROC configuration manager Zweck: Durch Aufruf dieser Prozedur wird die Task zu einem Konfigurations­ manager. Man kann also die Task "configurator" löschen, neu als Systemtask einrichten und mit diesem Kommando wieder etablieren. BEACHTE: - Die Task muß 'configurator' heißen. - Alle Terminalanpassungen gehen beim Löschen verloren, d.h. man sollte sie vorher sichern! #on("i")#Hinweis: Es passieren, daß eine Task schon Ausgaben macht, bevor der Kanal konfiguriert ist (z.B. wenn ein 'shutup' bei aktiver Netz-Kommunikation durchgeführt wurde).#off("i")#