Einführung in Betriebssysteme


von Prof. Jürgen Plate

Kleiner DOS-Kurs

In Zeiten, in denen Betriebssysteme wie Windows mit ihrer grafischen Benutzeroberfläche, den Markt dominieren, vergisst man allzu leicht den Urvater aller MS Betriebssysteme: DOS.
Auch wenn man mittlerweile recht wenig mit diesem Betriebssystem in Kontakt kommt, ist es doch sehr sinnvoll, sowohl für Neueinsteiger als auch für erfahrene User, ihr Grundwissen über DOS aufzufrischen. Diese Kenntnisse könnten insbesondere bei einem Crash nützlich sein, wenn Windows z.B. nicht mehr startet oder bei ANwendungen, die noch unter DOS laufen müssen (etwa die Ansteuerung von Weßwerterfassungssystemen oder ältere Automatisierungssysteme). Dieser Kurs soll Ihnen die Grundzüge und Bedienung von DOS näher bringen.

Übersicht

DOS hat eine textbasierte Bedienoberfläche. Nach dem Start erwartet einen die DOS-Eingabeaufforderung:
C:\>
Der Buchstabe gibt dabei den Namen des aktuellen Laufwerks an. Es herrscht ferner das alte Format für Dateinamen. Sie können nur 8 Buchstaben lang sein und die Dateiendung nur 3 Buchstaben. Als Eingabegerät dient die Tastatur.

Die Tastatur

Über die Tastatur erfolgt die Eingabe von Kommandos auf DOS-Ebene und die Kommunikation mit den Programmen. Neben der Schreibmaschinentastatur gibt es noch eine Reihe von Sonder- und Steuertasten:

Strg (Ctrl) Eröffnet analog der Shift-Taste einen Bereich mit zusätzlichen Tastencodes.
Esc In Programmen oft verwendetes Zeichen zum Abbrechen einer Funktion - daher eigene Taste.
Alt Ähnlich wie bei "Strg" zusätzliche Funktionen. Am wichtigsten ist die Möglichkeit, mit gedrückter Alt-Taste auf dem Ziffernblock den Code eines Zeichens direkt eingeben zu können.
Einfg,Entf Umschalten des Eingabemodus bei der Textverarbeitung, Löschen von Zeichen
Druck Mit Shift-Druck kann man jederzeit eine Kopie des Bildschirms auf dem Drucker erzeugen.
Strg-Untbr Abbruch einer Programmfunktion oder eines Programms.
Strg-P Einschalten des Druckers parallel zur Bildschirmausgabe. Abschalten durch nochmaliges Drücken der Tastenkombination.
Pause Anhalten der Bildschirmausgabe (weiter durch bel. Taste) - auch durch Strg-S erreichbar.
Strg-Alt-Entf Neustart des Rechners

Daneben gibt es noch eine Reihe von Tasten zur Steuerung des Cursors und Funktionstasten, die je nach Programm unterschied- liche Aufgaben erfüllen.

Auf den deutschen Tastaturen haben einige Tasten eine teilweise abweichende Bezeichnung:

     amerikanisch        deutsch

          Ctrl           Strg
          Home           Pos 1
          End            End
          PgUp           Bild auf
          PgDn           Bild ab
          Ins            Einfg
          Del            Lösch, Entf
          Esc            Eing Löschen, ESC
          Break          Abbr, Pause, Untbr
          PrtSc          Druck
          RETURN         Enter, Return

Kommandoeingabe

Ein Kommando ist der Aufruf eines Programms (externes Kommando) oder eines internen DOS-Befehls (enthalten im Kommandointerpreter COMMAND.COM).Einige dieser Kommandos werden weiter unten besprochen. Bei der Eingabe von Kommandos spielt die Groß/Kleinschreibung keine Rolle. Die Syntax eines Kommandos ist bei allen Kommandos gleich:
<Kommandoname> <Parameter> <Parameter> ...
Die Parameter können entweder Dateinamen oder "Schalter" sein. Sie werden durch Leerzeichen voneinander getrennt.Beispiel:
      COPY A:DATEI B:DATEI /V
               |       |    |
              Dateinamen    Schalter
Bei vielen Kommandos können mehrere Dateien gleichzeitig bearbei- tet werden. Dazu können sogenannte Jokerzeichen (Wildcards) im Dateinamen aufgeführt werden:

*      steht für für beliebige weitere Zeichen im Dateinamen
?      steht für ein beliebiges Zeichen im Dateinamen

DATEI? deckt sich also z. B. mit DATEI1, DATEI2, DATEI3 - nicht aber mit DATEI12.

DAT* deckt sich mit allen Namen die mit DAT beginnen, also z. B. mit DATEI, DATEI1, DATEN, DATA, etc.

Gerätenamen

Damit einzelne Kommandos anstelle von Dateien auch Geräte (z. B. den Drucker) ansprechen können, haben die Geräte festgelegte Namen, die jederzeit anstelle von Dateinamen eingesetzt werden können.

Mit COPY A:DATEI PRN: kann man eine Datei z. B. auf dem Drucker ausgeben.Gültige Gerätenamen sind:

CON:           Ein-/Ausgabe über Bildschirm und Tastatur

PRN:           Standard-Druckerausgabe (1. Druckerschnittstelle)

LPT1:          1. Druckerschnittstelle
LPT2:          2. Druckerschnittstelle
LPT3:          3. Druckerschnittstelle

COM1:          1. serielle Schnittstelle
COM2:          2. serielle Schnittstelle

NUL:           leeres Pseudogerät ("schwarzes Loch" für Ausgaben)

AUX:           Hilfskanal (in der Regel 1. serielle Schnittstelle)

Laufwerke

Disketten- und Festplattenlaufwerke werden durch einen einzigen Buchstaben identifiziert. Dem Buchstaben folgt zur Unterscheidung von Dateinamen ein Doppelpunkt.
Ein physikalisches Laufwerk kann mehrere Laufwerksnamen haben. Wenn Sie z. B. nur ein Diskettenlaufwerk im Computer haben, kann dieses Laufwerk unter A: und B: angesprochen werden.
Der Wechsel des Laufwerks erfolgt auf Kommandoebene durch Eingabe des Laufwerksnamens. Das aktuell eingestellte Laufwerk wird bei der Bereitschaftsanzeige am Bildschirm ausgegeben:
A:\>              aktuell ist Laufwerk A:
B:                Kommando zum Laufwerkswechsel
B:\>              neue Bereitschaftsanzeige

Dateiverzeichnisse

Auf einer Festplatte mit etlichen 100 MByte Kapazität oder mehr haben viele Dateien Platz. Um die Übersicht zu behalten muß man seine Dateien strukturieren. Dateiverzeichnisse (Directories, Unterverzeich- nisse, Kataloge) bieten die Möglichkeit der Strukturierung der Dateien.
In einem Verzeichnis werden logisch zusammenhängende Dateien und Programme abgelegt. Von "außen" ist nur der Katalogname zu sehen.

Eine Datei in einem Verzeichnis kann aus dem Hauptverzeichnis heraus über den Pfad angesprochen werden. So läßt sich die Datei BRIEF im Verzeichnis BRIEFE auf dem Bild der vorhergehenden Seite über die Pfadangabe

     LEHMANN\BRIEFE\BRIEF
ansprechen. Die einzelnen Verzeichnisnamen werden durch den \ getrennt. Dabei wird in der Regel von dem Verzeichnis ausgegan- gen, in dem man sich befindet. Durch Voranstellen des \ vor den Pfad wird vom Hauptverzeichnis (Root) ausgegangen.
Wenn man sich z. B. im Verzeichnis MEYER befindet, kann man ja nur noch die beiden Verzeichnisse DBASE und MULTIPLAN erreichen. Die Datei BRIEF wird durch
     \LEHMANN\BRIEFE\BRIEF
angesprochen.

Kommandos zur Arbeit mit Unterverzeichnissen:

DIR
Anzeige aller Dateien im aktuellen Verzeichnis DIR hat zwei mögliche Parameter. Der erste Parameter ist ein Dateiname (DIR *.* liefert alle Dateien; DIR *.BAT liefert nur die Batch-Dateien). Der zweite Parameter steuert die Ausgabe: /w liefert eine kompakte Liste; /P hält die Ausgabe nach jeweils 25 Zeilen an.

MKDIR, MD
Erzeugen eines neuen Unterverzeichnisses Das Kommando hat den neuen Verzeichnisnamen als Parameter; z.B. MKDIR FIBU.

RMDIR, RD
Löschen eines Unterverzeichnisses Das Verzeichnis wird nur gelöscht, wenn es keine Dateien mehr enthält. CHDIR, CD
Wechseln in ein beliebiges Unterverzeichnis Als Parameter wird der Pfad zu diesem Verzeichnis angegeben; z. B. CD \MEYER\DBASE

In jedem Verzeichnis gibt es immer zwei spezielle Unterverzeich- nisse mit den Namen "." und "..".

·      ist ein Verweis auf das aktuelle Verzeichnis.
··     ist ein Verweis auf das übergeordnete Verzeichnis.

Mit CD .. kommt man also eine Stufe zurück in Richtung Hauptverzeichnis.

Kommandos zur Arbeit mit Disketten und Dateien

ATTRIB    Schreibschutz setzen/löschen

BACKUP    Datensicherung auf Diskette

CHKDSK    Diskette/Platte überprüfen

COPY      Datei(en) kopieren

DEL       Datei(en) löschen

DELTREE   Kompletten Verzeichnisbaum löschen

DIR       Anzeige aller Dateien im aktuellen Verzeichnis

DISKCOPY  Ganze Disketten kopieren

ERASE     Datei(en) löschen - wie DEL

FORMAT    Diskette formatieren

LABEL     Diskettennamen ändern

RECOVER   Defekte Dateien restaurieren

RENAME    Dateien umbenennen (abkürzen auf REN ist möglich)

REPLACE   Dateien ersetzen (kopieren unter bes. Voraussetzungen)

RESTORE   Mit BACKUP gespeicherte Dateien wieder einspielen

TREE      Verzeichnisstruktur anzeigen (Erweiterung von DIR)

TYPE      Datei ausgeben

VOL       Diskettennamen anzeigen

XCOPY     Erweitertes Kopierprogramm, kann komplette Dateibäume
          kopieren, z. B.: XCOPY C:\WINDOWS C:\WINBACKUP /S /E
Bei der Besprechung der wichtigsten Kommandos auf den folgenden Seiten werden nur die am häufigsten verwendeten Parameter erwähnt. Für eine vollständige Beschreibung der Kommandos sehen Sie bitte im Handbuch nach oder verwenden Sie die Hilfefunktion: HELP <Kommandoname<>>.

Der Prompt-Befehl

Dieser Befehl verändert die Bereitschaftsanzeige (Prompt). Da er keinen Schaden anrichten kann, läßt sich wunderbar damit spielen. Durch den Befehl PROMT ohne Parameter wird der Urzustand wiederhergestellt. Der Parameter ist eine beliebige Zeichenkette, die dann als Bereitschaftsanzeige verwendet wird.

Der Befehl "PROMPT Nächstes Kommando:" führt zu der Bereitschaftsanzeige:

Nächstes Kommando:_
Es gibt eine Reihe von Spezialzeichen für Sonderfunktionen:
Spezial-  |   Anzeige
zeichen   |
----------+------------------------------------------------------
$$        |   $
$_        |   Zeilenvorschub
$b        |   |
$d        |   Anzeige des Datums
$e        |   Das ESC-Zeichen
$g        |   >
$h        |   Rückschritt ein Zeichen (zum Löschen von Zeichen)
$l        |   <
$n        |   Das aktuelle Laufwerk
$p        |   Das aktuelle Verzeichnis
$q        |   =
$s        |   Leerzeichen
$t        |   Die Uhrzeit
$v        |   Die DOS-Version
----------+------------------------------------------------------
Beispiele: PROMPT $n$p$s$g
Zeigt immer das aktuelle Laufwerk und das aktuelle Verzeichnis an. z. B.: C:\TEXTE\MANUALS >

PROMPT $d$s$s$t$_$n$p$s$g
Zeigt in der ersten Zeile Datum und Uhrzeit und in der folgenden Zeile Laufwerk und Verzeichnis an, z. B.:

Sa. 25.06.88  15:25:30.10
C:\TEXTE\MNUALS >

Die Kommandos SYS und LABEL

SYS überträgt das System auf eine leere, formatierte Diskette. Der Kommandointerpreter COMMAND.COM wird nicht mit übertragen. Dieses Kommando braucht man hauptsächlich, wenn man beim Formatieren den Parameter /S vergessen hat oder das System regenerieren will.

Aufruf: SYS l:

Der Parameter l: bezeichnet das Ziel-Laufwerk, z. B.: SYS B:.

LABEL versieht eine leere, formatierte Diskette mit einem Namen (wie der Parameter /V des FORMAT-Kommandos). Man kann mit diesem Kommando den Anfangs vergebenen Namen ändern.

Aufruf: LABEL l: name Der Parameter l: bezeichnet das Ziel-Laufwerk, z. B.: SYS B:, "name" den Disketten-Namen (max. 11 Zeichen). Beispiel: LABEL A: MEINE-DISK.

Beispiel: Das COPY-Kommando

Es ist das wohl am häufigsten gebrauchte Kommando. Es dient zum Übertragen von Dateien zwischen verschiedenen Laufwerken und Verzeichnissen. Mit COPY ist auch die Ausgabe von Dateien auf Geräten und das Zusammenführen von Dateien möglich. COPY arbeitet nur innerhalb eines Verzeichnisses. Will man ganze Verzeichnisse einschlißlich der Unterverzeichnisse kopieren, muß man XCOPY verwenden.

Aufruf: COPY l1:pfad1 l2:pfad2 /V

l1:pfad1 bezeichet den Pfad zu den Quelldateien und l2:pfad2 das Ziellaufwerk und/oder die Zieldatei. Fehlen diese Angaben, ist das aktuelle Laufwerk Ziellaufwerk. Fehlt die Pfadangabe, erhalten die neuen Dateien den gleichen Namen wie die Quelldateien. Der Parameter /V Prüfung, ob das Kopieren korrekt erfolgt ist. Beispiele (mit Erläuterung):

COPY A:DATEN B:DATEN          Kopiert DATEN von Laufwerk A: nach B:

COPY A:DATEN B:               Dasselbe, nur kürzer geschrieben

COPY DATEN DATEN.BAK          Anlegen einer Backup-Datei

COPY B:TEXT                   Kopieren von TEXT auf das  aktuelle 
                              Laufwerk

COPY A:*.BAT B:               Kopieren  aller Batch-Dateien  nach 
                              Laufwerk B:

COPY B:*.*                    Kopieren aller Dateien von Laufwerk 
                              B: auf das aktuelle Laufwerk

COPY \TEXTE\BRIEF \INFOS      Kopieren  der Datei BRIEF  aus  dem 
                              Verzeichnis  TEXTE  in  die   Datei 
                              INFOS  im  Hauptverzeichnis.   Wenn 
                              INFOS ein Verzeichnis ist, wird  in 
                              INFOS  eine  Datei  BRIEF  angelegt 
                              (zweideutig!!!).
.pa
COPY T1+T2+T3 T.GES           Die  Dateien T1, T2 und  T3  werden 
                              in der Datei T.GES vereinigt.

COPY *.TX1+*.TX2 *.TXT        Es werden jeweils die Dateien glei-
                              chen "Vornamens" zusammenkopiert.
                              T1.TX1+T1.TX2 --> T1.TXT
                              T2.TX1+T2.TX2 --> T2.TXT
                                   usw.

COPY CON: TEST                Die  Tastatureingabe  wird  in  die 
                              Datei  TEST  kopiert.  Die  Eingabe 
                              wird mit Strg-Z beendet.

Batch-Betrieb

Der Batch-Betrieb (Stapelverarbeitung) erlaubt die Zusammenfas- sung mehrerer Kommandos, die hintereinander ausgeführt werden sollen in einer Batch-Datei (Befehls-Datei). Die Befehlsdatei wird durch Eingabe ihres Namens - also auf die gleiche Weise wie ein einzelnes Kommando - aufgerufen.

Über Parameter, die beim Aufruf angegeben werden können, läßt sich der Ablauf der Batch-Datei steuern. Zusätzliche Stapelbefehle erlauben eine komfortablere und flexiblere Gestaltung des Ablaufs. Dadurch, daß sich Programmparameter in der Stapeldatei fest einstellen lassen, macht das Batch-System die Bedienung des Computers für den Benutzer einfacher.

Eine Batch-Datei wird als Textdatei mit einem Editor, z.B. EDLIN, oder - wenn sie nur wenige Zeilen enthält mit "COPY CON: ..." erstellt.

Ein erstes Beispiel:
Hat man seine Festplatte ordentlich in Unterverzeichnisse unterteilt, ist zum Aufruf einer Applikation, z.B. der Fakturierung eine Folge von Kommandos nötig. Diese Kommandofolge schreibt man in eine Batchdatei und kann so mit einem Befehl (FAKT) die Applikation aufrufen:

CD FAKTURA                       Wechsel ins Verzeichnis
EASYFAKT                         Aufruf des Programms
CD \                             zurück ins Hauptverzeichnis
Neben dem rein sequentiellen Ablauf können auch Bedingungen und Schleifen programmiert werden. Für diesen Zweck besitzt das DOS spezielle Batch-Kommandos.

Wie bei einem Programm kann man auch einem Batch-Job Parameter übergeben. Diese Parameter werden in der Batch-Datei durch die Platzhalter %0 bis %9 dargestellt. Der Platzhalter %0 liefert den Namen der Batch-Datei.

Beispiel: Batch-Datei DRUCKE; Parameter ist die zu druckende Datei. Die Datei enthält nur die Zeile

COPY %1 PRN
Der Aufruf DRUCKE TEXT führt im Batch-Job zum Befehl
COPY TEXT PRN.
Es folgt nun die Besprechung der einzelnen Stapelbefehle:
ECHO      Dieser  Befehl hat zwei Aufgaben. Normalerweise  werden 
          alle  Kommandos, die beim Abarbeiten  eines  Batch-Jobs 
          ausgeführt werden, auf dem Bildschirm angezeigt.  Diese 
          Anzeig kann durch ECHO OFF abgeschaltet und durch  ECHO 
          ON  wieder eingeschaltet werden. Ist die Anzeige  abge-
          schaltet, kann man nach dem Wort ECHO einen  beliebigen 
          Text plazieren, der dann auf dem Bildschirm  ausgegeben 
          wird.
          z.B. ECHO Bitte jetzt die Diskette herausnehmen

          Durch  E/A-Umleitung  (siehe unten) kann man  mit  ECHO 
          auch andere Geräte als den Bildschirm ansprechen, z. B. 
          den Drucker:
          ECHO Testzeile >PRN

FOR       Dieser Befehl hat das Format

          FOR %%n IN (pfadangabe) DO befehl

          %%n            steht für die Platzhalter %%0 bis %%9.

          pfadangabe     ist  ein  Dateiname, ggf mit  Pfad,  der 
                         Jokerzeichen  enthalten kann  oder  eine 
                         Liste von Dateinamen.

          befehl         ist  ein  Kommando,  ein  Programmaufruf 
                         oder ein Stapelbefehl.

          Beispiele:

          FOR %%1 IN (*.TXT) COPY %%1 PRN

          FOR %%1 IN (dat1 dat2 dat3) ERASE %%1

          FOR %%1 IN (*.*) ECHO %%1 ist auch da!


GOTO m    Springe  zur der Zeile, die mit der Marke m  bezeichnet 
          ist.   Eine   Marke  wird   durch   einen   Doppelpunkt 
          eingeleitet und kann bis zu 8 Zeichen lang sein.

          Beispiel: (Computer-Selbstbeschäftigung)

          ECHO OFF
          :WEITER
          ECHO Bin leider sehr beschäftigt!
          GOTO WEITER

          Aus so einer "unendlichen Schleife" kommt man nur durch 
          Drücken von Strg-Untbr wieder heraus.

IF        Dient der Abfrage von Bedingungen. Das Format ist:

               IF bed. befehl

          bed.           Bedingung

          befehl         wenn die Bedingung wahr ist, wird dieser 
                         Befehl ausgeführt.

          Als Bedingung kommen folgende Ausdrücke in Frage:

          ERRORLEVEL n   n  ist eine Zahl, die  den  Fehler-Level 
                         des vorhergehenden Programms entspricht. 
                         Jedes Programm kann (aber muß nicht) den 
                         Wert von ERRORLEVEL setzen, der dann  im 
                         Batch abgefragt wird. ERRORLEVEL 0  ent-
                         spricht   fehlerfreier  Beendigung.   Zu 
                         beachten ist, daß die ERRORLEVEL-Abfrage 
                         eigentlich eine >= - Bedingung ist.
          EXIST datei    Abfrage,   ob   eine   bestimmte   Datei 
                         vorhanden ist.
          str1==str2     Gleichheit von zwei Zeichenketten

          Durch  ein vorangestelltes NOT kann die  Bedingung  ne-
          giert werden.

          Beispiele:

          IF ERRORLEVEL 1 GOTO FEHLER

          IF NOT EXIST COMMAND.COM ECHO Kommandointerpreter fehlt!

          COMPILE TEST
          IF ERRORLEVEL 1 GOTO FEHLER

          IF %1==TEST GOTO WEITER

PAUSE     Unterbricht  die Ausführung und gibt den  Text  "Strike 
          any  key  when  ready ..." aus.  Wenn  man  eine  Taste 
          drückt,  wird  die Ausführung fortgesetzt.  Hinter  dem 
          Wort  PAUSE kann ein Text stehen, der  dann  ausgegeben 
          wird.

          Beispiel:

          PAUSE Bitte Diskette einlegen

REM       Kommentare  in  der Batch-Datei. Hinter  REM  kann  ein 
          beliebiger Text stehen. Die Zeile wird nur  ausgegeben, 
          wenn ECHO ON eingestellt ist.

          Beispiel:

          REM Diese Batch-Datei ruft die Fakturierung auf

SHIFT     Dieser  Befehl erlaubt die Verwendung  einer  variablen 
          Parameterzahl  und ermöglicht die Verwendung  von  mehr 
          als 10 Parametern. Nach dem Shift-Befehl ist der  erste 
          Platzhalter   (%0)  verschwunden  und   alle   weiteren 
          Platzhalter  sind aufgerückt (%1 wird %0, %2  wird  %1, 
          usw).

          Beispiel:

          :WEITER
          IF %0X==X GOTO ENDE
          ECHO Der aktuelle Parameter ist: %0
          SHIFT
          GOTO WEITER
          :ENDE
          ECHO Fertig ...

CALL      Aufruf einer anderen Batchdatei. Nach deren Abarbeitung 
          wird in der folgenden Zeile fortgefahren.

Die Datei AUTOEXEC.BAT

Diese Datei ist wie eine ganz normale Batch-Datei aufgebaut. Sie zeichnet sich nur dadurch aus, daß sie im Hauptverzeichnis (Root) liegt und daß sie automatisch nach dem Laden des DOS ausgeführt wird.

In AUTOEXEC.BAT stehen all jene Kommandos, die immer nach dem Einschalten des Computers ausgeführt werden müssen - z. B. die deutsche Tastaturanpassung KEYB GR.

Wird AUTOEXEC.BAT nicht gefunden, wird eine Anfangsmeldung des Systems ausgegeben und nach Datum und Uhrzeit gefragt.

In diesem Zusammenhang ist eine Bemerkung über die sogenannten speicherresidenten Programme notwendig. Es handelt sich um Programme, die nach dem Aufruf im Speicher verbleiben und so auf Dauer bestimmte Dienstleistungen verrichten. Ein Beispiel dafür ist die deutsche Tastaturanpassung KEYBGR.COM, die gewissermaßen als "Filter" zwischen der Tastatur und dem Computer liegt und die Tastencodes entsprechend der DIN-Belegung der Tastatur an das DOS weiterleitet (so sind z.B. die Zeichen "Y" und "Z" gegenüber der amerikanischen Tastatur vertauscht). Für den Anfang sind nur die folgenden Programme wichtig:

KEYB      Deutsche Tastaturanpassung

GRAFTABL  Tabelle der IBM-Zeichen mit Codes > 127 für  Grafikaus-
          gabe.

GRAPHICS  Grafik-Hardcopy (Taste Shift-Druck) für die Farbgrafik-
          Karte (CGA).
Das folgende Beispiel zeigt eine mögliche AUTOEXEC.BAT-Datei mit Erläuterungen zu den Befehlen:
ECHO OFF                 Bildschirmausgabe unterdrücken
KEYBGR                   Deutsche Tastaturanpassung
GRAFTABL                 IBM-Zeichentabelle
DATE                     Datum erfragen (entfällt bei Echtzeituhr)
TIME                     Uhrzeit erfragen (entfällt bei Echtzeituhr)
PATH C:\;C:\DOS32\;      Suchpfad für Kommandos (es wird angenom-
                         men, daß diese im Verz. DOS32 stehen).
VER                      Betriebssystem-Version ausgeben
Anmerkung:
PATH legt einen automatischen Suchpfad für Programme (Endungen .SYS, .COM, .EXE) und Batch-Dateien (Endung .BAT) fest.

Die Datei CONFIG.SYS

In dieser Datei stehen Anweisungen zur Konfigurierung des Be- triebssystems. Sie werden beim Laden des DOS nach dem Einschalten des Rechners ausgewertet. Mit diesen Anweisungen kann man z.B. Betriebssystem-Erweiterungen (Treiber) in das Sytem einbinden. CONFIG.SYS wird als ASCII-Datei (also reiner Text) mit COPY oder EDLIN erstellt. Die Anweisungen haben immer die Form

Schlüsselwort=Parameter

Anweisungen in CONFIG.SYS:

BREAK     Deaktivieren der Abfrage der Taste Strg-Untbr  (BREAK=
          OFF) oder eingeschränkte Prüfung (BREAK=ON).

BUFFERS   Festlegen der Anzahl der Datenpuffer für  Dateioperati-
          onen.  Voreingestellt ist ein Wert von 2.  Günstig  ist 
          ein Wert zwischen 10 und 15 (BUFFERS=10).
COUNTRY   Paßt das Format von Datum und Uhrzeit an die nationalen 
          Gepflogenheiten an (Deutsch: COUNTRY=049).

DEVICE    Installiert einen Treiber, d.h. ein Programm zur Erwei-
          terung  des  DOS. Bei Device wird der  Name  der  Datei 
          angegeben, in der sich das Treiberprogramm befindet. Es 
          handelt  sich dabei um spezielle Programme,  die  nicht 
          "normal"  gestartet  werden können. Die  Dateien  enden 
          daher auf ".SYS" oder ".DRV". Mit DEVICE=ANSI.SYS  wird 
          die  Bildschirmausgaben um  zusätzliche  Steuerungsmög-
          lichkeiten   (nach   ANSI-Standard)   erweitert.    Mit 
          DRIVER.SYS lassen sich z.B. weitere  Diskettenlaufwerke 
          installieren. Mit RAMDRIVE.SYS kann man ein  virtuelles 
          Diskettenlaufwerk  im  Speicher anlegen, das  dann  als 
          sehr  schneller Zwischenspeicher arbeitet  (DEVICE=RAM-
          DRIVE.SYS 256 512).

FCBS      Legt die Anzahl der gleichzeitig offenen  Datei-Steuer-
          blöcke fest. Wenn man FCBS überhaupt verwendet,  sollte 
          man FCBS=10,0 geben.

FILES     Legt fest, wieviele Dateien gleichzeitig geöffnet  wer-
          den  sein können. Dabei muß man beachten, daß  für  die 
          Standard-Geräte  schon einige Dateien belegt  sind.  Zu 
          empfehlen ist  ein Wert zwischen 20 und 30 (FILES=20).

LASTDRIVE Legt die Höchstzahl der logischen Laufwerke fest, wobei 
          zu beachten ist, daß einem physikalischen Laufwerk über 
          DRIVER.SYS mehrere logische Laufwerke (mit ggf.  unter-
          schiedlichem Format) zugeordnet sein können.  Voreinge-
          stellt ist LASTDRIVE=E.

SHELL     Mit SHELL kann ein anderer als der normale  Kommandoin-
          terpreter  (COMMAND.COM)  geladen  werden.  Auch,  wenn 
          COMMAND.COM  nicht im Hauptverzeichnis liegt oder  wenn 
          man  mehr Platz für System-Variablen braucht  (SET-Kom-
          mando),  kann man SHELL verwenden. Der folgende  Befehl 
          lädt  COMMAND.COM aus dem Verzeichnis DOS32 und  reser-
          viert 2KByte für Systemvariablen:

          SHELL=\DOS32\COMMAND.COM C:\DOS32 /P /E:2048

Umlenken der Ein- und Ausgabe, "Pipes"

Viele (aber nicht alle) Kommandos und Programme bieten die Mög- lichkeit, die Tastatureingabe (Standardeingabe) und die Bild- schirmausgabe (Standardausgabe) umzuleiten. Quelle oder Ziel kann ein Gerät oder eine Datei sein - aber auch ein weiteres Programm, sodaß die Ausgabe eines Programms zur Eingabe eines weiteren Programms wird (Pipe).

Die Umleitung der Ausgabe erfolgt mit > Ziel
Die Umleitung der Eingabe erfolgt mit < Quelle
Das Piping erfolgt mit Prog.1 | Prog.2

Beispiele:

DIR >PRN            leitet das Directory auf den Drucker

DIR >KATALOG        leitet das Directory in die Datei KATALOG

COPY DATEI B: >NUL  unterdrückt die Meldung " nn File(s) copied"

Programme, die von der Standardeingabe lesen und auf die Standardausgabe schreiben, nennt man auch "Filter". Es gibt drei Filter unter den DOS-Kommandos:
MORE      hält  die  Bildschirmausgabe  alle  24  Zeilen  an  und 
          ermöglicht so das Blättern:

          MORE < TEXT     Zeigt die Datei TEXT seitenweise an


FIND      erlaubt  das Suchen in Textdateien. Das  Programm  kann 
          auch wie ein "normales" kommando verwendet werden:

               FIND "Meier" TEXT 

          ist gleichwertig mit

               FIND "Meier" < TEXT

          Mit  dem Parameter /V kann man alle Zeilen finden,  die 
          das  Suchwort nicht enthalten; der Parameter  /N  setzt 
          eine Zeilennummer vor die Zeile.

SORT      ist  ein  Sortierprogramm  für  Texte.  Zwei  Parameter 
          steuern  die Sortierung /+nn legt die Spalte  fest,  ab 
          der sortiert wird (z.B. /+12); /R sortiert  absteigend. 
          Leider  beachtet  SORT weder  die  Groß/Kleinschreibung 
          noch die deutschen Umlaute.
Mittels des Zeichens "|" lassen sich Programme und Filter hintereinader ausführen, z.B. liefert die Kommandofolge
     DIR | SORT >PRN 
ein sortiertes Directory auf dem Drucker. Will man nur Dateien, die am 20.01.03 erstellt wurden, kann man eingeben:
     DIR | FIND "20.01.03" | SORT
Mit SORT und FIND könnten man schon eine Telefon- oder Adreßliste verwalten. Die Adressen stehen zeilenweise in der Datei ADRESS.
     FIND "Hans Meier" ADRESS      
zeigt die Adresse von Hans Meier an.
     FIND "Meier" ADRESS
zeigt alle Meiers. Wenn man nun alle Meiers in München wissen, gibt man ein:
     FIND "Meier" ADRESS | FIND "München"
Schließlich kann man die Ausgabe nicht nur in eine Datei umleiten, sondern auch an eine bereits bestehende Datei anhängen, indem man statt ">name" ">>name" schreibt.
     DIR >>KATALOG
hängt das Directory an eine bestehende Datei KATALOG an.

Die Struktur von DOS

Das Betriebssystem ermöglicht erst den Betrieb des Computers (daher der Name), es ist aber praktisch kaum zu sehen. Es liegt immer im Speicher und führt alle "niederen" Arbeiten des Rechners durch. Im Betriebssystem sind auch alle Grundfunktionen des Computers, z. B. die Dateiverwaltung enthalten. Alle Anwenderprogramme greifen auf diese Grundfunktionen zurück.

Im Computer selbst befindet sich in einem Festwertspeicher (ROM = Read Only Memory) ein kleiner Teil des Betriebssystems (ROM-BIOS), der die spezielle Hardware des jeweiligen Rechners an das DOS anpaßt. In diesem Speicher ist auch ein Programmteil, der das DOS von der Platte laden kann.

MS-DOS (oder PC-DOS, die MS-DOS-Version von IBM) besteht aus mehreren Teilen (= Module), die in einem resevierten Bereich auf der Festplatte oder Diskette liegen und von Rechner beim Systemstart in den Hauptspeicher geladen und aktiviert werden. Die Module von DOS werden auf der nächsten Seite erläutert.

IO.SYS (IBMBIO.SYS)
Dieser Teil wird auch BIOS (Basic Input/Ooutput-System) genannt. Er enthält alle Teile von DOS, die sich mit den physikalischen Geräten befassen. Jedesmal, wenn DOS auf Tastatur, Drucker, Platte oder Bildschirm zugreift wird dieses Modul aktiv. Neben den Geräteroutinen enhält IO.SYS auch die Routinen zur Initialisierung von DOS.

MSDOS.SYS (IBMDOS.SYS)
Dieses Modul enthält die geräteunabhängigen Systemroutinen und die Platten- und Dateiverwaltung. Auf diese Routinen greifen auch die Anwenderprogramme zu. MSDOS.SYS arbeitet eng mit IO.SYS zusammen. Bei jedem Gerätezugriff werden die Roitinen von IO.SYS aufgerufen. Beim Start dieses Teils von MS-DOS wird auch die Datei CONFIG.SYS ausgewertet.

COMMAND.COM
Dies ist der sogenannte Kommandointerpreter, der die Eingaben des Benutzers entgegennimmt und dann das gewünschte Kommando ausführt. Einfache und häufig benötigte Befehle sind direkt im Kommandointerpreter eingebaut (z.B. DEL). Der Kommandointerpreter verarbeitet auch die Batch-Dateien.

Weniger oft benötigte Systemprogramme und alle Anwenderprogramme sind auf der Platte oder Diskette als ausführbare Programme abgelegt. Man erkennt sie an den Endungen EXE oder COM. Wenn der Kommandointerpreter keinen internen Befehl erkennt, dann sucht er nach den angegebenen Programm auf der Platte, holt es in den Arbeitsspeicher und startet es. Nach Programmbeendigung meldet sich der Kommandointerpreter wieder.

Der Kommandointerpreter besteht aus zwei Teilen. Ein Teil bleibt immer in Speicher. Dieser (residente) Teil kann Eingaben verarbeiten, Programme starten und er enthält die Fehlerbehandlung für Plattenzugriffe und Programme. Der zweite Teil kann durch große Anwenderprogramme im Speicher überschrieben werden. DIeser Teil enthält die ganzen eingebauten Kommandos. Wenn der Kommandointerpreter nach Ende eines Programms wieder aktiv wird, kann er diesen transienten Teil nachladen.

Ablauf des Systemstarts
Nach dem Einschalten des Computers oder nach dem Drücken von Ctrl-Alt-DEL (Warmstart) beginnt der Systemstart, wobei nach dem Einschalten das eingebaute ROM-BIOS noch einige Test der Hardware durchführt (beim Warmstart entfällt dieser Test). Dann laufen eine Reihe von Schritten durch, bis der Kommandointerpreter sich meldet (in Wirklichkeit ist das Ganze sogar noch komplizierter):

  1. Systemstart durch Einschalten oder Warmstart
  2. Das ROM-BIOS holt den Systemlader von der Platte und startet ihn (Bootstrap). Der Systemlader befindet sich an einer festen Position der Platte (Bootsektor).
  3. Der Systemlader holt IO.SYS und MSDOS.SYS (dies sind verborgene Dateien auf der Platte) von der Platte und übergibt die Kontrolle an IO.SYS.
  4. IO.SYS initialisiert die angeschlossenen Geräte.
  5. MSDOS.SYS wird aktiviert.
  6. Die Datei CONFIG.SYS wird ausgewertet und eventuelle benötigte Treiber geladen und initialisiert (DEVICE-Anweisung).
  7. Der Kommadointerpreter COMMAND.COM wird gesucht.
  8. Der Kommandointerpreter sucht die Datei AUTOEXEC.BAT im Wurzelverzeichnis und arbeitet sie ab. Ist die Datei nicht vorhanden, werden Datum und Uhrzeit abgefragt.
  9. Jetzt meldet sich der Kommandointerpreter und ist bereit, Tastatureingaben entgegenzunehmen.

Das System in Bereitschaft
Der Kommadointerpreter meldet sich mit der Bereitschaftsanzeige, die durch den PROMPT-Befehl geändert werden kann. Nun kann der Benutzer ein Kommando eingeben. Danach werden folgende Schritte durchgeführt:

  1. COMMAND.COM bearbeitet die Kommandozeile und untersucht zuerst, ob es sich um ein internes Kommando handelt. Ist dies der Fall, wird es sofort ausgeführt.
  2. War es kein internes Kommando, scuht der Kommandointerpreter nach einer Programm- oder Batchdatei. Der Suchpfad kann durch das PATH-Kommando festgelegt werden; auf jeden Fall wird zuerst im aktuellen Verzeichnis gesucht.
  3. Wurde eine Programm- oder Batchdatei gefunden, wird sie geladen und gestartet.
  4. Werden mehrere Dateien mit gleichem Namen, aber unterschiedlicher Endung gefunden entscheidet die Priorität: COM vor EXE, EXE vor BAT
  5. Wird keine Datei des gewünschten Namens gefunden, erfolgt eine Fehlermeldung.
Dies war nur ein kleiner Überblick über die Geschehnisse im Hintergrund - für den Umgang mit DOS brauchen Sie diese Dinge nicht zu wissen; aber es ist doch durchaus interessant zu wissen, was sich so hinter den Kulissen tut.