home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / COMPUSCI / DOSREF20.ZIP / CHAPTER.001 < prev    next >
Text File  |  1991-06-17  |  37KB  |  678 lines

  1.  
  2.    **  Programmer's  Technical  Reference  for  MSDOS  and  the  IBM  PC **
  3.                         ┌─────────────────────────────┐
  4.                         │ Shareware Version, 06/17/91 │
  5.                         │  Please Register Your Copy  │
  6.                         └─────────────────────────────┘
  7.                     Copyright (c) 1987, 1991 Dave Williams
  8.                  USA copyright TXG 392-616 ALL RIGHTS RESERVED
  9.                      ISBN 1-878830-02-3 (disk-based text)
  10.  
  11.  
  12.                             C H A P T E R    O N E
  13.  
  14.                               DOS AND THE IBM PC
  15.  
  16.  
  17.                                 C O N T E N T S
  18.  
  19. Some History .......................................................... 1**1
  20. What is DOS? .......................................................... 1**2
  21. Other Operating Systems ............................................... 1**3
  22. Specific Versions of MS/PC-DOS ........................................ 1**4
  23. The Operating System Heirarchy ........................................ 1**5
  24. DOS Structure ......................................................... 1**6
  25. DOS Initialization .................................................... 1**7
  26.  
  27.  
  28.  
  29. SOME HISTORY├────────────────────────────────────────────────────────── 1**1
  30.  
  31.  Development of MSDOS/PCDOS began in October 1980, when IBM began searching
  32. the market for an operating system for the yet-to-be-introduced IBM PC.
  33. Microsoft had no 8086 real operating system to sell, but quickly made a deal 
  34. to license Seattle Computer Products' 86-DOS operating system, which had been
  35. written by Tim Paterson earlier in 1980 for use on that company's line of 8086,
  36. S100 bus micros. 86-DOS (also called QDOS, for Quick and Dirty Operating System)
  37. had been written as more or less a 16-bit version of CP/M, since Digital
  38. Research was showing no hurry in introducing CP/M-86.
  39.  
  40.  This code was quickly polished up and presented to IBM for evaluation. IBM
  41. had originally intended to use Digital Research's CP/M operating system, which
  42. was the industry standard at the time.
  43.  
  44.  Folklore reports various stories about the rift between DRI and IBM. The most 
  45. popular story claims Gary Kildall or DRI snubbed the IBM executives by flying
  46. his airplane when the meeting was scheduled. Another story claims Kildall 
  47. didn't want to release the source for CP/M to IBM, which would be odd, since 
  48. they released it to other companies. Industry pundit Jerry Pournelle claims 
  49. Kildall's wife killed the deal by insisting on various contract changes. I 
  50. suspect the deal was killed by the good ol'boy network. It's hard to imagine 
  51. a couple of junior IBM executives giving up when ordered to a task as simple
  52. as licensing an operating system from a vendor. Wouldn't look good on their
  53. performance reports. It would be interesting to hear IBM's story...
  54.  
  55.  IBM found itself left with Microsoft's offering of "Microsoft Disk
  56. Operating System 1.0". An agreement was reached between the two, and IBM agreed
  57. to accept 86-DOS as the main operating system for thir new PC. Microsoft
  58. purchased all rights to 86-DOS in July 1981, and "IBM Personal Computer DOS
  59. 1.0" was ready for the introduction of the IBM PC in October 1981. IBM
  60. subjected the operating system to an extensive quality-assurance program,
  61. reportedly found well over 300 bugs, and decided to rewrite the programs. This
  62. is why PC-DOS is copyrighted by both IBM and Microsoft.
  63.  
  64.  Some early OEM versions of DOS had different names, such as Compaq-DOS, Z-DOS,
  65. Software Bus 86, etc.  By version 2 Microsoft managed to persuade everyone but 
  66. IBM to refer to the product as "MS-DOS."
  67.  
  68.  It is sometimes amusing to reflect on the fact that the IBM PC was not
  69. originally intended to run MSDOS. The target operating system at the end of the
  70. development was for a (not yet in existence) 8086 version of CP/M. On the other
  71. hand, when DOS was originally written the IBM PC did not yet exist! Although
  72. PC-DOS was bundled with the computer, Digital Research's CP/M-86 would probably
  73. have been the main operating system for the PC except for two things - Digital
  74. Research wanted $495 for CP/M-86 (considering PC-DOS was essentially free) and
  75. many software developers found it easier to port existing CP/M software to DOS
  76. than to the new version of CP/M.
  77.  
  78.  The upgrade from DOS 3.3 to 4.0 was done in-house by IBM.  DOS 4.0 was a
  79. completely IBM product, later licensed back to Microsoft. In early 1990 IBM
  80. announced that it was ceasing development of DOS and all further work would
  81. be done solely by Microsoft.
  82.  
  83.  
  84.  Microsoft Press' "MSDOS Encyclopedia" shows a reproduction of a late
  85. DOS 1.25 OEM brochure.  Microsoft was touting future enhancements to
  86. 1.25 including Xenix-compatible pipes, process forks, and multitasking,
  87. as well as "graphics and cursor positioning, kanji support, multi-user
  88. and hard disk support, and networking."  Microsoft certainly thought
  89. big, but, alas, the forks, multitasking, and multiuser support never
  90. came about, at least in US versions of DOS.  Oddly, the flyer claims
  91. that
  92.  
  93.  "MS-DOS has no practical limit on disk size. MS-DOS uses 4-byte XENIX
  94. OS compatible pointers for file and disk capacity up to 4 gigabytes."
  95.  
  96.  Umm... yeah.  One sort of gets the idea nobody at Microsoft had a hard
  97. disk larger than 32 megabytes...
  98.  
  99.  For the record they actually delivered:
  100.                                 
  101. Xenix-compatible pipes             DOS 2.0  ("|" operator)
  102. process forks, and multitasking   eDOS 4.0  (not delivered in the US)
  103. multi-user                         never delivered
  104. graphics and cursor positioning    DOS 2.0  (ANSI.SYS, more than likely)
  105. kanji support                      DOS 2.01, 2.25 (double-byte char set)
  106. hard disk support                  DOS 2.0  (subdirectories)
  107. networking                         DOS 3.1  (file locking, MS Networks)
  108.  
  109.  Early Microsoft ads pumped DOS' Xenix-like features and promised Xenix
  110. functionality in future releases.
  111.  
  112.  We'll probably never know what the real story was behind eDOS/DOS 4/
  113. DOS 5/286DOS/OS2.  Microsoft had announced their intent to build a
  114. multitasking, multiuser version of MSDOS as early as 1982.  They shipped
  115. betas of "DOS 4.0" in '86 and early '87, before 3.3 was even announced.
  116. Microsoft UK announced they had licensed 4.0 to Apricot Computer, and
  117. the French Postal Service was supposed to be running it.  I've never
  118. been able to find out if Apricot ever shipped any 4.0 to end users.
  119.  
  120.  Despite Gordon Letwin's acid comments about problems with the 80286
  121. processor, I doubt the '286 was the barrier between users and a
  122. multitasking MSDOS.  I also doubt there was any shortage of programming
  123. talent at Microsoft - Digital Research's Concurrent DOS and Software
  124. Link's PC-MOS were developed without undue trouble.
  125.  
  126.  
  127.  MSDOS and PC-DOS have been run on more than just the IBM-PC and clones. Some
  128. of the following have been done:
  129.  
  130.  Hardware PC Emulation:
  131.  
  132.         Apple II                ->      TransPC 8088 board
  133.         Apple MacIntosh         ->      AST 80286 board
  134.         Atari 400/800           ->      Co-Power 88 board
  135.         Atari ST                ->      PC-Ditto II cartridge
  136.         Commodore Amiga 2000    ->      8088 or A2286D 80286 Bridge Board
  137.         IBM PC/RT               ->      80286 AT adapter
  138.         Kaypro 2                ->      Co-Power Plus board
  139.  
  140.  Software PC Emulation:
  141.  
  142.         Apple MacIntosh         ->      SoftPC
  143.         Atari ST                ->      PC-Ditto I
  144.         IBM RS/6000             ->      DOS emulation
  145.  
  146.  DOS Emulation:
  147.  
  148.         AIX (IBM RS/6000)       ->      DOS emulation with "PCSIMulator"
  149.         OS/2                    ->      DOS emulation in "Compatibility Box"
  150.         QNX                     ->      DOS window
  151.         SunOS                   ->      DOS window
  152.         Xenix                   ->      DOS emulation with DOSMerge
  153.  
  154.  
  155. WHAT IS DOS?├────────────────────────────────────────────────────────── 1**2
  156.  
  157.  DOS exists as a high-level interface between an application program and the
  158. computer. DOS stands for "Disk Operating System", which reflects the fact that
  159. its main orig