home *** CD-ROM | disk | FTP | other *** search
-
- ** technische Referenz für Programmierer für MSDOS und den IBM PC **
- ─────────────────────────┤ eingetragene Anwenderversion ├───────────────────────────
- nicht für den allgemeinen Vertrieb
- Urheberrecht (c) 1987, 1990 Dave Williams
- Deutsche Übersetzung Urheberrecht (c) 1990 Klaus Overhage
- Änderungen und Erweiterungen Urheberrecht (c) 1990 Klaus Overhage
-
-
- K A P I T E L E I N S
-
- DOS und der IBM PC
-
-
- I N H A L T E
-
- Eine Chronik ..........................................................1**1
- Was ist DOS? ..........................................................1**2
- Andere Betriebssysteme ................................................1**3
- Wesentliche Versionen von MS/PC-DOS ...................................1**4
- die Betriebssystem Hierarchie .........................................1**5
- DOS Aufbau ............................................................1**6
- DOS Initialisierung ...................................................1**7
-
-
-
- Eine Chronik ├──────────────────────────────────────────────────────────1**1
-
- Die Entwicklung von MSDOS/PCDOS begann in Oktober 1980, als IBM ein Betriebs-
- system für den nocht nicht vorgestellten IBM PC suchte.
- Microsoft hatte kein echtes Betriebssystem zu verkaufen, fand aber nach einiger
- Zeit das 86-DOS Betriebssystem von Seattle Computer Products, welches ein Mann
- namens Tim Paterson Anfang 1980 für die 8086 S100 Bus Mikros der Firma
- geschrieben hatte.
- 86-DOS (auch QDOS genannt, für schnell und schmutziges Betriebssystem) wurde
- mehr oder weniger wie eine 16-bit Version von CP/M geschrieben, weil Digital
- Research keine Eile mit der Einführung von CP/M-86 hatte.
-
- Dieser Code war flüchtig aufpoliert und von IBM zur Auswertung präsentiert. IBM
- hatte zunächst geplant Digital Research's CP/M Betriebssystem zu benutzen, das
- zu dieser Zeit der Industriestandard war. Die Leute berichteten über gesetzliche
- Unklarheiten und kurz abgefertigte IBM Vertreter von Digital, ohne sich um
- diese zu kümmern.
- IBM fand es selber, als Microsoft das "Microsoft Festplattenbetriebssystem 1.0"
- anbot. Eine Vertrag zwischen den beiden wurde abgeschlossen, als IBM beschloß
- 86-DOS als Hauptbetriebssystem für deren neuen PC zu benutzen. Microsoft kaufte
- alle Rechte zu 86-DOS in Juli 1981, und "IBM PC-DOS 1.0" war fertig, als der
- IBM PC im Oktober 1981 auf den Markt gebracht wurde.
- IBM unterwarf das Betriebssystem einer umfassenden Qualitätsprüfung, wobei wie
- verlautete, ca. 300 Fehler gefunden wurden. Daraufhin entschloß sich IBM,
- die Programme neu zu schreiben.
- Dies ist der Grund, weshalb das Urheberrecht von PC-DOS bei IBM und Microsoft
- liegt.
-
- Es ist manchmal amüsant, ein Blick zurückzuwerfen auf die Tatsache, daß der
- IBM PC nicht dafür gedacht war, MSDOS als Betriebssystem zu benutzen.
- Das Zielbetriebssystem am Ende der Entwicklung war eine (immer noch nicht
- existierende) 8086 Version von CP/M. Auf der anderen Seite, als DOS geschrieben
- wurde, existierte der IBM PC noch nicht! Obgleich PC-DOS zusammen mit dem
- Computer ausgeliefert wurde, Digital Research's CP/M-86 sollte wahrscheinlich
- das Hauptbetriebssystem für den PC sein, wogegen im wesentlichen zwei Dinge
- sprachen - Digital Research wollte $495 für CP/M-86 (in Anbetracht dessen, PC-DOS war
- im wesentlichen frei) und viele Softwareentwickler fanden es leichter, bereits
- existierende CP/M Software für DOS umzuschreiben als für die neue Version
- von CP/M.
-
- Verschiedene Computerzeitschriften behaupten, daß Digital Research IBM beim
- entwickeln von DOS 4.0 behilflich war, welches nachträglich von Microsoft
- zugelassen und unterstützt wurde. Die weitere Entwicklung von OS/2 wurde
- vorläufig gestoppt.
- Nach Benutzung von DR-DOS 3.4 und erkenntnis seiner Arbeitsweise, neige ich jetzt
- dazu, ernsthaft zu bezweifeln das Digital irgendeine Beziehungen zu PC-DOS 4.0
- hatte. Auch IBM aber behauptet daß DOS 4.0 ein komplettes IBM Produkt ist.
-
- MSDOS und PC-DOS wird mehr als nur auf dem IBM-PC und seinen Nachbauten
- eingesetzt. Einige hiervon sind nachfolgend aufgeführt:
-
- Hardware PC Nachbildung:
-
- Apple II -> TransPC 8088 Karte, QuadRam QuadLink
- Apple MacIntosh -> AST 80286 Karte
- Atari 400 / 800 -> Co-Power 88 Karte
- Atari ST -> PC-Ditto II Kassette
- Commodore Amiga 2000 -> 8088 oder A2286D 80286 Bridge Board
- IBM PC / RT -> 80286 AT Adapter
- Kaypro 2 -> Co-Power Plus Karte
-
- Software PC Nachbildung:
-
- Apple MacIntosh -> SoftPC
- Atari ST -> PC-Ditto I
-
- DOS Nachbildung:
-
- OS/2 -> DOS Nachbildung in der "Kompatibilitäts Box"
- QNX -> DOS Fenster
- SunOS -> DOS Fenster
- Xenix -> DOS Nachbildung mit DOSMerge
-
-
- Was ist DOS?├────────────────────────────────────────────────────────── 1**2
-
- DOS existiert wie eine höhere Schnittstelle zwischen einem Anwenderprogramm und
- dem Computer. DOS steht für "Diskettenbetriebssystem", welches auf die Tatsache
- zurückzuführen ist, daß der Hauptzweck war, eine Schnittstelle zwischen dem
- Computer und seinen Diskettenlaufwerke zu liefern.
-
- DOS läßt die Programme einfache Speicherverwaltung ausführen, Ein- und Ausgaben
- I/O von der Systemkonsole, und andere Systemaufgaben (Uhrzeit und Datum, etc.)
- wie durchführen von Festplattentransaktionen. Ab Versionen 3.1 und aufwärts
- werden auch grundlegende Funktionen für den Netzwerkbetrieb integriert.
-
- Mit der Einführung von installierbaren Gerätetreibern und TSR (beenden aber
- verbleiben speicherresistent) Programmen in DOS 2.0, können die Grundfunktionen
- von DOS so praktisch bis auf die benötigten Funktionen erweitert werden.
-
-
- Andere Betriebssysteme├─────────────────────────────────────────────── 1**3
-
- Es gibt eine Anzahl kompatibler Ersatzsysteme für Microsoft's MSDOS.
- Einige sind:
-
- Consortium Technologies MultiDOS (multitasking, multiuser)
- Digital Research Concurrent DOS (multitasking)
- Digital Research Concurrent DOS 386 (für 80386 computer)
- Digital Research Concurrent DOS XM (multitasking, multiuser)
- Digital Research DR-DOS 3.31 und 4.0 (PC-DOS Nachbauten)
- PC-MOS/386 (multitasking, multiuser)
- Wendin-DOS (multitasking, multiuser)
- VM/386 (multitasking)
-
-
- Verschiedenartige andere Betriebssysteme sind verfügbar für den IBM PC.
- Diese beinhalten:
-
- Digital Research CP/M-86
- Digital Research Concurrent CP/M-86 (multitasking)
- Minix (multitasking ähnlich UNIX)
- Pick (database-operating System)
- QNX (multitasking, multiuser)
- UNIX (verschiedenartige Systeme von IBM selbst, Microsoft-SCO, Bell, und
- verschiedene UNIX Nachbauten, Single und multiuser) (AIX, Xenix,
- AT&T System V, etc.)
-
- "Befehlsinterpreter" Programme existieren, welche benutzen DOS ausschließlich
- für die Disketten/Platten Operationen obwohl sie mehr oder weniger ein neues
- Betriebssystem enthalten. Diese beinhalten:
-
- DesQview Windows OmniView
- GEM TopView TaskView
-
- Systeme die die CPUs der NEC V-Serien benutzen, können Intel 8080/8085 8-bit
- wie auch die 16-bit (8088 und größer) Anweisungen verarbeiten. Diese können
- außerdem das Standard Digital Research 8-bit CP/M und MP/M direkt ausführen,
- sowie andere Betriebssystem die für diesen Prozessor entwickelt wurden.
-
-
-
- Wesentlich Versionen von MS/PC-DOS├────────────────────────────────────────1**4
-
- DOS 1.x ist im wesentlichen 86-DOS. DOS 2.x behielt die mehrfach Dateianordnung
- (die zwei versteckten Dateien und COMMAND.COM) aber es ist ein völlig
- unterschiedliches Betriebssystem mit Rückwärtskompatibilität mit 1.x. Ich
- bezweifel ernsthaft, das in 2.x noch viel Code von 1.x enthalten ist. DOS 3.x
- ist nur eine Erweiterung von 2.x; es wurde weniger geändert als der große
- Sprung der Versionsnummer vermuten läßt. DOS 4.0, entstand ohne Microsoft, sodaß
- der Sprung auf die höhere Versionsnummer gewählt wurde. Leider sind wenig
- Gründe zu erkennen, die die Existenz von 4.x sprechen - praktisch alle von
- seinen Kernmerkmalen sind in der ein oder anderen Version von DOS 3.x schon
- enthalten.
-
- DOS Versionsbezeichnungen: Haupt.Neben.Neben. Die Ziffer links von dem Punkt
- zeigt die Hauptversion von DOS. 1.0 war der erste Version. 2.0 wurde um die
- Unterstützung der Unterverzeichnisse erweitert, 3. 0 erhielt die Unterstützung
- für den Netzwerkbetrieb, 4.0 erlaubt eine minimale Unterstüzung des
- Lotus-Intel-Microsoft EMS.
-
- Die erste Nebenversion zeigt eine Anpassung für eine Hauptanwendung. Als Beispiel,
- 2.1 für den PCjr, 3.3 für die PS/2s. Die zweite Nebenversion scheint keine
- Bedeutung für irgendwelche Einzelheiten zu haben.
-
- Der Hauptversionen von DOS sind:
-
- PC-DOS 1.0 August 1981 Originalversion
- PC-DOS 1.05 -------- ---- Änderungen beim BASIC Interpreter
- PC-DOS 1.1 Mai 1982 Fehlerbehebung, doppelseitige Laufwerksunterstützung
- MS-DOS 1.25 Juni 1982 für die ersten kompatiblen
- PC-DOS 1.86 -------- ---- intern IBM - erweitert 1.1 - nicht freigegeben
- PC-DOS 2.0 März 1983 für PC/XT, Unix-type Unterverzeichnisse unterstützen
- PC-DOS 2.1 Oktober 1983 für PCjr, Fehlerbeseitigungen für 2.0
- MS-DOS 2.11 Oktober 1983 gleichwertig wie PC-DOS 2.1
- MS-DOS 2.12 -------- ---- besondere Version für TI Professional
- PC-DOS 3.0 August 1984 1.2 Meg Laufwerke für PC/AT, neue Systemaufrufe
- PC-DOS 3.1 November 1984 Fehlerbeseitigung für 3.0, Netzwerkunterstützung
- MS-DOS 2.25 Oktober 1985 erweiterte Fremdsprachunterstützung
- PC-DOS 3.2 Dezember 1985 720k 3.5 Zoll Laufwerke unterstützen für Convertible
- MS-DOS 4.0 April 1986 multitasking (Europa ausschließlich) - zurückgezogen vom Markt
- PC-DOS 3.3 April 1987 für PS/2 Reihe, 1.44 Meg, mehrfach DOS Bereiche
- MS-DOS 3.31 November 1987 über-32 Meg große DOS Bereiche, neue Funktionsaufrufe
- PC-DOS 3.4 -------- ---- intern IBM - nicht freigegeben (4.0 Entwicklung)
- PC-DOS 4.0 August 1988 EMS Unterstützung, einige neue Funktionsaufrufe
- MS-DOS 4.01 Januar? 1989 Microsoft Version mit einigen Fehlerbeseitigungen
- MS-DOS 3.21R September1989 DOS im ROM, schnelles Dateisystem für laptops
-
- IBM's PC-DOS wird als die "Standard" Version von DOS betrachtet; Microsoft ver-
- kauft MS-DOS ausschließlich seit Version 3.2 (vorher, Microsoft verkaufte seine
- Versionen ausschließlich an OEMs). Die meisten Versionen von DOS haben die
- funktionsfähigen externen DOS Befehle wie DISKCOPY, etc. einfach über-
- nommen. Obgleich Microsoft angekündigt hat, daß MS-DOS 4.0 ausschließlich an
- OEMs verkauft wird, haben sie scheinbar ihre Verkaufspolitik geändert. Es wird
- jetzt auch so verkauft.
-
- Einige Versionen von MS-DOS variieren mit PC-DOS in der Anzahl der verfügbaren
- externen Befehle.
- Einige OEMs lassen ausschließlich die grundlegenden Betriebssystem Code's
- (der xxxDOS und xxxBIO Programme, und COMMAND.COM) von Microsoft zu, und jeder
- zweite hat sich den Rest selbst geschrieben oder bezog ihn von externen Soft-
- warehäuser wie Phoenix. Die meisten der externen Programme für DOS 3.x und 4.x
- sind in "C" geschrieben, während bei 1.x und 2.x die Dienstprogramme in der
- Sprache Assembler geschrieben waren. Andere OEMs verlangten kundenspezifische
- Versionen von DOS für ihre speziellen Hardware Konfigurationen, wie Sanyo 55x
- und die ersten Tandy Computer, welche unfähig waren, ihr DOS mit der IBM
- Version auszutauschen.
-
- PC-DOS 3.0 war bei der Freigabe äußerst fehlerhaft. Es verarbeitet das DOS
- Environment nicht korrekt und hat zahlreiche dokumentierte Probleme mit dem
- Syntaxanalysierer für Stapeldateien. Die Netzwerkunterstützung ist auch nicht
- funktionsfähig in dieser DOS Version. Es wird empfohlen, daß Benutzer
- wenigstens Version 3.1 benutzen.
-
- DEC MSDOS Version 2.11 für den Rainbow beinhaltete den ANSI.SYS Gerätetreiber
- bereits im Hauptcode. Der Rainbow benutzt ein einseitiges Disketten-
- laufwerk mit 4-facher Speicherdichte und dieses DOS hatte die Unterstützung
- dafür.
-
- IBM hatte ein Version 1.85 von PC-DOS in April 1983, nach der Einführung von DOS
- 2.0. Es wurde offensichtlich ausschließlich für interne Zwecke benutzt. Es
- unterstützt die Dateisuche auf mehreren Laufwerke (eine einfache Form von PATH),
- eingebaute MODE Funktionen zur Bildschirmunterstützung, ein /P Parameter für
- den TYPE Befehl zum anhalten nach einer Bilschirmseite, ein editierbarer
- Befehlsstapel gleich dem Public Domain Programm DOSEDIT.COM, und kann voll-
- ständig speicherresistent ins RAM geladen werden, anstelle der Aufteilung
- in einen speicherresistenten Teil und einen nicht resistenten Teil im normalem
- DOS.Es ist schade das einige dieser ordentlichen Erweiterungen nicht in DOS 2.0
- enthalten sind. IBM hatte auch eine "ausschließlich intern benutzte" Version
- 3.4, die offensichtlich solange benutzt wurde, bis DOS 4.0 entwickelt war.
-
- Digital Research's DR-DOS ist die erste allgemein verfügbare DOS Nachbildung.
- Version 3.4 war die erste verfügbare in der amerikanischen Öffentlichkeit.
- Es war sehr fehlerhaft und seine Benutzung wurde nicht empfohlen. DR 3.41
- ist äußerst kompatibel und es sollten keine Probleme auf irgendeine Maschine
- auftreten.
-
- Einige Versionen von DOS die in kompatiblen Computern benutzt werden, haben
- nicht die 1. x, 2. x, ... Nummern erhalten.
- Columbia Data Products Computer benannten DOS 1.25 wie DOS 2.0. Die ersten
- Compaqs benannten DOS 2.0 wie DOS 1.x. Andere Versionen vereinigen besondere
- Merkmale - Compaq DOS 3.31 und Wyse DOS 3.21 unterstützen beide 32-bit Datei-
- belegungstabellen in der derselben Art wie DOS 4.x.
-
- AT&T DOS 3.1 weicht von MSDOS 3.10 in der Benutzung der Clustergröße und
- dem Aufbau der Dateibelegungstabelle ab. AT&T DOS scheint die Vorgaben von
- Version 3 nicht zu benutzen, sondern die aus der Version 2.
-
- Epson EQUITY III und ComputerLand 3.10 DOS's scheinen Cluster Techniken zu
- benutzen, die ein Zwischending aus den Versionen 2 und 3 sind.
- Bei typischen DOS Bereichen, benutzen diese die 3.x Vorschriften falls die
- Aufteilung größer als 32680 Sektoren ist, was auch die 16 Bit FAT Einträge
- besagen. Auf Bereiche unterhalb dieser Größe, sie benutzen die 2.x Vorschriften,
- einschließlich der 12 Bit FAT Einträge.
-
- ZENITH DOS 3.x und Wyse DOS 3.2 haben einen internen Gerätetreiber eingebaut, zu
- um bis zu 4 32Mb DOS Bereiche auf einer einzelnen Festplatte zu verarbeiten.
- Wyse DOS 3.31 verarbeitet auch Bereiche bis zu 512Mb mit einer 32-bit FAT.
-
- Laut Berichten vom PC Week Magazine, Juli 4, 1988, werden arabische Versionen
- von MSDOS mit einem Hardware Kopierschutzsystem von Rainbow Technologies aus-
- geliefert. Dies ist ähnlich dem short-lived System das von AutoCAD 2.52 und
- einigen sehr wenigen anderen MSDOS Programme benutzt wird, wo ein Adapter
- auf den parallelen Port aufgesteckt wird und die Software macht die Benutzung
- abhängig von den codierten Bytes im Adapter. Dieser Typ von Kopierschutz
- wurde allgemein auf Commodore Produkte für einige Jahre eingesetzt, wo es auch
- ein "Dongle" genannt wurde.
- Der AutoCAD Dongle wurde von einem kleinen Programm geknackt, wenige Wochen dem
- Erscheinen der Version 2.52. Version 2.62 wurde 3 Monate später freigegeben,
- ohne den Dongle. Der DOS dongle verhindert jedoch, daß das System gestartet
- wird, falls der Dongle nicht gefunden wird.
- Dies macht die arabische Version von MSDOS zum ersten kopiergeschützten
- Betriebssystem, wobei zweifelhaft ist, ob dies eine gute Eigenschaft ist.
- Unterscheidung an beste. Die Modifikationen des Betriebssystems um den
- Dongle zu unterstützen zu dieser Zeit noch nicht bekannt. Offen gestanden,
- es erscheint einfacher und billiger das Betriebssystem in ROMs einzubrennen.
-
- Versionen von DOS die in Großbritannien verkauft werden, sind entweder neuer
- als jene in den USA oder benutzen ein anderes Numerierungssystem.
- DOS 3.4, 4.0, 4.1, 4.2, und 4.3 freigegeben zwischen den US Versione 3.3
- und 4.0.
- MSDOS 4.0 wurde in Europa Mitte 1987eingeführt (auf der SICOB in Paris und
- irgendwann früher von Apricot Computer in England). Es stellt scheinbar
- Multitasking zur Verfügung, sofern die Anwendungen hierfür speziell geschrieben
- wurden.
- David Fraser (geschäftsführender Direktor bei Microsoft UK) sagt "es ist
- unwahrscheinlich, das DOS 4.0 in der Welt Bedeutung erlangt, es ist nur für
- OEMs von Interesse welche seine Merkmale für Netzwerkbetrieb und
- Kommunikationstechnik benötigen." Standard DOS Anwendungen laufen unter DOS 4.x
- im Vordergrund ab, entsprechend den zu unsicheren Information. Es weicht ab von
- früher Versionen, die es ausschließlich erlauben im Hintergrund Aufgaben auszu-
- führen. Es gibt zur Zeit keine Information wieviel Programme auf einmal ablaufen
- können/Speicherbedarf etc.
- Zu dieser Zeit. Es
- Es kann eine typische Anwendung für MS-DOS 3.2 oder frühere Versionen im
- Vordergrund ablaufen, während ein speziell hierfür geschriebenes Programm
- im Hintergrund abläuft.
-
- Microsoft hat seine OEM Lizenzverträge zwischen den DOS Versionen 2.x und 3.x
- geändert. OEM Versionen von DOS 3.x müssen sicher die Datenbereiche und die
- nicht dokumentierten Funktionen unterstützen, damit die Kompatibilität mit den
- Netzwerkfunktionen des Betriebssystem gewährleistet ist. Aus diesem Grund
- werden speicherresistente Programme viel verläßlicher arbeiten, wenn diese
- unter DOS 3.x ablaufen.
-
- Mindestens zwei Versionen von DOS wurden so modifiziert, daß sie völlig im ROM
- untergebracht wurden. Der Sharp PC5000 hatte MSDOS 1.25 im ROM, und der Toshiba
- 1000 und einige Tandy 1000 Modelle haben MSDOS 2.11 im ROM. Digital Research
- hat auch angekündigt, das sein DR-DOS in einer ROM Version verfügbar ist und
- Award Software bietet DOS als Steckkarten für OEMs an.
-
- Einige OEM Verkäufer (Toshiba, Tandy) hatte den Quellcode von DOS gekauft,
- (man munkelte für ca. $100.000,00) und entwickelten ihre eigenene ROM
- Versionen von DOS. Im September 1989 kündigte Microsoft die Verfügbarkeit von
- MS-DOS 3.21R auf ROM zum Verkauf für OEMs an. Psion, Headstart, und Emerson
- haben angekündigt, daß einige ihrer neuen Modelle die neuen DOS ROMs benutzen
- werden.
- Davon abgesehen, $100,000 als Preis für den Quellcode von DOS ist furchtbar
- niedrig, in Anbetracht das verschiedene bekannte kaufmännische Softwarepakete
- $50.000,00 für eine nicht kopiergeschützte Version benötigen.
-
- IBM's Freigabe von DOS 4.0 (und der sofortigen nachträglichen Freigabe einer
- Fehlerbeseitigung) ist ein zweifelhafter Schritt nach vorne. DOS 4.0 ist die
- erste Version von DOS einer Garantie; diese wird jedoch ausschließlich für eine
- geringe Anzahl von IBM-Softwarepakete gegeben.
- 4.0 hat eine geringe EMS Unterstützung, unterstützt größere Festplatten, aber
- sonst nicht viel mehr. Mit seinem unersättlichen RAM Forderungen und mangels
- Kompatibilität mit vorhergehenden Versionen von DOS (viele wichtige
- Softwarepakete stürzen unter DOS 4. 0 ab), plus der erhöhte Preis von $150,
- da wird es keine großen Andrang auf das neueste DOS geben.
-
- IBM's PC LAN Software 1.2 läuft nicht unter DOS 4.0. Version 1.3 oder höher
- wird verlangt.
-
-
-
- Die Betriebssystem Hierarchie├──────────────────────────────────────── 1**5
-
-
- Das Diskettenbetriebssystem (DOS) und das ROM BIOS dienen wie eine isolierende
- Ebene zwischen dem Anwenderprogramm und der Maschine, und wie ein Quelle von
- Dienstleistungen zu dem Anwenderprogramm.
-
- Wie der Ausdruck 'System' vorraussetzt, ist DOS nicht ein Programm sondern eine
- Sammlung von Programmen die dafür geschaffen wurden um dem Anwender zu erlauben
- auf Programme und Daten zuzugreifen.
- Folglich besteht DOS aus verschiedene Schichten von "Steuerungs" Programme und
- eine Sammlung von "Dienstprogrammen".
-
- Die System Hierarchie kann man sich wie einen Baum vorstellen, auf der
- niedrigsten Ebene befindet sich die eigentliche Hardware. Der 8088 oder V20
- Prozessor betrachtet den Adressbereich des Computers wie eine Leiter
- zwei Bytes breit und eine Million Bytes lang. Teile von dieser Leiter sind
- im ROM, Teile im RAM, und Teile die nirgends zugewiesen sind. Da sind auch
- 65556 "Ports" die der Prozessor benutzen kann, um Geräte zu steuern.
-
- Die Hardware wird normalerweise über das ROM BIOS angesprochen, welches
- wissen müßte, was im System vorhanden ist. Diese Chips können gewöhnlich
- auch direkt beschrieben werden, man muß dem Porzessor nur mitteilen, an
- welche Adresse oder Port geschrieben werden soll. Dies funktioniert manchmal
- nicht, da der Chips nicht immer die gleiche Adresse haben müssen, oder
- verschiedene Funktionen von Maschine zu Maschine haben.
-
-
-
- DOS Aufbau├───────────────────────────────────────────────────────── 1**6
-
- DOS besteht aus vier Bestandteile:
-
- * dem Startprogramm
- * die ROM BIOS Schnittstelle (IBMBIO.COM, DRBIOS.SYS, oder IO.SYS)
- * der DOS Programmdatei (IBMDOS.COM, DRBDOS.SYS, oder MSDOS.SYS)
- * dem Kommandoprozessor (COMMAND.COM oder ein späterer Austausch)
-
-
- * das Startprogramm
-
- Das Startprogramm beginnt auf Spur 0, Sektor 1, Seite 0 auf jeder Diskette die
- von DOS formatiert wurde. Das Startprogramm auf den Disketten dient dem Zweck
- eine Fehlermeldung erzeugen, falls versucht wird das System mit einer Diskette
- in Laufwerk A zu starten, die kein Betriebssystem enthält. Bei Festplatten haust
- das Startprogramm auf dem ersten Sektor des DOS Bereiches. Alle Medien die
- von DOS unterstützt werden, bei DOS benutzen einen Sektor für das Startprogramm.
-
-
- * nur Lesespeicher (ROM) BIOS Schnittstelle und Erweiterungen
-
- Die Datei IBMBIO.COM oder IO.SYS ist das Schnittstellenmodul zum ROM BIOS.
- Diese Datei liefert eine Schnittstelle auf niedrigster Ebene zu den
- ROM BIOS Geräteroutinen und kann Erweiterungen oder Änderungen zu den
- ROMs auf dem Systemplatine enthalten. Einige Kompatibele haben kein ROM BIOS
- zum erweitern, diese laden das vollständig BIOS von der Festplatte. (Sanyo 55x,
- Viasyn Maschinen). Einige Versionen von MSDOS, etwa jene die an Tandy geliefert
- wurden, heißen zwar IBMBIO.COM sind aber keine IBM Dateien.
-
- Diese Schnittstellenroutinen beinhalten die Anweisungen um Transaktionen durch-
- zuführen, etwa Anzeigen von Information auf dem Bildschirm, lesen der Tastatur,
- Daten an den Drucker senden, Bedienung der Diskettenlaufwerke, und so weiter.
- Es ist die Aufgabe des Betriebssystems die Hardware zu beaufsichtigen.
- IBMBIO.COM enthält irgendwelche Modifikationen oder Updates zum ROM BIOS,
- die dazu benötigt werden um irgendwelche Fehler zu beseitigen oder die
- Unterstüzung von hinzugefügter Hardware wie neue Diskettenlaufwerke zu
- gewährleisten. Bei Benutzung von IBMBIO.COM um das ROM BIOS zu aktualisieren
- werden diese wirksam sobald der Anwender sein Computer einschaltet. IBM braucht
- den ROM BIOS Chip selbst nicht zu ersetzen, kann aber irgendwelche
- Verbesserungen mit der billigeren und leichteren Methode durchführen, indem
- die Datei IBMBIO.COM modifiziert wird.
-
- IBMBIO. COM zeichnet die Hardware Transaktionen auf einen internen Stapel oder
- "Notizblock" Bereich für das Betriebssystem auf, um die Information wie benötigte
- Adressen, etc. zu sichern. Eine Beispiel für die Benutzung dieses Stapels kann
- kann man erkennen, sobald ein Textprogramm gestartet wird. Falls dem Textprogramm
- die Naweisung zum sichern des Textes gegeben wird, schreibet es die Daten auf
- die Festplatte. Falls während dieser Zeit Eingaben getätigt werden erzeugt die
- Tastatur erzeugt einen Hardware Interrupt. Wenn das schreiben auf die Platte
- nicht unterbrochen werden soll, belegt DOS einen
- zu der Festplatte sein unterbrach, DOS belegt ein Platz auf dem Stapel um den
- Tastatur Hardware Interrupt zu sichern und sobald es die Chance bekommt
- (wahrscheinlich nachdem die Daten auf der Festplatte geschrieben wurden),
- den Interrupt abzuarbeiten holt es sich das Zeichen das eingegeben wurde.
- Der STACKS= Befehl ab DOS 3.2 in der CONFIG.SYS Datei gibt die Anzahl der Stapel
- an, die für diesen Zweck verfügbar sein sollen.
-
- IBMBIO. COM liest auch die CONFIG.SYS Datei und installiert irgendwelche
- Gerätetreiber (z.b. DEVICE=ANSI.SYS) oder führt Befehle zur Konfiguration
- aus, die auch darin enthalten sind.
-
-
-
- * das DOS Programm
-
- Das eigentliche DOS Programm ist die Datei IBMDOS.COM oder MSDOS.SYS. Es liefert
- eine Schnittstelle für Anwenderprogramme auf höherer Ebene. Dieses Programm
- besteht aus Routinen zur Dateihandhabung, Blocken/Entblocken von Daten für die
- Festplattenroutinen, und eine Vielfalt von eingebauten Funktionen auf die die
- Anwenderprogramme leicht zugreifen können.
-
- Sobald ein Anwenderprogramm diese Funktion aufruft, erhalten sie Informationen
- über den Inhalt von Registern und der Kontrollblöcke. Sobald ein Anwender-
- programm DOS aufruft um einen Arbeitsgang durchzuführen, diese Funktionen
- übersetzen die Anforderung in ein oder mehrere Aufrufe an IBMBIO.COM, MSDOS.SYS
- oder der Systemhardware um die Anforderung zu vervollständigen.
-
- Dieser Abschnitt wird von Systemprogrammierer oft als "Kern" bezeichnet.
-
-
-
- * der Befehlsinterpreter
-
- Der Befehlsinterpreter, COMMAND.COM, ist der Teil der wirksam wird, wenn eine
- Befehlszeile eingegeben wird. COMMAND.COM besteht aus drei Teilen. IBM
- bezeichnet diese als "speicherresistenten Bereich , den " Initialisierungs-
- bereich" und den "vorrübergehenden Bereich".
-
- IBM's Originaldokumentation erklärt zwar die Installation eines alternativen
- Befehlsinterpreter (andere als COMMAND.COM) mit der SHELL=Anweisung in der
- CONFIG.SYS. Leider dokumentierte IBM nicht viel über die Wechselwirkung
- zwischen IBMDOS.COM und IBMBIO.COM. Mit der Zeit wurden diese Wechselwirkungen
- allgemein verständlich, viele kommerzielle Softwareprogramme wurden geschrieben
- die die Eigenheiten von COMMAND.COM selbst nutzen.
-
- Es existieren zwei Programme die den eigentlichen "Befehlsinterpreter"
- COMMAND.COM komplett durch ihren eigenen Befehlsinterpreter ersetzen und die
- versteckten DOS Dateien benutzen. Dies sind Command Plus, ein kommerzielles
- Paket, und das sehr interessante Sharewarepaket 4DOS. Beide bieten außerdem
- eine erweiterte Stapelverarbeitung und bessere Bearbeitungsfähigkeiten.
-
- Anmerkung: DOS 3.3+ überprüft das Vorhandensein einer Festplatte, um COMSPEC=C:\
- vorzugeben. Vorhergehende Versionen gegeben COMSPEC=A:\ vor. Bei
- einigen DOS Versionen kann das System abstürzen, falls COMMAND.COM
- nicht unmittelbar zum Nachladen verfügbar ist.
-
-
- Speicherresistenter Bereich:
-
- Der speicherresistente Bereich folgt in Speicher unmittelbar nach IBMDOS.COM und
- seinem Datenbereich. Dieser Bereich enthält Routinen zum abarbeiten des Inter-
- rupts 22h (Adresse zur Programmbeendigung), 23h(Ctrl-Break Routine), und
- 24h(Kritische Fehler Routine), sowie eine Routine die den vorrübergehenden
- Bereich nachlädt, falls dieser benötigt wird. Ab DOS 3.x, enthält dieser
- Bereich auch eine Routine zum laden und ausführen externer Befehle, wie Dateien
- mit den Erweiterungen von COM oder EXE.
-
- Sobald ein Programm beendet wird, wird anhand einer Prüfsumme festgestellt ob
- das Programm den vorrübergehend Bereich von COMMAND.COM überlagert. Falls dies
- der Fall ist, lädt der speicherresistente Teil den vorrübergehende Bereich von
- dem Medium, das bei der COMSPEC= Anweisung festgelegt wurde. Wenn COMMAND.COM
- nicht gefunden wird, wird das System angehalten.
-
- Alle Standard DOS Fehlerbehandlungen werden im speicherresistenten Bereich
- von COMMAND.COM abgewickelt. Dieser beinhaltet das Anzeigen der Fehlermeldungen
- und die Interpretation der Antwortet auf die "Abbrechen, Wiederholen, Ignorieren,
- Fehler? " Meldung.
-
- Weil der vorrübergehend Bereich von COMMAND.COM so groß ist (beinhaltet die
- internen Befehle und alle Fehlermeldungen), kann dieser vom Anwenderprogramm
- überlagert werden, da er zu dem Zeitpunkt nicht benötigt wird.
- Sobald der Anwendung beendet ist, lädt der speicherresistente Teil von
- COMMAND.COM den vorrübergehend Bereich wieder in den Speicher und zeigt
- das Anforderungszeichen. Dies ist der Grund, warum manchmal die Meldung
- "Diskette mit COMMAND.COM einlegen" erscheint. Es wird benötigt um den
- vorrübergehend Bereich von der Diskette zu laden, der vom Anwenderprogramm
- überlagert wurde.
-
- Der Initialisierungsbereich von COMMAND.COM folgt dem speicherresistenten Teil
- und übernimmt die Steuerung während das System gestartet wird. Dieser Teil
- führt AUTOEXEC.BAT Datei aus. Er entscheidet auch wohin Anwenderprogramme
- geladen werden, sobald diese ausgeführt werden. Dieser Teil wird ausschließlich
- beim Systemstart benötigt, und wird vom ersten Programm das COMMAND.COM lädt
- überlagert.
-
- Der vorrübergehend Bereich wird ans obere Ende vom Speicher geladen und es ist
- der Kommandoprozessor selbst. Er interpretiert auch was der Anwender über die
- Tastatur eingibt und gibt die Meldungen wie "Falscher Befehl oder Dateiname"
- aus, sobald der Anwender einen falschen Befehl eingibt.
- Dieser Bereich enthält ebenso alle internen Befehle (z.B. COPY, DIR, RENAME,
- ERASE), den Prozessor für die Stapeldateien Prozessor (um .BAT Dateien auszu-
- führen) und eine Routine um die externen Befehle welche aus .COM oder .EXE
- Dateien bestehen auszuführen.
-
- Der vorrübergehend Bereich von COMMAND.COM produziert das Anforderungszeichen
- vom System, ( C>), liest die Daten die der Anwender über die Tastatur eingibt
- und versucht diese zu verarbeiten. Für .COM oder .EXE Dateien, erstellt er
- eine Befehlszeile und gibt einen EXEC Funktionsaufruf aus um das Programm zu
- laden und übergibt dann an dieses die Steuerung.
-
-
-
- DOS Initialisierung├──────────────────────────────────────────────────── 1**7
-
- Das System wird initialisiert durch einen Softwarereset(Ctrl-Alt-Del),
- einen Hardwarereset (Reset Taste), oder beim einschalten des Computer. Der
- Prozessor der Intel 80x8x Reihe holen sich die erste Instruktion immer vom
- Ende von ihres Adreßbereiches (0FFFF0h) sobald eine der drei Arten zur
- Systeminitialisierung druchgeführt wird. Diese Adresse enthält ein Sprung zu
- der ersten Instruktion für das ROM BIOS.
-
- Eingebaute ROM Programme (Power-On Self-Test, oder POST, in dem IBM)
- kontrollieren den Maschinenzustand und führen verschiedene Prüfprogramme aus.
- Einige Maschinen stellen in einem reservierten RAM Bereich Bytes ab, die die
- installierte Ausstattung enthalten (AT und PCjr).
-
- Sobald das ROM BIOS ein ROM auf einer Adapterkarte findet, überläßt es dem ROM
- die Steuerung um die Hardware oder Software, damit dieses dann die benötigten
- Einstellungen und Prüfungen vornehmen kann.
- Das ROM BIOS durchsucht die absoluten Adressen von C8000h bis E0000h in 2K
- Schritten um ein gültiges ROM zu suchen. Ein gültiges ROM wird über die
- ersten Bytes des ROMs erkannt. Das ROM enthält die Bytes 55h, AAh, ein
- Längenkennzeichen und dann die Assembleranweisung CALL FAR (zum aufrufen einer
- "FAR" Routine). Ein Prüfsumme wird gebildet um seine Integrität zu prüfen und
- danach führt das BIOS den CALL FAR zu dem Programm im ROM aus. Diese führt dann
- seine Initialisierungsaufgaben und übergibt dann hoffentlich die Steuerung an
- den Computer zurück, damit das ROM BIOS die Startroutine fortsetzen kann.
-
- Das ROM BIOS Routinen sucht dann nach einen Laufwerk A: oder eine ROM Erweiterung
- (gewöhnlich ein Festplatte) an der absoluten Adresse C:800h. Wenn kein Disketten-
- laufwerk oder keine ROM Erweiterung gefunden wurde, ruft das BIOS den int 19h
- (ROM BASIC falls es ein IBM ist) auf oder zeigt eine Fehlermeldung an.
-
- Falls ein startfähige Festplatte gefunden wird, lädt das ROM BIOS den ersten
- Sektor mit Information von der Festplatte und springt dann an die Stelle im
- RAM die den Code enthält. Dieser Code besteht normalerweise aus einer
- Routine die den Rest von dem Code von der Festplatte holt, oder zu "Starten"
- des Systems.
-
- Der folgenden Aktionen treten nach einer Systeminitialisierung auf:
-
- 1. Der Startprogramm wird in den Speicher gelesen und übernimmt die Steuerung.
-
- 2. Der Startprogramm überprüft dann das Hauptverzeichnis um sicherzustellen,
- daß der ersten zwei Dateien IBMBIO.COM und IBMDOS.COM sind. Diese zwei
- Dateien müssen die ersten zwei Dateien sein (IBMBIO.COM als erste, in
- zusammenhängenden Sektoren).
- Anmerkung: IBMDOS.COM braucht nicht zusammenhängend sein in Version 3.x+.
-
- 3. Der Startprogramm lädt IBMBIO.COM in den Speicher.
-
- 4. Der Initialisierungcode in IBMBIO.COM lädt IBMDOS.COM, stellt die Aus-
- stattung fest, setzt das Festplattensystem zurück, initializiert die
- angeschlossenen Geräte, setzt die Systemparameter und lädt die
- installierbaren Gerätetreiber entsprechend der CONFIG.SYS Datei im Haupt-
- verzeichnis( falls vorhanden), setzt die niedrigen Interruptvektoren,
- verschiebt IBMDOS.COM dahinter und ruft das erste Byte von DOS auf.
- Anmerkung: CONFIG.SYS kann eine versteckte Datei sein.
-
- 5. DOS initializiert seine internen Arbeitstabellen, initializiert die
- Interruptvektoren für Interrupts 20h bis 27h, und erstellt ein Programm-
- Segment-Präfix für COMMAND.COM an dem niedrigsten verfügbaren Segment.
- Für DOS Versionen ab 3.10, DOS initializiert auch die Vektoren für die
- Interrupts 0Fh bis 3Fh. Eine Initialisierungsroutine die die Steuerung
- während des Systemstarts übernimmt ist im speicherresistenten Bereich
- enthalten. Dies Routine enthält die Steuerung für die AUTOEXEC.BAT Datei
- und bestimmt die Segmentadresse wohin die Anwenderprogramme geladen werden.
- Der Initialisierungsroutine wird dann nicht mehr benötigt und wird vom
- ersten Programm überlagert das durch COMMAND.COM geladen wird.
- Anmerkung: AUTOEXEC.BAT kann eine versteckte Datei sein.
-
- 6. IBMBIO.COM benutzt den EXEC Funktionsaufruf um den Kommandoprozessor zu
- laden und zu starten. Der vorgegebene Kommandoprozessor ist COMMAND.COM in
- dem Hauptverzeichnis vom Startlaufwerk. Falls COMMAND.COM in einem Unter-
- verzeichnis ist oder ein anderer Kommandoprozessor benutzt wird, muß
- dies mit der Anweisung SHELL= in der Datei CONFIG.SYS spezifiziert sein.
- Ein vorrübergehender Bereich wird an das obere Ende von Speicher geladen.
- Dies ist der Kommandoprozessor selbst und beinhaltet alle internen Befehle
- und den Prozessor für die Stapeldateien. Für DOS 2. x, dieser Bereich
- enthält auch eine Routine um die externen Befehle welche aus .COM oder
- .EXE Dateien bestehen auszuführen.
- Dieser Bereich von COMMAND.COM produziert auch das DOS Anforderungszeichen
- ( wie "A>"), liest die Befehl von dem Standardeingabegerät (normalerweise
- die Tastatur oder eine Stapeldatei), und führt diese Befehl aus. Für externe
- Befehle erstellt er eine Befehlszeile und gibt einen EXEC Funktionsaufruf
- aus um das Programm zu laden und übergibt dann an dieses die Steuerung.
-
-
- Anmerkung 1) COMMAND.COM kann eine versteckte Datei sein.
- 2) In IBM DOS 2.x, der vorrübergehende Bereich vom Kommandoprozessor
- enthält der EXEC Routine die die externe Befehle lädt und ausführt.
- In MSDOS 2.x+ und IBM DOS 3.x+ enthält der speicherresistente
- Bereich die EXEC Routine.
- 3) IBMBIO überprüft ausschließlich ob eine Datei mit dem Namen
- "COMMAND.COM" existiert und lädt diese Datei, sofern mit der
- Anweisung SHELL= nichts anderes angegeben wurde.
-
-
- Das ist sehr viel was als Startprozess abläuft. Nachdem COMMAND.COM geladen ist,
- wir die Datei AUTOEXEC.BAT abgearbeitet und der Anwender bekommt das
- Anforderungszeichen zum Arbeitsbeginn.
-
-