diff --git a/WEGA/contrib/wdos/doc/wdoskap2 b/WEGA/contrib/wdos/doc/wdoskap2 new file mode 100644 index 0000000..3d2d3b7 --- /dev/null +++ b/WEGA/contrib/wdos/doc/wdoskap2 @@ -0,0 +1,308 @@ +.ds RH "DCP-Ueberblick +.bp +.NH +Ueberblick zum Betriebssystem DCP +.LP +Der Kern des Betriebssystems DCP umfasst folgende Komponenten: +.DS L +ROM-BIOS physische Geraetetreiber, Eigentest, Boot +BIO.COM logische Geraetetreiber +DOS.COM logisches E/A-System +COMMAND.COM Kommandointerpreter +.DE +Fuer den Anwender sind vor allem die DOS-Funktionen bedeutsam. Diese +Funktionen werden durch das logische E/A-System und die logischen +Geraetetreiber realisiert und stellen gegenueber den ROM-BIOS-Funktionen +eine hoehere Schnittstelle dar. Die logischen Geraetetreiber rufen +ihrerseits die Routinen des ROM-BIOS. Man unterscheidet CP/M-(SCP-) und +UNIX-(WEGA/MUTOS-) kompatible Systemrufe. Somit findet der Anwender, der bisher +eines dieser Systeme oder ein dazu kompatibles Betriebssystem, wie zum +Beispiel SCP oder WEGA nutzte, sofort eine bekannte Schnittstelle vor. +Aufgabe des Kommandosystems ist es, die Kommunikation zwischen Bediener und +Betriebssystem zu realisieren. Wesentliches Merkmal des Betriebssystems ist +seine Flexibilitaet, das heisst die leichte Anpassung an bestimmte +Bedingungen. Ein wesentliches Kennzeichen dafuer ist, dass weitere Treiber +fuer eine erweiterte Peripherie eingebracht werden koennen. Diese Treiber +koennen auch vom Anwender geschrieben werden. Sie werden als Programm +geladen und koennen als resident erklaert werden, so dass sie im Speicher +verbleiben und fuer folgende Programme verfuegbar sind. +.LP +.NH 2 +Kodes +.LP +Fuer die Darstellung von Zeichen wird der "Erweiterte KDI-7-Kode" verwendet. +Dieser Kode benutzt alle 8 Bit, so dass 256 Zeichen dargestellt werden +koennen. Das sind die lateinischen Buchstaben, Ziffern und Sonderzeichen. +.LP +Die Erweiterungen betreffen folgende Zeichengruppen: +.IP - +Grafiksymbole (Striche, Doppelstriche, Ecken, ausgefuellte +Positionen u.a.). Diese Grafiksymbole erlauben bereits eine +ansprechende grafische Arbeit (z.B. Blockschaltbilder). +.IP - +Sonderzeichen einiger europaeischer Sprachen. In der deutschen +Sprache sind dies die Umlaute und sz +.IP - +griechisches Alphabet +.IP - +mathematische Symbole +.IP - +sonstige Symbole +.LP +.NH 2 +Dateisysteme +.LP +Der Bereich der Datenspeicherung eines Datentraegers wird in gleich grosse +Bereiche, genannt Cluster, die einen oder mehrere Sektoren umfassen, +eingeteilt. Die Zuordnung der Cluster zu den Dateien wird in einer +Dateizuordnungstabelle, genannt FAT (file allocation table), vorgenommen. +Aus dieser Tabelle sind auch die unbelegten Cluster und damit die freie +Kapazitaet eines Datentraegers erkennbar. Wird eine Datei geloescht, werden +die von ihr belegten Cluster wieder freigegeben. Beim Anlegen und Erweitern +einer Datei werden freie Cluster aus der Dateizuordnungstabelle ermittelt und +der Datei zugeordnet. Jeder Datentraeger verfuegt ueber ein +Stammverzeichnis. Das Stammverzeichnis einer Diskette kann bis zu 112 +Eintraege aufnehmen, das Stammverzeichnis einer Festplatte bis zu 512 +Eintraege. Jeder Eintrag kann eine Datei oder ein Unterverzeichnis +beschreiben. Ein Eintrag ist 32 Byte lang und enthaelt die Datei bzw. +Unterverzeichnisbezeichnung, die Dateigroesse in Byte und weitere Angaben. +In einem Unterverzeichnis koennen Eintragungen weiterer Verzeichnisse +stehen. Die Tiefe der sich so ergebenden Baumstruktur ist nicht begrenzt. +Unterverzeichnisse koennen beliebig viele Eintragungen aufnehmen. Sie werden +wie Dateien verwaltet, denen zur Aufnahme weiterer Eintragungen Sektoren auf +der Diskette zugewiesen werden. Das Aufteilen der Dateien in Gruppen +verringert die Suchzeit nach Verzeichniseintragungen und verbessert die +Uebersichtlichkeit. Soll der Zugriff auf eine Datei realisiert werden, muss +der Pfadname der Datei angegeben werden. Dieser Pfadname ist ausgehend vom +Stammverzeichnis eine Folge von Verzeichnisnamen, die durch Backslash +(\\) getrennt werden und mit dem Dateinamen enden. Lautet der +Pfadname z.B.: + +c:\\verzeichnis1\\verzeichnis2\\datei + +so beginnt die Suche im Stammverzeichnis des Laufwerkes C nach +"verzeichnis1", sucht dort nach "verzeichnis2" und schliesslich in diesem +"datei". Das erste Backslash steht fuer das Stammverzeichnis +(vollstaendiger Pfadname). Innerhalb eines Laufwerkes ist ein Verzeichnis +das aktuelle Verzeichnis. Nach dem Systemstart ist das erste das +Stammverzeichnis. Der Wechsel des aktuellen Verzeichnisses kann mit +einer DOS-Funktion oder dem Kommando CD vorgenommen werden. +Der Pfadname kann auch vom +aktuellen Verzeichnis aus angegeben werden. In diesem Fall beginnt der +Pfadname nicht mit einem Backslash (unvollstaendiger Pfadname). +Waere das aktuelle Verzeichnis im vorangenannten Beispiel "verzeichnis1", +darf zum Zugriff auf "datei" nur + +verzeichnis2\\datei + +angegeben werden. Um die Eingabe ausfuehrbarer Programme zu vereinfachen, +gibt es die Moeglichkeit, Suchpfade zu definieren, in denen nach dem +ausfuehrbaren Programm gesucht wird. Diese Suchpfade werden ueber das +Kommando "PATH" festgelegt. Damit man dieses Kommando nicht nach jedem +Systemanlauf neu eingeben muss, kann es in die AUTOEXEC.BAT geschrieben +werden. Diese Stapeldatei wird automatisch bei jedem Systemanlauf +abgearbeitet. +.LP +.NH 2 +Systemanlauf +.LP +Vom ROM-BIOS wird der Bootrecord gelesen. Der Bootrecord ist der +erste Satz einer Diskette oder Festplatte. Das Lesen des Systems kann von +der Diskette oder der Festplatte erfolgen. Das im Bootrecord enthaltene +Programm liest die Datei der logischen Geraetetreiber (BIOS.COM). Von diesem +Programm wird u.a. eine Datei (CONFIG.SYS) gelesen. Diese Datei ist +wesentlich fuer die Grundeinstellung verschiedener Betriebssystemoptionen. +Dazu gehoeren: +.IP - +die Auswahl der landesspezifischen Darstellung des Datums, +der Uhrzeit und der Waehrung +.IP - +das Einstellen der Pufferanzahl fuer Ein- und Ausgabeoperationen +.IP - +die Anzahl der gleichzeitig eroeffneten Dateien +.IP - +die Angabe der Dateibezeichnung eines Kommandointerpeters +.IP - +der Dateiname von Treibern, die mit in das System eingebunden werden sollen. +.LP +Danach wird das logische E/A-System (DOS.COM) geladen. Zuletzt ruft das +System den Kommandoinerpreter, in der Regel COMMAND.COM auf. Der +Kommandointerpreter sucht zunaechst eine Datei AUTOEXEC.BAT. Das ist eine +Kommandodatei, in der der Anwender alle Kommandos eintraegt, von denen er +wuenscht, dass sie bei Arbeitsbeginn des Kommandointerpreters abgearbeitet +werden. So ist es z. B. sinnvoll, das Kommando zur Eingabe von Uhrzeit und +Datum generell in diese Datei aufzunehmen. Auch Treiber koennen in der +AUTOEXEC.BAT eingetragen werden. Jedoch muessen sich diese dann als +resident erklaeren, damit sie nicht durch nachfolgende Kommandoaufrufe +ueberschrieben werden. +.LP +.NH 2 +Schnittstelle zum ROM-BIOS +.LP +Die Routinen des ROM-BIOS werden durch Softwareinterrupts aufgerufen. +Von Applikationen wird +vor allem die Bildschirmschnittstelle unmittelbar genutzt. +.LP +.NH 2 +Schnittstelle zu DOS.COM +.LP +Es sind ca. 100 DOS-Funktionen verfuegbar. Diese werden in CP/M-kompatible +und UNIX-kompatible DOS-Funktionen eingeteilt. Fuer Neuentwicklungen wird +die Verwendung der UNIX-kompatiblen DOS-Funktionen empfohlen. Realisiert +wird ein Systemruf ueber den Softwareinterrupt 21H (spezieller +Unterprogrammaufruf). Funktionskode und sonstige Parameter werden in den +CPU-Registern uebergeben. +Die DOS-Funktionen lassen sich in fuenf Gruppen einteilen: +.DS L +- Ein- und Ausgabe von Zeichen bzw. Zeichenketten nach oder + von der Standard-Ein-/Ausgabe +- Dateiverwaltung und Handhabung der Dateiverzeichnisse +- Programmverwaltung +- Speicherverwaltung +- systemspezifische Funktionen. +.DE +Bei UNIX-kompatiblen Systemrufen wird jede Datenein- und ausgabe als ein +Strom von Bytes aufgefasst. Ein solcher Datenstrom wird als Haendler +bezeichnet. Er kann von oder zu einem Geraet +oder einer Datei gerichtet sein. Die Geraete +verfuegen dazu ueber festgelegte Namen, die sonst nicht verwendet werden +duerfen. Die prinzipielle Gleichbehandlung von Geraeten und Dateien bedingt, +dass die Dateien ueber kein spezielles Format verfuegen. Die Haendler +koennen eroeffnet, geschlossen, gelesen und geschrieben werden. Beim +Eroeffnen wird dem Haendler eine Nummer zugewiesen, die fuer weitere +Zugriffe verwendet wird. Ein spezieller Systemruf realisiert das Laden und +Ausfuehren eines Programms. Das rufende Programm wartet auf das Beenden des +gerufenen Programms. +.LP +.NH 2 +Kommandoprozessor +.LP +Die Kommunikation der Nutzer mit dem Betriebssystem DCP erfolgt ueber +den Kommandoprozessor COMMAND.COM. Er realisiert eine Nutzerschnittstelle +zur interaktiven Arbeit und bietet vielfaeltige Moeglichkeiten, dem Nutzer +die Arbeit mit dem Betriebssystem zu erleichtern. Dazu gehoeren u.a.: +.DS L +- Sprachelemente zur Programmablaufsteuerung +- Arbeit mit Variablen mit Parameteruebergabe +- globale Dateinamenzeichen +- Umleiten der E/A-Richtungen +- Dateiuebergabe zwischen Programmen +- Suchen ausfuehrbarer Dateien entlang dem definierbaren + Pfad +.DE +Man unterscheidet zwei Kommandoarten: +.DS L +- interne Kommandos +- externe Kommandos. +.DE +Die Routinen der internen Kommandos sind Bestandteil von COMMAND.COM. Sie +werdenn beim Aufruf sofort ausgefuehrt. Externe Kommandos befinden sich als +Programmdateien auf Diskette bzw. Festplatte. +.LP +Einige der internen Kommandos realisieren die Arbeit mit Diskette bzw. +Festplatte. Dazu gehoeren folgende Funktionen: +.DS L +- Kopieren von Dateien und Datentraegern +- Aendern des aktuellen Verzeichnisses +- Auslisten des Verzeichnisses +- Loeschen von Dateien +- Umbenennen von Dateien +- Definieren von Suchpfaden ausfuehrbarer Dateien +.DE +Funktionen allgemeiner Art, die von internen Kommandoss ausgefuehrt werden, +sind: +.DS L +- Loeschen des Bildschirms +- Anzeige bzw. Eingabe von Datum und Uhrzeit +- Aendern des Bereitschaftszeichens des Kommandosystems +- Anzeige von Dateien +- Aendern der Standardein- bzw. -ausgabe. +.DE +Die dritte Gruppe der internen Kommandos dient der Arbeit mit +Stapelverarbeitungsdateien: +.IP - 2 +Ein- bzw. Ausschalten der Anzeige von Kommandozeilen +.IP - +Sequentielles Setzen einer Variablen auf jedes Element eines Satzes +und Ausfuehren einer Kommandozeile (FOR-SCHLEIFE) +.IP - +Verwendung an einer anderen Stelle in der Stapelverarbeitungsdatei +.IP - +Ausfuehren einer Kommandozeile abhaengig von einer Bedingung +(IF-Kommando) +.IP - +Unterbrechen der Abarbeitung der Stapelverarbeitungsdatei und +Anzeige einer Nachricht, bis durch den Bediener eine Taste betaetigt wird. +.LP +Die Parameter der Kommandozeile der Stapelverarbeitungsdatei sind als +Variable mit festgelegten Namen aufrufbar. Der Kommandoprozessor +unterstuetzt sowohl die interaktive Arbeit, d.h. die Eingabe einzelner +Kommmandozeilen ueber Tastatur, als auch das Abarbeiten von +Stapelverarbeitungsdateien. Das sind Dateien, die einzelne Kommandos +enthalten. Bei der interaktiven Arbeit wird die letzte Kommandozeile +gespeichert. Ueber bestimmte Funktionstasten kann die Zeile wieder +aufgerufen werden. Der Kommandoprozessor laedt das ausfuehrbare Programm in +den naechsten freien Speicherbereich. Die ersten 128 Bytes werden durch ein +Programmsegmentpraefix belegt. Dieser enthaelt die Parameter des Aufrufs, +den Dateisteuerblock, die Segmentadresse der Umgebung und weitere Angaben. +Unterschieden werden zwei Arten ausfuehrbarer Dateien: +.DS L + .COM-Dateien + .EXE-Dateien +.DE +Die .EXE-Dateien unterliegen keinen Einschraenkungen. Sie koennen sich ueber +mehrere Segmente erstrecken. Mit dem Dienstprogramm EXE2BIN +koennen .EXE-Dateienin .COM-Dateien umgewandelt werden, +wenn nur ein Segment belegt +wird. Dieser Weg wird empfohlen, da die Ladezeit der .COM-Dateien kuerzer +ist. +.LP +.NH 2 +Umleiten der Ein-/Ausgabe +.LP +Jedes Programm, dessen Ausfuehrung begonnen wird, verfuegt ueber fuenf +geoeffnete Haendler. Dies sind: +.DS L +- Standardeingabe +- Standardausgabe +- Standardfehlerausgabe +- Standardhilfsein- und ausgabe +- Standarddruckerausgabe. +.DE +Ueber die Haendler kann das Programm Daten aufnehmen und aussenden. +Normalerweise ist die Standardeingabe mit der Tastatur und die +Standardausgabe mit dem Bildschirm verbunden. Um die Ein- oder Ausgaben von +einer anderen Einheit zu erhalten oder zu einer anderen Einheit zu senden, +koennen mit dem Umleitungszeichen '<' bzw. '>' eine andere Einheit oder +Datei fuer die Dauer der Programmabarbeitung zugewiesen werden. Durch den +Programmaufruf: + +beispiel prn + +"prn" ist dabei der symbolische Name des Druckers. +.LP +.NH 2 +Datenuebergabe +.LP +Das Betriebssystem liefert ueber den Pipe-Mechanismus eine Moeglichkeit, in +einfacher Weise Dienstprogramme untereinander oder mit Nutzerprogrammen zu +verknuepfen. Dabei wird die Standardausgabe eines Programmes mit der +Standardeingabe eines anderen Programmes verbunden, d.h. die Ausgaben eines +Programmes werden als Eingaben eines anderen Programmes genutzt. Auf diese +Weise koennen mehrere Programme miteinander verknuepft werden. Der Operator +zum Verknuepfen der Programme ist das Zeichen "|". Beispiel fuer eine +Datenuebergabe ist die Kommandozeile: + +dir|sort>dirlist + +Dabei wird das nach Standardausgabe gerichtete Auflisten des Verzeichnisses +durch das Programm "sort" als Eingabe benutzt und die sortierte Ausgabe zur +Datei "dirlist" umgelenkt. +.LP