Unter L3 besteht die M�glichkeit, DOS Programme ablaufen zu lassen. Es ist sowohl m�glich, in einer Task �normale� DOS Programme zu benutzen, als auch innerhalb verschiedener Tasks, zwischen denen eine Server-Workstation-Logik festgelegt wurde, netzwerkf�hige DOS Programme zu betreiben.
Ganz bewu�t wurde in den ersten Zeilen der Begriff der �DOS Kompatibilit�t� vermieden. Dieser Begriff w�rde dann Sinn machen, wenn DOS eine streng definierte Schnittstelle f�r Programme b�te. DOS ist jedoch kein Betriebssystem im engeren Sinne, sondern lediglich ein Starter f�r Programme, die f�r Rechner mit INTEL 8086/88 Prozessoren geschrieben wurden. Nach dem Start �bernehmen diese Programme nach Gutd�nken die Kontrolle �ber alle Betriebsmittel des Rechners.
Die Bereitstellung einer geeigeneten Umgebung f�r DOS Programme umfa�t also neben der DOS Schnittstelle (INT 21h etc.) auch die Emulation des BIOS und der Hardware eines typischen DOS Rechners.
L3DOS basiert auf der M�glichkeit des 80386 Prozessors, da� jede Task, unabh�ngig von allen anderen Tasks, zwischen virtuellem 8086 (V86) Modus und origin�rem (Protected) Modus hin- und herschalten kann. Im V86 Modus verh�lt sich der 80386 wie ein schneller 8086. Um eine geeignete Ablaufumgebung f�r DOS Programme zu schaffen, wird in einer Task, die in den V86 Modus wechselt, ein Kontrollprogramm aktiviert, das alle Leistungen, die durch ein DOS Programm angefordert werden, im Sinne von L3 umsetzt. Dieses Kontrollprogramm hei�t L3DOS.
Um DOS Programme auszuf�hren, ben�tigt man einen PC kompatiblen Rechner, das BIOS und DOS selbst. PC und BIOS werden durch das �virtuelle BIOS� ("vbios") emuliert. Das "vbios" simuliert die Hardwareschnittstelle zwischen dem DOS Programm und dem L3 System.
DOS selbst wird durch L3DOS emuliert. So k�nnen z.B. DOS Funktionsaufrufe zur Dateibehandlung von L3DOS auf das Dateisystem der Task umgelenkt werden. Auch die bei DOS ab Version 3.1 eingef�hrten Netzwerkfunktionen stehen vermittels L3DOS zur Verf�gung: Tasks k�nnen einen Pfad oder ihr vollst�ndiges Dateisystem �sharen�. Andere Tasks k�nnen dann auf Dateien der �Servertask� zugreifen, der Zugriff beachtet die �blichen File-Locking und Record-Locking Mechanismen.
Bei Gegen�berstellung der Funktionsweise eines Original DOS Rechners und der L3DOS Emulation lassen sich einige Grenzen absch�tzen, die die Trennlinie darstellen zwischen Programmen, die �noch� unter L3DOS laufen, und Programmen, die von den Schutzmechanismen von 80386 und L3 abgefangen werden.
In einer Grobbeschreibung l��t sich die Welt, in der DOS Programme agieren, als 640 KB Arbeitsspeicher, gefolgt von einem Bildschirmspeicher, darstellen. Am Anfang des Arbeitsspeichers liegen die Interruptvektoren, Sprungadressen auf Routinen zur Behandlung der diversen Interrupts. Viele dieser Spr�nge landen im ROM BIOS, der Schnittstelle f�r Ein-Ausgaben auf Bildschirm, Festplatte, Diskette etc. Typisches Kennzeichen f�r DOS Programme ist die Mi�achtung der so vorgegebenen Schnittstellen. Programme pflegen direkt in den Bildschirmspeicher zu schreiben, versuchen Ein-/ Ausgaben selbst zu behandeln, ver�ndern Interruptvektoren unter Umgehung der daf�r vorgesehenen Routine usw. Allen diesen Aktionen gemein ist, da� sie prinzipiell unter einem Multitasking-/Multiusersystem nicht zul�ssig sein k�nnen.
Eine sinnvolle DOS Emulation wird jedoch diejenigen Aktionen, die im Sinne des Betriebssystems effizient nachgebildet werden k�nnen, anbieten. Standardbeispiel hierzu ist das, nat�rlich auch unter L3DOS zul�ssige, direkte Beschreiben des Bildschirmspeichers. Jede Task hat ihren eigenen virtuellen Bildschirmspeicher, der bei Bedarf auf den realen Bildschirmspeicher abgebildet oder an ein Terminal �bertragen wird. Somit k�nnen in jeder Task, die im DOS Modus l�uft, Programme aktiv sein, die in den tasklokalen Bildschirmspeicher schreiben.
Nicht zul�ssig sind Aktionen, bei denen die DOS Applikation die Kontrolle �ber gewisse Hardwarekomponenten �bernehmen will. Typische Vertreter dieser Gattung von Programmen sind Utilities f�r die Festplatte, die direkt auf die File Allocation Table oder den Bootsektor der Festplatte zugreifen wollen und dergleichen mehr. Auch Virenprogramme sind in diese Gruppe einzuordnen.
Eine andere Grenze der durch L3DOS gebotenen Emulation liegt dort, wo Programme von DOS aus in den Protected Mode wechseln. Prominentester Vertreter ist Windows 3.x.
Um in einer Task mit DOS Programmen zu arbeiten, mu� in dieser Task zun�chst L3DOS initialisiert werden. Dieser Vorgang entspricht dem �Booten� eines normalen DOS Rechners. In jeder Task, in der L3DOS benutzt werden soll, kann L3DOS mit dem Kommando l3dos �gebootet� werden.
neue task\: (PRIVAT) �l3dos�
Es erscheint die Meldung:
L3DOS Version 1.40 gestartet...
Nach beendeter Initialisierung meldet sich L3DOS mit dem Prompt
L3DOS [C:\] DOS
Damit ist L3DOS in dieser Task initialisiert. Das von L3DOS als aktuelles Laufwerk angezeigte Laufwerk C: wird durch das Dateisystem der Task gebildet. Das Dateisystem der Task stellt also eine virtuelle Festplatte dar. Somit ist bei Installationsprogrammen die Option �auf Festplatte installieren� zu w�hlen. Die Gr��e dieser �Platte� ist aber durchaus ver�nderlich, da die einzig sinnvolle Angabe �ber freien Speicherplatz den freien Platz des gesamten L3 Systems liefert.
Der Wechsel zur�ck zur L3 Ebene erfolgt mit dem Kommando l3. Wenn DOS in einer Task initialisiert ist, erreichen Sie die DOS-Oberfl�che von der L3 Ebene aus mit dem Kommando dos.
Zwischen den Kommandomodi 'DOS-Modus' und 'ELAN-Modus' k�nnen Sie auch durch die Tastenkombination CNTL d (Wechsel zum DOS-Modus) und CNTL e (Wechsel zum ELAN-Modus) umschalten.
Die Eingabe von l3dos in der L3 Kommandoebene bewirkt ein erneutes �Booten� von L3DOS. Auch �ber den ber�hmten �Affengriff� STRG ALT und ENTF kann ein Neustart von L3DOS eingeleitet werden. Diese Tastenkombination ist bekanntlich der HotKey, der in das Verteilermen� des Terminals verzweigt. Wenn dort nun die HALT Option f�r die Task gew�hlt wird, in der L3DOS aktiv ist, so erscheint ein kleines Men�, in dem auch ein Neustart angeboten wird.
HALT from terminal (L)3, (C)ontrol-C, (R)eboot, (I)gnore, (D)ebug ?
Die Wahl der gew�nschten Reaktion auf das HALT erfolgt durch Eintippen des entsprechenden Anfangszeichens, andere Tasten, au�er HotKey, haben keine Wirkung.
Alternativ zum L3 eigenen COMMAND.COM k�nnen Sie auch eine Originaldatei "COMMAND.COM" der DOS Version 3.3 benutzen. Andere DOS Versionen sind nicht m�glich, da der Kommandoprozessor auf DOS Interna zugreift. Da L3DOS die DOS Version 3.3 nachbildet, f�hrt die Verwendung eines COMMAND.COM einer anderen Version zu Fehlern.
Um die Originaldatei "COMMAND.COM" im L3 System zu installieren, gibt es eine besondere Task gendos. Koppeln Sie dazu die Task "gendos" an Ihr Terminal an. W�hlen Sie dann Men�punkt e - Einlesen des COMMAND.COM f�r L3DOS und legen nach entsprechender Aufforderung eine DOS 3.3 Diskette, die COMMAND.COM enth�lt, in das Laufwerk A ein.
Diese Datei wird von der Diskette in Ihr L3 System kopiert und steht nun f�r jede Task zur Verf�gung. Selbstverst�ndlich mu� diese 'Urinstallation' nur einmal durchgef�hrt werden.
Um in einer beliebigen Task, in der noch nicht L3DOS gestartet worden ist, den Original- "COMMAND.COM" zu benutzen, geben Sie vor Start von L3DOS das Kommando
neue task\: (PRIVAT) l3command com (false)
Beim �booten� von L3DOS wird dann der zuvor in "gendos" geladene "COMMAND.COM" benutzt.
Bei jedem Neustart von L3DOS werden die Dateien CONFIG.SYS und AUTOEXEC.BAT aus der Task SYSIO geholt. Das unterbleibt, falls es in der Task bereits Dateien dieses Namens gibt. Es ist also m�glich, bei Verwendung besonderer Programme diese beiden Dateien passend zu erzeugen, um dann L3DOS damit 'zu booten'. Die Standarddateien in L3 haben folgenden Inhalt:
@ECHO OFF SET PROMPT=L3DOS [\$P] SET PATH=C:\; SET COMSPEC=C:\COMMAND.COM SET NOSNOWCONTROL=TRUE SET DOS=L3DOS DEL AUTOEXEC.BAT
FILES=100 BUFFERS=20
Es ist zum Beispiel bei Verwendung eines CD-ROM Laufwerks n�tig, in den beiden Dateien Angaben zum Treiber und weitere besondere Eintr�ge zu machen. In diesem Falle k�nnte die "AUTOEXEC.BAT" folgenden Inhalt aufweisen:
..... C:\CDROM\MSCDEX /D:MSCD000 /M:8 ...
und die "CONFIG.SYS":
FILES=100 BUFFERS=20 LASTDRIVE=G: DEVICE=C:\CDROM\CD555.SYS /D:MSCD000 /B:300 /M:8
Die tats�chlich ben�tigten Eintr�ge entnehmen Sie bitte dem Handbuch zum Laufwerk.
Die Eingabe von Kommandos unter L3DOS unterscheidet sich insofern von der Eingabe unter Original-DOS, als sie �ber die ELAN-Prozedur editget realisiert wurde, mit der ein Zeileneditor aufgerufen wird. An der aktuellen Cursorposition wird eine Zeile ausgegeben, f�r die alle Edierm�glichkeiten von L3 zur Verf�gung stehen (siehe dazu "Der L3 Editor"). Die Eingabe wird mit ENTER abgeschlossen.
Im Gegensatz zu Original-DOS werden mit der Taste keine Zeichen gel�scht, sondern nur der
Cursor nach links bewegt. Zum L�schen von Zeichen mu� die Taste ENTF verwendet werden.
Zur Vereinfachung der Eingabe kann das zuletzt edierte Kommando mit der Tastenfolge ESC k erneut angezeigt werden.
Der L3 eigene "COMMAND.COM" hat zudem eine History-Funktion. Mit bzw.
k�nnen zuvor eingegebe Kommandos wieder in die Kommandozeile geholt und dort auch
wiederum ediert werden.
Das Betriebssystem DOS selbst kennt interne und externe Kommandos.
Interne DOS-Kommandos sind alle Befehle, die im Kommandointerpreter COMMAND.COM realisiert sind. Diese internen Befehle stehen Ihnen nach der oben beschriebenen Initialisierung von DOS zur Verf�gung.
Externe DOS-Befehle sind alle Kommandos, die nicht von COMMAND.COM selbst ausgef�hrt werden, sondern als eigenst�ndige Programme in Form von "*.COM", "*.BAT" oder "*.EXE" Dateien vorliegen. Diese externen Befehle sind nach der Initialisierung von L3DOS noch nicht vorhanden, sie m�ssen ggf. von den entsprechenden DOS-Disketten in jede Task geladen werden, in der diese Befehle benutzt werden sollen. Denken Sie daran, wenn Sie eine neue Task einrichten! Um nicht jedesmal von einer Diskette laden zu m�ssen, ist es sinnvoll, eine Task einzurichten, die alle ben�tigten Programmdateien enth�lt. Aus ihr k�nnen die Dateien wesentlich schneller geholt werden (siehe dazu mail etc.).
Dar�ber hinaus k�nnen alle L3 Befehle verwendet werden. Dazu mu� der jeweiligen Kommandozeile die Zeichenfolge �l3 � (lies: 'EL"DREI"LEERTASTE') vorangestellt werden. Dies bewirkt, da� vor Ausf�hrung der Kommandos in den L3 Modus umgeschaltet und nach der Ausf�hrung automatisch wieder in den DOS-Modus zur�ckgeschaltet wird.
L3DOS [C:\] DOS: l3 xlist
Nat�rlich k�nnen dadurch auch DOS Batch-Dateien origin�re L3 Leistungen benutzen. Man kann z.B. eine Batchdatei DOSA.BAT mit L3 typischen Inhalten erzeugen:
L3DOS [C:\] ELAN: edit ("DOSA.BAT")
und darin formulieren:
...................... DOSA.BAT ....................... Zeile 5 dir l3 reserve(/"DOSA") call net use a: a: dir
Unter L3DOS kann diese Datei wie gewohnt durch Eingabe von DOSA gestartet werden. Wie der folgende Abschnitt zeigt, ist obige Datei manchesmal recht n�tzlich.
Wie bereits in vorhergehenden Abschnitten beschrieben, unterscheidet sich die Verwaltung von Archivlaufwerken unter L3 von der unter einem Einplatz-Betriebssystem wie DOS. Dies hat Auswirkungen auf die Behandlung von Laufwerken unter L3DOS.
Das Diskettenlaufwerk wird bei L3DOS als Server in einem Netzwerk betrachtet. Das L3 Tasksystem beinhaltet zwei Tasks namens DOSA und DOSB, die als �Diskettenserver� aufgefa�t werden k�nnen. Um in irgendeiner Task Zugriff auf das Diskettenlaufwerk zu haben, mu� es zun�chst reserviert werden. Mit den Kommandos:
L3DOS [C:\] DOS : net use a:
und, falls das Archiv zwischenzeitlich anderweitig benutzt wurde,
L3DOS [C:\] DOS : l3 reserve (/"DOSA")
reservieren Sie f�r Ihre Task die Managertask DOSA. Danach kann wie gewohnt auf Laufwerk A: gewechselt und damit gearbeitet werden:
L3DOS [A:\] DOS : setupFalls das Laufwerk nicht mehr ben�tigt wird, sollte es freigegeben werden:
L3DOS [C:\] DOS : l3 release (/"DOSA")Sollten ihnen diese Befehle zu sperrig sein, denken Sie an die Batchdatei aus dem vorigen Abschnitt oder eine Variation dieser Datei ganz nach Ihrem Geschmack.
Die Zuordnung der Laufwerknamen zu Tasks orientiert sich an DOS:
Auch f�r die zul�ssigen DOS Printer PRN, LPT1, LPT2, LPT3, LPT4 kann eine Zuordnung zu einer Druckertask des Systems vorgenommen werden. Die Assoziierung von Druckertask und DOS Ger�t erfolgt durch die Prozedur assign l3 dos printer. Die Voreinstellung f�r alle DOS Printer ist die Task PRINTER. Falls weitere oder andere Druckertasks im System existieren k�nnen Ausgaben von DOS Programmen dahin gelenkt werden:
L3DOS [C:\] DOS : l3 assign l3 dos printer ("LPT2", /"LASERPR")
Die eingestellte Druckertask f�r ein DOS Ger�t kann dementsprechend abgefragt werden:
L3DOS [C:\] DOS : l3 put (name (l3 dos printer ("LPT1")))
Einige DOS Programme zeigen einen Effekt des 'verz�gerten Drucks'. Der Druckvorgang startet nicht nach Aufruf, sondern erst wenn die nachfolgende Datei gedruckt werden soll oder beim Wechsel in den L3 Modus. Man kann f�r solche Programme den Ausdruck der aktuellen Druckdatei durch Dr�cken der Tastenkombination SHIFT STRG und DRUCK erzwingen. Bei Bet�tigen dieser Kombination werden die internen Druckpuffer sofort zur Druckertask geschickt.
Grunds�tzlich besteht in einem Multitasking Betriebssystem die M�glichkeit, da� Programme �im Hintergrund� laufen. Damit ist gemeint, da� ein Programm abl�uft, ohne Eingaben von der Tastatur zu erwarten und ohne Ausgaben auf dem Bildschirm zu machen. Grunds�tzlich sind DOS Programme ungeeignet f�r den Hintergrundbetrieb, da sie st�ndig Tastaturabfragen durchf�hren und auch vernachl�ssigbare Ausgaben nicht abschaltbar sind. L3 beinhaltet jedoch die M�glichkeit, in einer Task generell die Situation �Bildschirm vorhanden, keine Taste gedr�ckt� herzustellen. Damit laufen Programme, die etwa eine Sortierung durchf�hren und dabei nur einen Z�hler ausgeben, auch dann weiter, wenn sie mittels HotKey Taste vom Terminal abgekoppelt werden.
Die Einstellung, ob Programme auch im Hintergrund weiterlaufen sollen, wird durch die Prozedur terminal necessary vorgenommen. Die Prozedur stellt f�r die Task ein, ob Ein-/Ausgaben zwingend Tastatur und Bildschirm erfordern (terminal necessary (TRUE)) oder ob Tastatur und Bildschirm dem Programm vorgegaukelt (virtualisiert) werden d�rfen (terminal necessary (FALSE)). Die Voreinstellung in einer neuen Task ist terminal necessary (TRUE): Programme, die ausgeben, bleiben stehen, wenn kein Bildschirm da ist, ebenso bleiben Programme stehen, wenn sie eine Tastaturabfrage machen und keine Tastatur zugeordnet ist.
Die Einstellung bleibt solange bestehen, bis eine neue Einstellung angegeben wird. Sie kann nat�rlich mit der bekannten Methode auch im DOS Modus vorgenommen werden:
L3DOS [C:\] DOS : l3 terminal necessary (FALSE)
ACHTUNG: DOS Programme, die im Hintergrund weiterlaufen, stellen in der Regel eine hohe Systembelastung dar. Sie neigen dazu, auch ohne sinnvolle Arbeit volle Prozessorleistung zu verbrauchen, da beispielsweise nach Abschlu� einer Berechnung in einer Endlosschleife die n�chste Benutzereingabe erwartet wird.
Es ist nicht empfehlenswert, h�ufig die Einstellung terminal necessary (FALSE) zu w�hlen. Sie sollte nur f�r besondere, ausgew�hlte Programme benutzt werden.
Die zu gro�z�gige Benutzung ist ein sicherer Weg zu Performanceproblemen des gesamten L3 Systems. Ein mit 25 Mhz getakteter Rechner, auf dem 4 Programme im Hintergrund unn�tig arbeiten, f�hrt das f�nfte Programm im Vordergrund wie ein 5 Mhz Rechner aus!
Auch ohne zwanglose Verwendung der terminal necessary Einstellung f�hren DOS Programme gerne zu Durchsatzproblemen. Ein DOS Programm, das beim Testen gutes Zeit- und Reaktionsverhalten gezeigt hat, legt den Rechner praktisch lahm, wenn es an vier oder f�nf Terminals gestartet wurde. Der Grund daf�r liegt in Interna typischer DOS Programme. Eine beliebte Strategie der Tastaturbehandlung von DOS Programmen ist z.B. ein kleine Schleife zur Abfrage der gerade gedr�ckten Taste. Diese Schleife liefert normalerweise 'keine Taste gedr�ckt'. Solch sinnlose Raserei wird als 'Idle-Running' bezeichnet. W�hrend dieses Verhalten unter 'echtem DOS' problemlos ist, bedeutet es f�r ein Multitasking-System eine garstige Belastung. Ein kurioser Effekt ist der, da� ein rasend schneller Schreiber bei einem solchen Programm den Rechner unter L3DOS deutlich entlastet, da er eine Menge sinnvoller Arbeit erzeugt, w�hrend der die Rechenzeit fressende Frageschleife nicht den Prozessor qu�lt.
Zur Entsch�rfung derartiger Programme h�lt L3 Gegenma�nahmen in Form des 'Idle Replacements' bereit. In der Task "SYSIO" gibt es die Datei "init irms", die f�r eine Reihe g�ngiger Programme Strategien bereith�lt, um aus Rechenzeitfressern sinnvoll integrierbare Software zu machen.
Die Z�hmung eines Programms erfolgt dadurch, da� in der Task die Datei "init irms" mit einer �Entidelungsstrategie� f�r das Programm ausgef�hrt wird.
L3DOS [C:\] DOS : l3 run ("init irms")Weitere Hinweise zur Behandlung von Idle Situationen gibt das L3 Referenzhandbuch.
L3DOS bietet die M�glichkeit, da� Tasks ihr gesamtes Dateisystem oder ausgew�hlte Verzeichnisse anderen Tasks als virtuelles Laufwerk zur Verf�gung stellen. Eine Task, die als �Fileserver� dienen soll, wird zun�chst wie gewohnt erzeugt. Zu beachten ist lediglich, da� der Name dieser Task ausschlie�lich aus Gro�buchstaben besteht (also z.B. "SERVER"). Nach der Initialisierung von L3DOS (Kommando: l3dos) und Installation der gew�nschten Programme wird dann zun�chst mit dem Kommando net share ein Verzeichnis oder auch das komplette Dateisystem der Task �netzweit� unter einem frei w�hlbaren Namen zur Verf�gung gestellt:
L3DOS [C:\] DOS : net share DISCC=C:\Anschlie�end wird die Task dann durch das Kommando:
L3DOS [C:\] DOS : net srvzu einer Servertask gemacht. Solange diese Servertask nicht an ein Terminal gekoppelt ist, k�nnen andere Tasks auf ihre Dateien zugreifen. Falls die Servertask an ein Terminal gekoppelt ist, sind keine Zugriffe auf die Dateien des Servers m�glich: Sobald die Task wieder mit dem L3 Kommando unlink oder dem L3DOS Kommando net srv ordnungsgem�� abgekoppelt wird, kann sie wieder als Server agieren.
Jede andere Task kann unter L3DOS durch ein entsprechendes net use Kommando �ber ein virtuelles Laufwerk auf Dateien der Servertask zugreifen:
L3DOS [C:\] DOS : net use e: \\SERVER\DISCCDie Syntax des 'net use' Kommandos entspricht der der �blichen DOS Netzwerkprogramme: in der Task wird ein Laufwerkname mit dem Namen der Servertask und dem im Server vereinbarten Kurznamen assoziiert. Hinter dem Laufwerknamen mu� ein Leerzeichen stehen, vor dem Servernamen m�ssen zwei �Backslashes� ("\"), vor dem Kurznamen einer stehen.
Zu beachten: Zur Verwaltung dieses virtuellen Netzwerks dient die Datei NET.BAT. Sie mu� sich ebenso wie L3.COM im aktuellen Suchpfad befinden.
Im weiteren soll die Benutzung eines typischen �DOS Programmpakets� skizziert werden:
Die integrierte, objektorientierte Programmierumgebung �TURBO OOP� wird auf wenigen Disketten ausgeliefert, deren erste ein �bersichtliches Programm �install� enth�lt.
Zun�chst richten Sie aus dem Systemmen� heraus eine neue Task namens "OOP" unter PUBLIC ein und starten in dieser Task L3DOS:
OOP\: (PRIVAT) l3dos
Reservieren Sie anschlie�end das Diskettenlaufwerk. Die explizite Reservierung von DOSA ist m�glicherweise unn�tig, aber nie falsch.
L3DOS [C:\] DOS : l3 reserve (/"DOSA") L3DOS [C:\] DOS : net use a:
Nun k�nnen Sie die erste Diskette von �TURBO OOP� einlegen und nach Umschalten auf Laufwerk A: das Installationsprogramm starten:
L3DOS [C:\] DOS : A: L3DOS [A:\] DOS : install
Im Installationsprogramm w�hlen Sie die Option 'auf Festplatte installieren'. Ob Sie auch das voreingestellte Verzeichnis f�r die Installation best�tigen, ist Geschmackssache. Da in der Task wahrscheinlich nur �TURBO OOP� installiert wird und andere Programme in anderen Tasks untergebracht werden, spricht nichts gegen die Einstellung C:\.
Zum Abschlu� der Installation schl�gt das Installationsprogramm zu �TURBO OOP� schlie�lich vor, die Anzahl der FILES und BUFFERS zu erh�hen. Sie k�nnen diesen Antrag ignorieren und m�ssen dementsprechend auch keinen Warmstart durchf�hren. Stattdessen k�nnen Sie auf Laufwerk C: wechseln und direkt in die Wunderwelt der objektorientierten Programmierung treten:
L3DOS [C:\] DOS : oop
Da Sie inzwischen begeisterter Leser der L3 Handb�cher sind, ignorieren Sie zun�chst die ebenso lesenswerten Handb�cher von �TURBO OOP�. Dementsprechend gelingt es ihnen in kurzer Zeit ein OOP Programm zu schreiben, dessen Kompilation fast 27 Minuten dauert. Als gewissenhafter Programmierer beschlie�en Sie, weitere Kompilationen ihres Programms ab sofort im Hintergrund �bersetzen zu lassen, um w�hrenddessen das neue Programm zu dokumentieren. Sie wechseln auf Betriebssystemebene und geben dort ein:
L3DOS [C:\] DOS : l3 terminal necessary (FALSE)
Ab sofort k�nnen sie nach dem Starten einer �bersetzung durch die HotKey Tasten in das Systemmen� kommen, ohne da� die �bersetzung stoppt. Der Bedarf an Realzeit einer solchen Anwendung im Hintergrund ist etwas h�her, da Tasks, die viel Rechenzeit verbrauchen, ohne an ein Terminal gekoppelt zu sein, vom L3 Systemkern in ihrer Priorit�t herabgestuft werden.
Nachdem Sie die Mu�e gefunden haben, auch das �TURBO OOP� Handbuch zu lesen, verstehen Sie nach einigen geringf�gigen Umgliederungen und Retuschen in ihrem ersten objektorientierten Programm die Bedeutung des Wortes Turbo... Die �bersetzung ist nun so schnell, da� es nicht mehr gelingen will, die HotKeys rechtzeitig zu dr�cken. Schalten Sie die Einstellung der Task wieder in den Normalmodus um:
L3DOS [C:\] DOS : l3 terminal necessary (TRUE)
Auch in diesem Zustand ist es in jeder Situation m�glich durch ALT S-Abf �ber das Systemmen� in eine andere Task zu wechseln. Das Programm bleibt dann im augenblicklichen Zustand �eingefroren�.
Auf diese Weise ist es also m�glich in mehreren Tasks verschiedene Programme zu starten und �ber das Systemmen� direkt, durch einfaches Ankoppeln der entsprechenden Task, in das Programm zu gelangen.
Die Installation von netzwerkf�higen Programmen (z.B. Datenbanken) entspricht zun�chst vollkommen dem oben beschriebenen Weg. Zu bedenken ist lediglich, da� der Taskname der sp�teren Servertask ausschlie�lich aus Gro�buchstaben bestehen darf (z.B. "DBSRV"). Richten Sie also zun�chst eine Task ein, die als �Server� dienen soll und installieren Sie das Programm wie im zugeh�rigen Handbuch beschrieben. Nach Abschlu� der Installation mu� dann das Dateisystem der Task (oder ein Teil desselben) anderen Tasks mit dem net share Kommando zur Verf�gung gestellt werden:
L3DOS [C:\] DOS : net share dbfiles=c:\
Damit ist das gesamte Dateisystem der Task "DBSRV" unter dem Namen "dbfiles" zur Verf�gung gestellt. Andere Tasks k�nnen jedoch nur dann zugreifen, wenn die Servertask im Hintergrund l�uft:
L3DOS [C:\] DOS : net srv
Tasks, die auf den Server "DBSRV" Zugriff haben sollen, erhalten �ber ein logisches Laufwerk Zugriff auf das Dateisystem dieses Servers:
L3DOS [C:\] DOS : net use d: \\dbsrv\dbfiles
Nach Wechsel auf Laufwerk D: kann dann ein auf dem Server installiertes Programm "DB.EXE" wie gewohnt benutzt werden:
L3DOS [D:\] DOS : db
Programme, die Aktionen durchf�hren wollen, die L3DOS nicht unterst�tzt oder duldet, haben Fehler zu Folge. Das Auftreten eines Fehlers ist in folgenden Auspr�gungen sichtbar:
L3DOS error: "Fehlermeldung"
Eine solche Fehlermeldung besagt, da� die vom Programm geforderte Leistung nicht von L3DOS gebracht werden kann, die Situation aber von L3DOS kontrolliert wird. Es besteht keine Gefahr eines Datenverlustes.
Wenn der tasklokale L3 Debugger esd ins Spiel kommt
+ ESD - V1.9 ------------------------------CC / INT 3 -------------+ | | | Excepted within PACKET dos | | | | at LINE 8120 | | | | | | | +-F1:Dump-F2:Disass--F3:Regs-F5:View--F6:File--F7:Config--F8:Quit-?+ AX : 004b BX : 0000 CX : 0000 DX : 0000 DI : 0000 SI : 0600 BP : ed9c DS : 001f ES : 0000 IP : 0e93 CS : f800 SP : 02de SS : 0985 FL : 0202
ist eine Fehlersituation der n�chst schlimmeren Art aufgetreten. Sie manifestiert sich stets durch flei�ige Ausgabe von Registerinhalten und Speicherausz�gen. L3DOS hat die Situation nicht mehr unter Kontrolle. Die Dateien lassen sich aus der Task retten, indem sie durch Dr�cken von F10 wieder auf L3 Kommandoebene gelangen. Von dort k�nnen Sie alle oder einige Dateien mit der POST (siehe mail Kommando) in eine andere Task schicken:
TEST 1\: (ESD on level 1) mail (some, "TEST 2")
Die gr�bste Fehlersituation tritt auf, falls ein Fehler vom Prozessor selbst behandelt wird:
---------------------------------------------------00012345=EIP "kernels_user_fault" L3KD:
Diese Ausgabe besagt, da� der L3 Systemkern die Task nicht mehr 'im Griff' hat. In diesem Falle bleibt nur noch der Versuch mit der Eingabe g das System zum Weiterlaufen zu bewegen. Zus�tzlich sollte Sie versuchen mit dem HotKey auf die Ebene des L3 Systemmen�s zu gelangen. Die betroffene Task kann nur noch von einer dazu privilegierten Task (Vatertask oder Task OPERATOR) gel�scht werden. Das Auftreten eines solch groben Fehlers ist aber nur bei eklatantesten Verst��en gegen die �INTEL Regeln� zu bef�rchten, etwa wenn eine Applikation selbst in den Protected Mode wechseln will, in dem ausschlie�lich der Systemkern laufen darf.