home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / doc / techref / kapitel.001 < prev    next >
Text File  |  1993-03-01  |  36KB  |  645 lines

  1.  
  2.      ** technische Referenz für Programmierer für MSDOS und den IBM PC **
  3.  ─────────────────────────┤ eingetragene Anwenderversion ├───────────────────────────
  4.                          nicht für den allgemeinen Vertrieb 
  5.                     Urheberrecht (c) 1987, 1990 Dave Williams
  6.               Deutsche Übersetzung Urheberrecht (c) 1990 Klaus Overhage
  7.          Änderungen und Erweiterungen Urheberrecht (c) 1990 Klaus Overhage
  8.  
  9.  
  10.                             K A P I T E L      E I N S
  11.  
  12.                               DOS und der IBM PC 
  13.  
  14.  
  15.                                 I N H A L T E 
  16.  
  17. Eine Chronik ..........................................................1**1 
  18. Was ist DOS? ..........................................................1**2
  19. Andere Betriebssysteme ................................................1**3
  20. Wesentliche Versionen von MS/PC-DOS ...................................1**4
  21. die Betriebssystem Hierarchie .........................................1**5
  22. DOS Aufbau ............................................................1**6
  23. DOS Initialisierung ...................................................1**7
  24.  
  25.  
  26.  
  27. Eine Chronik ├──────────────────────────────────────────────────────────1**1
  28.  
  29. Die Entwicklung von MSDOS/PCDOS begann in Oktober 1980, als IBM ein Betriebs-
  30. system für den nocht nicht vorgestellten IBM PC suchte.
  31. Microsoft hatte kein echtes Betriebssystem zu verkaufen, fand aber nach einiger
  32. Zeit das 86-DOS Betriebssystem von Seattle Computer Products, welches ein Mann
  33. namens Tim Paterson Anfang 1980 für die 8086 S100 Bus Mikros der Firma
  34. geschrieben hatte.
  35. 86-DOS (auch QDOS genannt, für schnell und schmutziges Betriebssystem) wurde
  36. mehr oder weniger wie eine 16-bit Version von CP/M geschrieben, weil Digital
  37. Research keine Eile mit der Einführung von CP/M-86 hatte.
  38.  
  39. Dieser Code war flüchtig aufpoliert und von IBM zur Auswertung präsentiert. IBM
  40. hatte zunächst geplant Digital Research's CP/M Betriebssystem zu benutzen, das
  41. zu dieser Zeit der Industriestandard war. Die Leute berichteten über gesetzliche
  42. Unklarheiten und kurz abgefertigte IBM Vertreter von Digital, ohne sich um
  43. diese zu kümmern.
  44. IBM fand es selber, als Microsoft das "Microsoft Festplattenbetriebssystem 1.0"
  45. anbot. Eine Vertrag zwischen den beiden wurde abgeschlossen, als IBM beschloß
  46. 86-DOS als Hauptbetriebssystem für deren neuen PC zu benutzen. Microsoft kaufte
  47. alle Rechte zu 86-DOS in Juli 1981, und "IBM PC-DOS 1.0" war fertig, als der
  48. IBM PC im Oktober 1981 auf den Markt gebracht wurde.
  49. IBM unterwarf das Betriebssystem einer umfassenden Qualitätsprüfung, wobei wie
  50. verlautete, ca. 300 Fehler gefunden wurden. Daraufhin entschloß sich IBM,
  51. die Programme neu zu schreiben.
  52. Dies ist der Grund, weshalb das Urheberrecht von PC-DOS bei IBM und Microsoft
  53. liegt.
  54.  
  55. Es ist manchmal amüsant, ein Blick zurückzuwerfen auf die Tatsache, daß der
  56. IBM PC nicht dafür gedacht war, MSDOS als Betriebssystem zu benutzen.
  57. Das Zielbetriebssystem am Ende der Entwicklung war eine (immer noch nicht
  58. existierende) 8086 Version von CP/M. Auf der anderen Seite, als DOS geschrieben
  59. wurde, existierte der IBM PC noch nicht! Obgleich PC-DOS zusammen mit dem
  60. Computer ausgeliefert wurde, Digital Research's CP/M-86 sollte wahrscheinlich
  61. das Hauptbetriebssystem für den PC sein, wogegen im wesentlichen zwei Dinge
  62. sprachen - Digital Research wollte $495 für CP/M-86 (in Anbetracht dessen, PC-DOS war
  63. im wesentlichen frei) und viele Softwareentwickler fanden es leichter, bereits
  64. existierende CP/M Software für DOS umzuschreiben als für die neue Version
  65. von CP/M.
  66.  
  67. Verschiedene Computerzeitschriften behaupten, daß Digital Research IBM beim
  68. entwickeln von DOS 4.0 behilflich war, welches nachträglich von Microsoft
  69. zugelassen und unterstützt wurde. Die weitere Entwicklung von OS/2 wurde
  70. vorläufig gestoppt.
  71. Nach Benutzung von DR-DOS 3.4 und erkenntnis seiner Arbeitsweise, neige ich jetzt
  72. dazu, ernsthaft zu bezweifeln das Digital irgendeine Beziehungen zu PC-DOS 4.0
  73. hatte. Auch IBM aber behauptet daß DOS 4.0 ein komplettes IBM Produkt ist.
  74.  
  75. MSDOS und PC-DOS wird mehr als nur auf dem IBM-PC und seinen Nachbauten
  76. eingesetzt. Einige hiervon sind nachfolgend aufgeführt:
  77.  
  78.  Hardware PC Nachbildung: 
  79.  
  80.         Apple II -> TransPC 8088 Karte, QuadRam QuadLink 
  81.         Apple MacIntosh -> AST 80286 Karte 
  82.         Atari 400 / 800 -> Co-Power 88 Karte 
  83.         Atari ST -> PC-Ditto II Kassette 
  84.         Commodore Amiga 2000 -> 8088 oder A2286D 80286 Bridge Board
  85.         IBM PC / RT -> 80286 AT Adapter 
  86.         Kaypro 2 -> Co-Power Plus Karte 
  87.  
  88.  Software PC Nachbildung: 
  89.  
  90.         Apple MacIntosh -> SoftPC 
  91.         Atari ST -> PC-Ditto I
  92.  
  93.  DOS Nachbildung: 
  94.  
  95.         OS/2 -> DOS Nachbildung in der "Kompatibilitäts Box"
  96.         QNX -> DOS Fenster 
  97.         SunOS -> DOS Fenster 
  98.         Xenix -> DOS Nachbildung mit DOSMerge 
  99.  
  100.  
  101. Was ist DOS?├────────────────────────────────────────────────────────── 1**2
  102.  
  103. DOS existiert wie eine höhere Schnittstelle zwischen einem Anwenderprogramm und
  104. dem Computer. DOS steht für "Diskettenbetriebssystem", welches auf die Tatsache
  105. zurückzuführen ist, daß der Hauptzweck war, eine Schnittstelle zwischen dem
  106. Computer und seinen Diskettenlaufwerke zu liefern.
  107.  
  108. DOS läßt die Programme einfache Speicherverwaltung ausführen, Ein- und Ausgaben
  109. I/O von der Systemkonsole, und andere Systemaufgaben (Uhrzeit und Datum, etc.)
  110. wie durchführen von Festplattentransaktionen. Ab Versionen 3.1 und aufwärts
  111. werden auch grundlegende Funktionen für den Netzwerkbetrieb integriert.
  112.  
  113. Mit der Einführung von installierbaren Gerätetreibern und TSR (beenden aber
  114. verbleiben speicherresistent) Programmen in DOS 2.0, können die Grundfunktionen
  115. von DOS so praktisch bis auf die benötigten Funktionen erweitert werden.
  116.  
  117.  
  118. Andere Betriebssysteme├─────────────────────────────────────────────── 1**3
  119.  
  120. Es gibt eine Anzahl kompatibler Ersatzsysteme für Microsoft's MSDOS.
  121. Einige sind:
  122.  
  123. Consortium Technologies MultiDOS (multitasking, multiuser)
  124. Digital Research Concurrent DOS (multitasking)
  125. Digital Research Concurrent DOS 386 (für 80386 computer)
  126. Digital Research Concurrent DOS XM (multitasking, multiuser)
  127. Digital Research DR-DOS 3.31 und 4.0 (PC-DOS Nachbauten)
  128. PC-MOS/386 (multitasking, multiuser)
  129. Wendin-DOS (multitasking, multiuser)
  130. VM/386 (multitasking)
  131.  
  132.  
  133. Verschiedenartige andere Betriebssysteme sind verfügbar für den IBM PC.
  134. Diese beinhalten:
  135.  
  136. Digital Research CP/M-86 
  137. Digital Research Concurrent CP/M-86 (multitasking)
  138. Minix (multitasking ähnlich UNIX)
  139. Pick (database-operating System)
  140. QNX (multitasking, multiuser)
  141. UNIX (verschiedenartige Systeme von IBM selbst, Microsoft-SCO, Bell, und
  142.      verschiedene UNIX Nachbauten, Single und multiuser) (AIX, Xenix,
  143.      AT&T System V, etc.)
  144.  
  145. "Befehlsinterpreter" Programme existieren, welche benutzen DOS ausschließlich
  146. für die Disketten/Platten Operationen obwohl sie mehr oder weniger ein neues
  147. Betriebssystem enthalten. Diese beinhalten:
  148.  
  149.      DesQview               Windows                   OmniView
  150.      GEM                    TopView                   TaskView
  151.  
  152. Systeme die die CPUs der NEC V-Serien benutzen, können Intel 8080/8085 8-bit
  153. wie auch die 16-bit (8088 und größer) Anweisungen verarbeiten. Diese können
  154. außerdem das Standard Digital Research 8-bit CP/M und MP/M direkt ausführen,
  155. sowie andere Betriebssystem die für diesen Prozessor entwickelt wurden.
  156.  
  157.  
  158.  
  159. Wesentlich Versionen von MS/PC-DOS├────────────────────────────────────────1**4
  160.  
  161. DOS 1.x ist im wesentlichen 86-DOS. DOS 2.x behielt die mehrfach Dateianordnung
  162. (die zwei versteckten Dateien und COMMAND.COM) aber es ist ein völlig
  163. unterschiedliches Betriebssystem mit Rückwärtskompatibilität mit 1.x. Ich
  164. bezweifel ernsthaft, das in 2.x noch viel Code von 1.x enthalten ist. DOS 3.x
  165. ist nur eine Erweiterung von 2.x; es wurde weniger geändert als der große
  166. Sprung der Versionsnummer vermuten läßt. DOS 4.0, entstand ohne Microsoft, sodaß
  167. der Sprung auf die höhere Versionsnummer gewählt wurde. Leider sind wenig
  168. Gründe zu erkennen, die die Existenz von 4.x sprechen - praktisch alle von
  169. seinen Kernmerkmalen sind in der ein oder anderen Version von DOS 3.x schon
  170. enthalten.
  171.  
  172. DOS Versionsbezeichnungen: Haupt.Neben.Neben. Die Ziffer links von dem Punkt
  173. zeigt die Hauptversion von DOS. 1.0 war der erste Version. 2.0 wurde um die
  174. Unterstützung der Unterverzeichnisse erweitert, 3. 0 erhielt die Unterstützung
  175. für den Netzwerkbetrieb, 4.0 erlaubt eine minimale Unterstüzung des
  176. Lotus-Intel-Microsoft EMS.
  177.  
  178. Die erste Nebenversion zeigt eine Anpassung für eine Hauptanwendung. Als Beispiel,
  179. 2.1 für den PCjr, 3.3 für die PS/2s. Die zweite Nebenversion scheint keine
  180. Bedeutung für irgendwelche Einzelheiten zu haben.
  181.  
  182.  Der Hauptversionen von DOS sind:
  183.  
  184.  PC-DOS 1.0   August   1981 Originalversion
  185.  PC-DOS 1.05  -------- ---- Änderungen beim BASIC Interpreter
  186.  PC-DOS 1.1   Mai      1982 Fehlerbehebung, doppelseitige Laufwerksunterstützung
  187.  MS-DOS 1.25  Juni     1982 für die ersten kompatiblen
  188.  PC-DOS 1.86  -------- ---- intern IBM - erweitert 1.1 - nicht freigegeben
  189.  PC-DOS 2.0   März     1983 für PC/XT, Unix-type Unterverzeichnisse unterstützen
  190.  PC-DOS 2.1   Oktober  1983 für PCjr, Fehlerbeseitigungen für 2.0
  191.  MS-DOS 2.11  Oktober  1983 gleichwertig wie PC-DOS 2.1
  192.  MS-DOS 2.12  -------- ---- besondere Version für TI Professional
  193.  PC-DOS 3.0   August   1984 1.2 Meg Laufwerke für PC/AT, neue Systemaufrufe
  194.  PC-DOS 3.1   November 1984 Fehlerbeseitigung für 3.0, Netzwerkunterstützung
  195.  MS-DOS 2.25  Oktober  1985 erweiterte Fremdsprachunterstützung
  196.  PC-DOS 3.2   Dezember 1985 720k 3.5 Zoll Laufwerke unterstützen für Convertible
  197.  MS-DOS 4.0   April    1986 multitasking (Europa ausschließlich) - zurückgezogen vom Markt
  198.  PC-DOS 3.3   April    1987 für PS/2 Reihe, 1.44 Meg, mehrfach DOS Bereiche
  199.  MS-DOS 3.31  November 1987 über-32 Meg große DOS Bereiche, neue Funktionsaufrufe
  200.  PC-DOS 3.4   -------- ---- intern IBM - nicht freigegeben (4.0 Entwicklung)
  201.  PC-DOS 4.0   August   1988 EMS Unterstützung, einige neue Funktionsaufrufe
  202.  MS-DOS 4.01  Januar?  1989 Microsoft Version mit einigen Fehlerbeseitigungen
  203.  MS-DOS 3.21R September1989 DOS im ROM, schnelles Dateisystem für laptops
  204.  
  205. IBM's PC-DOS wird als die "Standard" Version von DOS betrachtet; Microsoft ver-
  206. kauft MS-DOS ausschließlich seit Version 3.2 (vorher, Microsoft verkaufte seine
  207. Versionen ausschließlich an OEMs). Die meisten Versionen von DOS haben die
  208. funktionsfähigen externen DOS Befehle wie DISKCOPY, etc. einfach über-
  209. nommen. Obgleich Microsoft angekündigt hat, daß MS-DOS 4.0 ausschließlich an
  210. OEMs verkauft wird, haben sie scheinbar ihre Verkaufspolitik geändert. Es wird
  211. jetzt auch so verkauft.
  212.  
  213. Einige Versionen von MS-DOS variieren mit PC-DOS in der Anzahl der verfügbaren
  214. externen Befehle.
  215. Einige OEMs lassen ausschließlich die grundlegenden Betriebssystem Code's
  216. (der xxxDOS und xxxBIO Programme, und COMMAND.COM) von Microsoft zu, und jeder
  217. zweite hat sich den Rest selbst geschrieben oder bezog ihn von externen Soft-
  218. warehäuser wie Phoenix. Die meisten der externen Programme für DOS 3.x und 4.x
  219. sind in "C" geschrieben, während bei 1.x und 2.x die Dienstprogramme in der
  220. Sprache Assembler geschrieben waren. Andere OEMs verlangten kundenspezifische
  221. Versionen von DOS für ihre speziellen Hardware Konfigurationen, wie Sanyo 55x
  222. und die ersten Tandy Computer, welche unfähig waren, ihr DOS mit der IBM
  223. Version auszutauschen.
  224.  
  225. PC-DOS 3.0 war bei der Freigabe äußerst fehlerhaft. Es verarbeitet das DOS
  226. Environment nicht korrekt und hat zahlreiche dokumentierte Probleme mit dem
  227. Syntaxanalysierer für Stapeldateien. Die Netzwerkunterstützung ist auch nicht
  228. funktionsfähig in dieser DOS Version. Es wird empfohlen, daß Benutzer
  229. wenigstens Version 3.1 benutzen.
  230.  
  231. DEC MSDOS Version 2.11 für den Rainbow beinhaltete den ANSI.SYS Gerätetreiber
  232. bereits im Hauptcode. Der Rainbow benutzt ein einseitiges Disketten-
  233. laufwerk mit 4-facher Speicherdichte und dieses DOS hatte die Unterstützung
  234. dafür.
  235.  
  236. IBM hatte ein Version 1.85 von PC-DOS in April 1983, nach der Einführung von DOS
  237. 2.0. Es wurde offensichtlich ausschließlich für interne Zwecke benutzt. Es
  238. unterstützt die Dateisuche auf mehreren Laufwerke (eine einfache Form von PATH),
  239. eingebaute MODE Funktionen zur Bildschirmunterstützung, ein /P Parameter für
  240. den TYPE Befehl zum anhalten nach einer Bilschirmseite, ein editierbarer
  241. Befehlsstapel gleich dem Public Domain Programm DOSEDIT.COM, und kann voll-
  242. ständig speicherresistent ins RAM geladen werden, anstelle der Aufteilung
  243. in einen speicherresistenten Teil und einen nicht resistenten Teil im normalem
  244. DOS.Es ist schade das einige dieser ordentlichen Erweiterungen nicht in DOS 2.0
  245. enthalten sind. IBM hatte auch eine "ausschließlich intern benutzte" Version
  246. 3.4, die offensichtlich solange benutzt wurde, bis DOS 4.0 entwickelt war.
  247.  
  248. Digital Research's DR-DOS ist die erste allgemein verfügbare DOS Nachbildung.
  249. Version 3.4 war die erste verfügbare in der amerikanischen Öffentlichkeit.
  250. Es war sehr fehlerhaft und seine Benutzung wurde nicht empfohlen. DR 3.41
  251. ist äußerst kompatibel und es sollten keine Probleme auf irgendeine Maschine
  252. auftreten.
  253.  
  254. Einige Versionen von DOS die in kompatiblen Computern benutzt werden, haben
  255. nicht die 1. x, 2. x, ... Nummern erhalten.
  256. Columbia Data Products Computer benannten DOS 1.25 wie DOS 2.0. Die ersten
  257. Compaqs benannten DOS 2.0 wie DOS 1.x. Andere Versionen vereinigen besondere
  258. Merkmale - Compaq DOS 3.31 und Wyse DOS 3.21 unterstützen beide 32-bit Datei-
  259. belegungstabellen in der derselben Art wie DOS 4.x.
  260.  
  261. AT&T DOS 3.1 weicht von MSDOS 3.10 in der Benutzung der Clustergröße und
  262. dem Aufbau der Dateibelegungstabelle ab. AT&T DOS scheint die Vorgaben von
  263. Version 3 nicht zu benutzen, sondern die aus der Version 2.
  264.  
  265. Epson EQUITY III und ComputerLand 3.10 DOS's scheinen Cluster Techniken zu
  266. benutzen, die ein Zwischending aus den Versionen 2 und 3 sind.
  267. Bei typischen DOS Bereichen, benutzen diese die 3.x Vorschriften falls die
  268. Aufteilung größer als 32680 Sektoren ist, was auch die 16 Bit FAT Einträge
  269. besagen. Auf Bereiche unterhalb dieser Größe, sie benutzen die 2.x Vorschriften,
  270. einschließlich der 12 Bit FAT Einträge.
  271.  
  272. ZENITH DOS 3.x und Wyse DOS 3.2 haben einen internen Gerätetreiber eingebaut, zu
  273. um bis zu 4 32Mb DOS Bereiche auf einer einzelnen Festplatte zu verarbeiten.
  274. Wyse DOS 3.31 verarbeitet auch Bereiche bis zu 512Mb mit einer 32-bit FAT.
  275.  
  276. Laut Berichten vom PC Week Magazine, Juli 4, 1988, werden arabische Versionen
  277. von MSDOS mit einem Hardware Kopierschutzsystem von Rainbow Technologies aus-
  278. geliefert. Dies ist ähnlich dem short-lived System das von AutoCAD 2.52 und
  279. einigen sehr wenigen anderen MSDOS Programme benutzt wird, wo ein Adapter
  280. auf den parallelen Port aufgesteckt wird und die Software macht die Benutzung
  281. abhängig von den codierten Bytes im Adapter. Dieser Typ von Kopierschutz
  282. wurde allgemein auf Commodore Produkte für einige Jahre eingesetzt, wo es auch
  283. ein "Dongle" genannt wurde.
  284. Der AutoCAD Dongle wurde von einem kleinen Programm geknackt, wenige Wochen dem
  285. Erscheinen der Version 2.52. Version 2.62 wurde 3 Monate später freigegeben,
  286. ohne den Dongle. Der DOS dongle verhindert jedoch, daß das System gestartet
  287. wird, falls der Dongle nicht gefunden wird.
  288. Dies macht die arabische Version von MSDOS zum ersten kopiergeschützten
  289. Betriebssystem, wobei zweifelhaft ist, ob dies eine gute Eigenschaft ist.
  290. Unterscheidung an beste. Die Modifikationen des Betriebssystems um den
  291. Dongle zu unterstützen zu dieser Zeit noch nicht bekannt. Offen gestanden,
  292. es erscheint einfacher und billiger das Betriebssystem in ROMs einzubrennen.
  293.  
  294. Versionen von DOS die in Großbritannien verkauft werden, sind entweder neuer
  295. als jene in den USA oder benutzen ein anderes Numerierungssystem.
  296. DOS 3.4, 4.0, 4.1, 4.2, und 4.3 freigegeben zwischen den US Versione 3.3
  297. und 4.0.
  298. MSDOS 4.0 wurde in Europa Mitte 1987eingeführt (auf der SICOB in Paris und
  299. irgendwann früher von Apricot Computer in England). Es stellt scheinbar
  300. Multitasking zur Verfügung, sofern die Anwendungen hierfür speziell geschrieben
  301. wurden.
  302. David Fraser (geschäftsführender Direktor bei Microsoft UK) sagt "es ist
  303. unwahrscheinlich, das DOS 4.0 in der Welt Bedeutung erlangt, es ist nur für
  304. OEMs von Interesse welche seine Merkmale für Netzwerkbetrieb und
  305. Kommunikationstechnik benötigen." Standard DOS Anwendungen laufen unter DOS 4.x
  306. im Vordergrund ab, entsprechend den zu unsicheren Information. Es weicht ab von
  307. früher Versionen, die es ausschließlich erlauben im Hintergrund Aufgaben auszu-
  308. führen. Es gibt zur Zeit keine Information wieviel Programme auf einmal ablaufen
  309. können/Speicherbedarf etc.
  310. Zu dieser Zeit. Es
  311. Es kann eine typische Anwendung für MS-DOS 3.2 oder frühere Versionen im
  312. Vordergrund ablaufen, während ein speziell hierfür geschriebenes Programm
  313. im Hintergrund abläuft.
  314.  
  315. Microsoft hat seine OEM Lizenzverträge zwischen den DOS Versionen 2.x und 3.x
  316. geändert. OEM Versionen von DOS 3.x müssen sicher die Datenbereiche und die
  317. nicht dokumentierten Funktionen unterstützen, damit die Kompatibilität mit den
  318. Netzwerkfunktionen des Betriebssystem gewährleistet ist. Aus diesem Grund
  319. werden speicherresistente Programme viel verläßlicher arbeiten, wenn diese
  320. unter DOS 3.x ablaufen.
  321.  
  322. Mindestens zwei Versionen von DOS wurden so modifiziert, daß sie völlig im ROM
  323. untergebracht wurden. Der Sharp PC5000 hatte MSDOS 1.25 im ROM, und der Toshiba
  324. 1000 und einige Tandy 1000 Modelle haben MSDOS 2.11 im ROM. Digital Research
  325. hat auch angekündigt, das sein DR-DOS  in einer ROM Version verfügbar ist und
  326. Award Software bietet DOS als Steckkarten für OEMs an.
  327.  
  328. Einige OEM Verkäufer (Toshiba, Tandy) hatte den Quellcode von DOS gekauft,
  329. (man munkelte für ca. $100.000,00) und entwickelten ihre eigenene ROM
  330. Versionen von DOS. Im September 1989 kündigte Microsoft die Verfügbarkeit von
  331. MS-DOS 3.21R auf ROM zum Verkauf für OEMs an. Psion, Headstart, und Emerson
  332. haben angekündigt, daß einige ihrer neuen Modelle die neuen DOS ROMs benutzen
  333. werden.
  334. Davon abgesehen, $100,000 als Preis für den Quellcode von DOS ist furchtbar
  335. niedrig, in Anbetracht das verschiedene bekannte kaufmännische Softwarepakete
  336. $50.000,00 für eine nicht kopiergeschützte Version benötigen.
  337.  
  338. IBM's Freigabe von DOS 4.0 (und der sofortigen nachträglichen Freigabe einer
  339. Fehlerbeseitigung) ist ein zweifelhafter Schritt nach vorne. DOS 4.0 ist die
  340. erste Version von DOS einer Garantie; diese wird jedoch ausschließlich für eine
  341. geringe Anzahl von IBM-Softwarepakete gegeben.
  342. 4.0 hat eine geringe EMS Unterstützung, unterstützt größere Festplatten, aber
  343. sonst nicht viel mehr. Mit seinem unersättlichen RAM Forderungen und mangels
  344. Kompatibilität mit vorhergehenden Versionen von DOS (viele wichtige
  345. Softwarepakete stürzen unter DOS 4. 0 ab), plus der erhöhte Preis von $150,
  346. da wird es keine großen Andrang auf das neueste DOS geben.
  347.  
  348. IBM's PC LAN Software 1.2 läuft nicht unter DOS 4.0. Version 1.3 oder höher
  349. wird verlangt.
  350.  
  351.  
  352.  
  353. Die Betriebssystem Hierarchie├──────────────────────────────────────── 1**5
  354.  
  355.  
  356. Das Diskettenbetriebssystem (DOS) und das ROM BIOS dienen wie eine isolierende
  357. Ebene zwischen dem Anwenderprogramm und der Maschine, und wie ein Quelle von
  358. Dienstleistungen zu dem Anwenderprogramm.
  359.  
  360. Wie der Ausdruck 'System' vorraussetzt, ist DOS nicht ein Programm sondern eine
  361. Sammlung von Programmen die dafür geschaffen wurden um dem Anwender zu erlauben
  362. auf Programme und Daten zuzugreifen.
  363. Folglich besteht DOS aus verschiedene Schichten von "Steuerungs" Programme und
  364. eine Sammlung von "Dienstprogrammen".
  365.  
  366. Die System Hierarchie kann man sich wie einen Baum vorstellen, auf der
  367. niedrigsten Ebene befindet sich die eigentliche Hardware. Der 8088 oder V20
  368. Prozessor betrachtet den Adressbereich des Computers wie eine Leiter
  369. zwei Bytes breit und eine Million Bytes lang. Teile von dieser Leiter sind
  370. im ROM, Teile im RAM, und Teile die nirgends zugewiesen sind. Da sind auch
  371. 65556 "Ports" die der Prozessor benutzen kann, um Geräte zu steuern.
  372.  
  373. Die Hardware wird normalerweise über das  ROM BIOS angesprochen, welches
  374. wissen müßte, was im System vorhanden ist. Diese Chips können gewöhnlich
  375. auch direkt beschrieben werden, man muß dem Porzessor nur mitteilen, an
  376. welche Adresse oder Port geschrieben werden soll. Dies funktioniert manchmal
  377. nicht, da der Chips nicht immer die gleiche Adresse haben müssen, oder
  378. verschiedene Funktionen von Maschine zu Maschine haben.
  379.  
  380.  
  381.  
  382. DOS Aufbau├───────────────────────────────────────────────────────── 1**6
  383.  
  384. DOS besteht aus vier Bestandteile:
  385.  
  386.  * dem Startprogramm
  387.  * die ROM BIOS Schnittstelle (IBMBIO.COM, DRBIOS.SYS, oder IO.SYS)
  388.  * der DOS Programmdatei      (IBMDOS.COM, DRBDOS.SYS, oder MSDOS.SYS)
  389.  * dem Kommandoprozessor      (COMMAND.COM oder ein späterer Austausch)
  390.  
  391.  
  392. * das Startprogramm
  393.  
  394. Das Startprogramm beginnt auf Spur 0, Sektor 1, Seite 0 auf jeder Diskette die
  395. von DOS formatiert wurde. Das Startprogramm auf den Disketten dient dem Zweck
  396. eine Fehlermeldung erzeugen, falls versucht wird das System mit einer Diskette
  397. in Laufwerk A zu starten, die kein Betriebssystem enthält. Bei Festplatten haust
  398. das Startprogramm auf dem ersten Sektor des DOS Bereiches. Alle Medien die
  399. von DOS unterstützt werden, bei DOS benutzen einen Sektor für das Startprogramm.
  400.  
  401.  
  402. * nur Lesespeicher (ROM) BIOS Schnittstelle und Erweiterungen
  403.  
  404. Die Datei IBMBIO.COM oder IO.SYS ist das Schnittstellenmodul zum ROM BIOS.
  405. Diese Datei liefert eine Schnittstelle auf niedrigster Ebene zu den
  406. ROM BIOS Geräteroutinen und kann Erweiterungen oder Änderungen zu den
  407. ROMs auf dem Systemplatine enthalten. Einige Kompatibele haben kein ROM BIOS
  408. zum erweitern, diese laden das vollständig BIOS von der Festplatte. (Sanyo 55x,
  409. Viasyn Maschinen). Einige Versionen von MSDOS, etwa jene die an Tandy geliefert
  410. wurden, heißen zwar IBMBIO.COM sind aber keine IBM Dateien.
  411.  
  412. Diese Schnittstellenroutinen beinhalten die Anweisungen um Transaktionen durch-
  413. zuführen, etwa Anzeigen von Information auf dem Bildschirm, lesen der Tastatur,
  414. Daten an den Drucker senden, Bedienung der Diskettenlaufwerke, und so weiter.
  415. Es ist die Aufgabe des Betriebssystems die Hardware zu beaufsichtigen.
  416. IBMBIO.COM enthält irgendwelche Modifikationen oder Updates zum ROM BIOS,
  417. die dazu benötigt werden um irgendwelche Fehler zu beseitigen oder die
  418. Unterstüzung von hinzugefügter Hardware wie neue Diskettenlaufwerke zu
  419. gewährleisten. Bei Benutzung von IBMBIO.COM um das ROM BIOS zu aktualisieren
  420. werden diese wirksam sobald der Anwender sein Computer einschaltet. IBM braucht
  421. den ROM BIOS Chip selbst nicht zu ersetzen, kann aber irgendwelche
  422. Verbesserungen mit der billigeren und leichteren Methode durchführen, indem
  423. die Datei IBMBIO.COM modifiziert wird.
  424.  
  425. IBMBIO. COM zeichnet die Hardware Transaktionen auf einen internen Stapel oder
  426. "Notizblock" Bereich für das Betriebssystem auf, um die Information wie benötigte
  427. Adressen, etc. zu sichern. Eine Beispiel für die Benutzung dieses Stapels kann
  428. kann man erkennen, sobald ein Textprogramm gestartet wird. Falls dem Textprogramm
  429. die Naweisung zum sichern des Textes gegeben wird, schreibet es die Daten auf
  430. die Festplatte. Falls während dieser Zeit Eingaben getätigt werden erzeugt die
  431. Tastatur erzeugt einen Hardware Interrupt. Wenn das schreiben auf die Platte
  432. nicht unterbrochen werden soll, belegt DOS einen
  433. zu der Festplatte sein unterbrach, DOS belegt ein Platz auf dem Stapel um den
  434. Tastatur Hardware Interrupt zu sichern und sobald es die Chance bekommt
  435. (wahrscheinlich nachdem die Daten auf der Festplatte geschrieben wurden),
  436. den Interrupt abzuarbeiten holt es sich das Zeichen das eingegeben wurde.
  437. Der STACKS= Befehl ab DOS 3.2 in der CONFIG.SYS Datei gibt die Anzahl der Stapel
  438. an, die für diesen Zweck verfügbar sein sollen.
  439.   
  440. IBMBIO. COM liest auch die CONFIG.SYS Datei und installiert irgendwelche
  441. Gerätetreiber (z.b. DEVICE=ANSI.SYS) oder führt Befehle zur Konfiguration
  442. aus, die auch darin enthalten sind.
  443.  
  444.  
  445.  
  446. * das DOS Programm
  447.  
  448. Das eigentliche DOS Programm ist die Datei IBMDOS.COM oder MSDOS.SYS. Es liefert
  449. eine Schnittstelle für Anwenderprogramme auf höherer Ebene. Dieses Programm
  450. besteht aus Routinen zur Dateihandhabung, Blocken/Entblocken von Daten für die
  451. Festplattenroutinen, und eine Vielfalt von eingebauten Funktionen auf die die
  452. Anwenderprogramme leicht zugreifen können.
  453.  
  454. Sobald ein Anwenderprogramm diese Funktion aufruft, erhalten sie Informationen
  455. über den Inhalt von Registern und der Kontrollblöcke. Sobald ein Anwender-
  456. programm DOS aufruft um einen Arbeitsgang durchzuführen, diese Funktionen
  457. übersetzen die Anforderung in ein oder mehrere Aufrufe an IBMBIO.COM, MSDOS.SYS
  458. oder der Systemhardware um die Anforderung zu vervollständigen.
  459.  
  460. Dieser Abschnitt wird von Systemprogrammierer oft als "Kern" bezeichnet.
  461.  
  462.     
  463.  
  464. * der Befehlsinterpreter 
  465.  
  466. Der Befehlsinterpreter, COMMAND.COM, ist der Teil der wirksam wird, wenn eine
  467. Befehlszeile eingegeben wird. COMMAND.COM besteht aus drei Teilen. IBM
  468. bezeichnet diese als "speicherresistenten Bereich , den " Initialisierungs-
  469. bereich" und den "vorrübergehenden Bereich".
  470.  
  471. IBM's Originaldokumentation erklärt zwar die Installation eines alternativen
  472. Befehlsinterpreter (andere als COMMAND.COM) mit der SHELL=Anweisung in der
  473. CONFIG.SYS. Leider dokumentierte IBM nicht viel über die Wechselwirkung
  474. zwischen IBMDOS.COM und IBMBIO.COM. Mit der Zeit wurden diese Wechselwirkungen
  475. allgemein verständlich, viele kommerzielle Softwareprogramme wurden geschrieben
  476. die die Eigenheiten von COMMAND.COM selbst nutzen.
  477.  
  478. Es existieren zwei Programme die den eigentlichen "Befehlsinterpreter"
  479. COMMAND.COM komplett durch ihren eigenen Befehlsinterpreter ersetzen und die
  480. versteckten DOS Dateien benutzen. Dies sind Command Plus, ein kommerzielles
  481. Paket, und das sehr interessante Sharewarepaket 4DOS. Beide bieten außerdem
  482. eine erweiterte Stapelverarbeitung und bessere Bearbeitungsfähigkeiten.
  483.  
  484. Anmerkung: DOS 3.3+ überprüft das Vorhandensein einer Festplatte, um COMSPEC=C:\
  485.            vorzugeben. Vorhergehende Versionen gegeben COMSPEC=A:\ vor. Bei
  486.            einigen DOS Versionen kann das System abstürzen, falls COMMAND.COM
  487.            nicht unmittelbar zum Nachladen verfügbar ist.
  488.  
  489.      
  490. Speicherresistenter Bereich:
  491.  
  492. Der speicherresistente Bereich folgt in Speicher unmittelbar nach IBMDOS.COM und
  493. seinem Datenbereich. Dieser Bereich enthält Routinen zum abarbeiten des Inter-
  494. rupts 22h (Adresse zur Programmbeendigung), 23h(Ctrl-Break Routine), und
  495. 24h(Kritische Fehler Routine), sowie eine Routine die den vorrübergehenden
  496. Bereich nachlädt, falls dieser benötigt wird. Ab DOS 3.x, enthält dieser
  497. Bereich auch eine Routine zum laden und ausführen externer Befehle, wie Dateien
  498. mit den Erweiterungen von COM oder EXE.
  499.  
  500. Sobald ein Programm beendet wird, wird anhand einer Prüfsumme festgestellt ob
  501. das Programm den vorrübergehend Bereich von COMMAND.COM überlagert. Falls dies
  502. der Fall ist, lädt der speicherresistente Teil den vorrübergehende Bereich von
  503. dem Medium, das bei der COMSPEC= Anweisung festgelegt wurde. Wenn COMMAND.COM
  504. nicht gefunden wird, wird das System angehalten.
  505.  
  506. Alle Standard DOS Fehlerbehandlungen werden im speicherresistenten Bereich
  507. von COMMAND.COM abgewickelt. Dieser beinhaltet das Anzeigen der Fehlermeldungen
  508. und die Interpretation der Antwortet auf die "Abbrechen, Wiederholen, Ignorieren,
  509. Fehler? " Meldung.
  510.  
  511. Weil der vorrübergehend Bereich von COMMAND.COM so groß ist (beinhaltet die
  512. internen Befehle und alle Fehlermeldungen), kann dieser vom Anwenderprogramm
  513. überlagert werden, da er zu dem Zeitpunkt nicht benötigt wird.
  514. Sobald der Anwendung beendet ist, lädt der speicherresistente Teil von
  515. COMMAND.COM den vorrübergehend Bereich wieder in den Speicher und zeigt
  516. das Anforderungszeichen. Dies ist der Grund, warum manchmal die Meldung
  517. "Diskette mit COMMAND.COM einlegen" erscheint. Es wird benötigt um den
  518. vorrübergehend Bereich von der Diskette zu laden, der vom Anwenderprogramm
  519. überlagert wurde.
  520.  
  521. Der Initialisierungsbereich von COMMAND.COM folgt dem speicherresistenten Teil
  522. und übernimmt die Steuerung während das System gestartet wird. Dieser Teil
  523. führt AUTOEXEC.BAT Datei aus. Er entscheidet auch wohin Anwenderprogramme
  524. geladen werden, sobald diese ausgeführt werden. Dieser Teil wird ausschließlich
  525. beim Systemstart benötigt, und wird vom ersten Programm das COMMAND.COM lädt
  526. überlagert.
  527.  
  528. Der vorrübergehend Bereich wird ans obere Ende vom Speicher geladen und es ist
  529. der Kommandoprozessor selbst. Er interpretiert auch was der Anwender über die
  530. Tastatur eingibt und gibt die Meldungen wie "Falscher Befehl oder Dateiname"
  531. aus, sobald der Anwender einen falschen Befehl eingibt.
  532. Dieser Bereich enthält ebenso alle internen Befehle (z.B. COPY, DIR, RENAME,
  533. ERASE), den Prozessor für die Stapeldateien Prozessor (um .BAT Dateien auszu-
  534. führen) und eine Routine um die externen Befehle welche aus .COM oder .EXE
  535. Dateien bestehen auszuführen.
  536.  
  537. Der vorrübergehend Bereich von COMMAND.COM produziert das Anforderungszeichen
  538. vom System, ( C>), liest die Daten die der Anwender über die Tastatur eingibt
  539. und versucht diese zu verarbeiten. Für .COM oder .EXE Dateien, erstellt er
  540. eine Befehlszeile und gibt einen EXEC Funktionsaufruf aus um das Programm zu
  541. laden und übergibt dann an dieses die Steuerung.
  542.  
  543.  
  544.  
  545. DOS Initialisierung├──────────────────────────────────────────────────── 1**7
  546.  
  547. Das System wird initialisiert durch einen Softwarereset(Ctrl-Alt-Del),
  548. einen Hardwarereset (Reset Taste), oder beim einschalten des Computer. Der
  549. Prozessor der Intel 80x8x Reihe holen sich die erste Instruktion immer vom
  550. Ende von ihres Adreßbereiches (0FFFF0h) sobald eine der drei Arten zur
  551. Systeminitialisierung druchgeführt wird. Diese Adresse enthält ein Sprung zu
  552. der ersten Instruktion für das ROM BIOS.
  553.  
  554. Eingebaute ROM Programme (Power-On Self-Test, oder POST, in dem IBM)
  555. kontrollieren den Maschinenzustand und führen verschiedene Prüfprogramme aus.
  556. Einige Maschinen stellen in einem reservierten RAM Bereich Bytes ab, die die
  557. installierte Ausstattung enthalten (AT und PCjr).
  558.  
  559. Sobald das ROM BIOS ein ROM auf einer Adapterkarte findet, überläßt es dem ROM
  560. die Steuerung um die Hardware oder Software, damit dieses dann die benötigten
  561. Einstellungen und Prüfungen vornehmen kann.
  562. Das ROM BIOS durchsucht die absoluten Adressen von C8000h bis E0000h in 2K
  563. Schritten um ein gültiges ROM zu suchen. Ein gültiges ROM wird über die
  564. ersten Bytes des ROMs erkannt. Das ROM enthält die Bytes 55h, AAh, ein
  565. Längenkennzeichen und dann die Assembleranweisung CALL FAR (zum aufrufen einer
  566. "FAR" Routine). Ein Prüfsumme wird gebildet um seine Integrität zu prüfen und
  567. danach führt das BIOS den CALL FAR zu dem Programm im ROM aus. Diese führt dann
  568. seine Initialisierungsaufgaben und übergibt dann hoffentlich die Steuerung an
  569. den Computer zurück, damit das ROM BIOS die Startroutine fortsetzen kann.
  570.  
  571. Das ROM BIOS Routinen sucht dann nach einen Laufwerk A: oder eine ROM Erweiterung
  572. (gewöhnlich ein Festplatte) an der absoluten Adresse C:800h. Wenn kein Disketten-
  573. laufwerk oder keine ROM Erweiterung gefunden wurde, ruft das BIOS den int 19h
  574. (ROM BASIC falls es ein IBM ist) auf oder zeigt eine Fehlermeldung an.
  575.  
  576. Falls ein startfähige Festplatte gefunden wird, lädt das ROM BIOS den ersten
  577. Sektor mit Information von der Festplatte und springt dann an die Stelle im
  578. RAM die den Code enthält. Dieser Code besteht normalerweise aus einer
  579. Routine die den Rest von dem Code von der Festplatte holt, oder zu "Starten"
  580. des Systems.
  581.  
  582. Der folgenden Aktionen treten nach einer Systeminitialisierung auf:
  583.  
  584.  1. Der Startprogramm wird in den Speicher gelesen und übernimmt die Steuerung.
  585.  
  586.  2. Der Startprogramm überprüft dann das Hauptverzeichnis um sicherzustellen,
  587.     daß der ersten zwei Dateien IBMBIO.COM und IBMDOS.COM sind. Diese zwei
  588.     Dateien müssen die ersten zwei Dateien sein (IBMBIO.COM als erste, in
  589.     zusammenhängenden Sektoren).
  590.     Anmerkung: IBMDOS.COM braucht nicht zusammenhängend sein in Version 3.x+.
  591.  
  592.  3. Der Startprogramm lädt IBMBIO.COM in den Speicher.
  593.  
  594.  4. Der Initialisierungcode in IBMBIO.COM lädt IBMDOS.COM, stellt die Aus-
  595.     stattung fest, setzt das Festplattensystem zurück, initializiert die
  596.     angeschlossenen Geräte, setzt die Systemparameter und lädt die
  597.     installierbaren Gerätetreiber entsprechend der CONFIG.SYS Datei im Haupt-
  598.     verzeichnis( falls vorhanden), setzt die niedrigen Interruptvektoren,
  599.     verschiebt IBMDOS.COM dahinter und ruft das erste Byte von DOS auf.
  600.     Anmerkung: CONFIG.SYS kann eine versteckte Datei sein.
  601.  
  602.  5. DOS initializiert seine internen Arbeitstabellen, initializiert die
  603.     Interruptvektoren für Interrupts 20h bis 27h, und erstellt ein Programm-
  604.     Segment-Präfix für COMMAND.COM an dem niedrigsten verfügbaren Segment.
  605.     Für DOS Versionen ab 3.10, DOS initializiert auch die Vektoren für die
  606.     Interrupts 0Fh bis 3Fh. Eine Initialisierungsroutine die die Steuerung
  607.     während des Systemstarts übernimmt ist im speicherresistenten Bereich
  608.     enthalten. Dies Routine enthält die Steuerung für die AUTOEXEC.BAT Datei
  609.     und bestimmt die Segmentadresse wohin die Anwenderprogramme geladen werden.
  610.     Der Initialisierungsroutine wird dann nicht mehr benötigt und wird vom
  611.     ersten Programm überlagert das durch COMMAND.COM geladen wird.
  612.     Anmerkung: AUTOEXEC.BAT kann eine versteckte Datei sein.
  613.  
  614.  6. IBMBIO.COM benutzt den EXEC Funktionsaufruf um den Kommandoprozessor zu
  615.     laden und zu starten. Der vorgegebene Kommandoprozessor ist COMMAND.COM in
  616.     dem Hauptverzeichnis vom Startlaufwerk. Falls COMMAND.COM in einem Unter-
  617.     verzeichnis ist oder ein anderer Kommandoprozessor benutzt wird, muß
  618.     dies mit der Anweisung SHELL= in der Datei CONFIG.SYS spezifiziert sein.
  619.     Ein vorrübergehender Bereich wird an das obere Ende von Speicher geladen.
  620.     Dies ist der Kommandoprozessor selbst und beinhaltet alle internen Befehle
  621.     und den Prozessor für die Stapeldateien. Für DOS 2. x, dieser Bereich
  622.     enthält auch  eine Routine um die externen Befehle welche aus .COM oder
  623.     .EXE Dateien bestehen auszuführen.
  624.     Dieser Bereich von COMMAND.COM produziert auch das DOS Anforderungszeichen
  625.     ( wie "A>"), liest die Befehl von dem Standardeingabegerät (normalerweise
  626.     die Tastatur oder eine Stapeldatei), und führt diese Befehl aus. Für externe
  627.     Befehle erstellt er eine Befehlszeile und gibt einen EXEC Funktionsaufruf
  628.     aus um das Programm zu laden und übergibt dann an dieses die Steuerung.
  629.  
  630.  
  631. Anmerkung 1) COMMAND.COM kann eine versteckte Datei sein.
  632.           2) In IBM DOS 2.x, der vorrübergehende Bereich vom Kommandoprozessor
  633.              enthält der EXEC Routine die die externe Befehle lädt und ausführt.
  634.              In MSDOS 2.x+ und IBM DOS 3.x+ enthält der speicherresistente
  635.              Bereich die EXEC Routine.
  636.           3) IBMBIO überprüft ausschließlich ob eine Datei mit dem Namen
  637.              "COMMAND.COM" existiert und lädt diese Datei, sofern mit der
  638.              Anweisung SHELL= nichts anderes angegeben wurde.
  639.  
  640.  
  641. Das ist sehr viel was als Startprozess abläuft. Nachdem COMMAND.COM geladen ist,
  642. wir die Datei AUTOEXEC.BAT abgearbeitet und der Anwender bekommt das
  643. Anforderungszeichen zum Arbeitsbeginn.
  644.  
  645.