An Inside Look at MS-DOS, June 1983, BYTE Magazine
Total Page:16
File Type:pdf, Size:1020Kb
An Inside Look at MS-DOS The design decisions behind the popular operating system Tim Paterson Seattle Computer Products 1114 Industry Dr. Seattle, WA 98188 The purpose of a personal com- often on the first try. Unfortunately, read-only memory). Both of these puter operating system is to provide many of the software developers tools had been developed in house. the user with basic control of the Seattle Computer talked to in the machine. A less obvious function is to earlier days preferred to simply ig- MS-DOS Organization furnish the user with a high-level, nore MS-DOS. Until the IBM Per- The core of MS-DOS is a device- machine-independent interface for sonal Computer was announced, independent input/output (I/O) han- application programs, so that those these developers felt that CP/M-86 dler, represented on a system disk by programs can run on two dissimilar would be the operating system of the hidden file MSDOS.SYS. It ac- machines, despite the differences in 8086/8088 computers. cepts requests from application pro- their peripheral hardware. Having Other concerns crucial to the grams to do high-level I/O, such as designed an 8086 microprocessor card design of MS-DOS were speed and ef- sequential or random access of named for the S-100 bus and not finding an ficiency. Efficiency primarily means disk files, or communication with appropriate disk operating system on making as much disk space as possi- character devices such as the console. the market, Seattle Computer Prod- ble available for storing data by mini- The handler processes these requests ucts set about designing MS-DOS. mizing waste and overhead. The and converts them to a very low level Today MS-DOS is the most widely problem of speed was attacked three form that can be handled by the I/O used disk operating system for per- ways: by minimizing the number of system. Because MSDOS.SYS is sonal computers based on Intel's 8086 disk transfers, making the needed hardware independent, it is nearly and 8088 microprocessors. disk transfers happen as quickly as identical in all MS-DOS versions pro- possible, and reducing the DOS's vided by manufacturers with their MS-DOS Design Criteria "compute time," considered overhead equipment. Its relative location in The primary design requirement of by an application program. The en- memory is shown in figure 1. MS-DOS was CP/M-80 translation tire file structure and disk interface The I/O system is totally device compatibility, meaning that, if an were developed for the greatest speed dependent and is represented on the 8080 or Z80 program for CP/M were and efficiency. disk by the hidden file IO.SYS. It is translated for the 8086 according to The last design requirement was normally written by hardware manu- Intel's published rules, that program that MS-DOS be written in assembly facturers (who know their equipment would execute properly under MS- language. While this characteristic best, anyway) with the notable excep- DOS. Making CP/M-80 translation does help meet the need for speed and tion of IBM, whose I/O system was compatibility a requirement served to efficiency, the reason for including it written to IBM's specifications by promote rapid development of 8086 is much more basic. The only 8086 Microsoft. The tasks required of the software, which, naturally, Seattle software-development tools available I/O system, such as outputting a Computer was interested in. There to Seattle Computer at that time were single byte to a character device or was partial success: those software an assembler that ran on the Z80 reading a contiguous group of developers who chose to translate under CP/M and a monitor/de- physical disk sectors into memory, their CP/M-80 programs found that bugger that fit into a 2K-byte are as simple as possible. they did indeed run under MS-DOS, EPROM (erasable programmable The command processor furnishes 230 June 1963 © BYTE Publications Inc Circle 122 on Inquiry card. --p- the standard interface between the -TOP OF MEMORY cludes error trapping, batch-file pro- user and MS-DOS and is contained in COMMAND TRANSIENT cessing, and reloading of the tran- the visible file COMMAND.COM. sient . The transient interprets user The processor's purpose is to accept commands; it resides at the high end commands from the console, figure of memory where it can be overlaid out what they mean, and execute the with any applications program (some correct sequence of functions to get of which need as much memory as the job done. It is really just an or- PROGRAM MEMORY they can get). This feature is of dinary application program that does limited value in systems with large its work using only the standard MS- main memory, and it need not be im- DOS function requests. In fact, it can itated by programs used as a replace- be replaced by any other program ment for COMMAND. that provides the needed user inter- COMMAND provides both a use- face. ful set of built-in commands and the There are, however, two special COMMAND RESIDENT ability to execute program files features of the COMMAND file. located on the disk. Any file ending First, it sets up all basic error trapping MS-DOS with the extensions COM, EXE, or for either hard-disk errors or the Con- .BAT can be executed by COM- trol-C abort command. MSDOS.SYS 1/0 SYSTEM MAND simply by typing the first provides no default error handling 00400 part of the file name (without exten- but simply traps through a vector INTERRUPT VECTORS sion ). You can normally enter 00000 that must have been previously set. parameters for these programs on the Setting the trap vector and providing command line, as with any of the Figure 1: Map of memory areas as as- a suitable error response is up to signed by MS-DOS. built-in commands. Overall, the ef- COMMAND (or whatever program fect is to give you a command set that might be used to replace it). can be extended almost without limit The second special feature is that sient sections . The resident, which just by adding the command as a pro- COMMAND splits itself into two sits just above MS-DOS in low gram file on the disk. pieces, called the resident and tran- memory, is the essential code and in- The three different extensions t. %I[Clil PRODUCT DESCRIPTION LIST YOUR COST*11 UDS 103LP, 300 bps, Modem 145 130 UDS 202LP , 1200 bps , Half Duplex Modem 195 150 ZX FORTH LIDS 212LP, 1200 bps, Full Duplex (212A) Modem 445 CALL U.S. Robotics Auto Dial 212A , 300/1200 Full Duplex Modem 599 475 Incomm Auto Dial 212A , 300/1200 Full Duplex Modem 599 450 Simplicity of BASIC with the speed Cermetec Auto Dial 212A , 300/1200 Full Duplex Modem 595 495 Microband Auto Dial 212A , 300/1200 Full Duplex Modem 695 495 of machine code! Rixon Intelligent Modem , 300/1200 ( 10 Number ) 495 CALL Rixon PC 212A ( IBM PC Modem Card) 300 / 1200 495 CALL Incomm Multi Dial 300/ 1200 ( 10 Number ) 795 550 U.S. Robotics Password 300 /1200 (Auto Dial ) Modem 495 CALL U.S. Robotics Courier, Osborne, 300/1200 Modem 518 CALL U.S. Robotics 5.100 , 300/1200 Auto Dial Modem 495 CALL A complete implementation of the FORTH language for computer. Visua150 CRT 695 550 the ZX81 and TS1000 FORTH 's most dis- Freedom 100 CRT, w/20 F. keys & Editing 595 550 tinctive feature is its flexability. It can turn your computer Incomm Remote Station I, w/Integrated 300/1200 Modem 1295 995 into a "word processor". The basic unit is the WORD - Epson MX60 /Graftrax + 650 399 the programmer uses existing WORDS to define his Epson MX80 FT/Graftrax + 700 498 Epson MX100 /Graftrax + 900 700 own which can then be used in further definitions. This Epson FX80 750 656 makes program development much faster than other Star Micranics Gemini 10 399 350 Star Micranics Gemini 15 649 548 languages. FORTH is an interactive compiled language AJ letter Quality Printer , 30 CPS (KSR) 1450 1250 that expands the capabilities of your own ZX81 /TS1000. Inc- AB Switch , 8 Pin 120 84 Programs run up to 10 times faster than BASIC. The Inc,,, AB Switch , 25 Pin 159 98 Incomm ABC Switch , 25 Pin 198 138 more programs you have written, the more words, therefore you can draw on those for further programs. ID SBreakout Box (Blue Box ) 159 140 Incomm Breakout Box (Bob ) 150 120 FORTH is supplied on cassette and is accompanied by -70 a 56 page users manual and an 8 page editors manual. Epson , HX-20 .AA /95 CALL Epson OX -10/256K 2995 CALL Z43 $29.95 Zenith Z -100 4000 CALL T-7MM, 7 Pin, 4 Wire, Telephone Cable ( Modular Plugs) 10 7 5.975, Modular Double Adapter 7 5 EIA 9/5 , RS 232 . 9 Pin Cable , 5 FT MM / FF/MF 15 12 EIA 25/5, RS 232 , 25 Pin Cable , 25 FT MM/FF/MF 22 14 EIA 50 /5, Centronics Parallel Cable , 5 FT (36 Pin) 30 21 Call toll free 1-800-833-8400 MC 0050/ 10, Centronics 10 Ft . MM Cable , 36 Pin (10 FT) 38 25 N.Y.(716)874-5510 7010/5, IBM PC Printer Cable w /36 Pin 40 22 In Canada call toll free 1 -800-268-3640 8010/5 Apple II Printer Cable w/36 Pin 27 18 9010/5, Atari Printer Cable w /36 Pin 30 21 U.S.