This is how MS-DOS boots on a normal PC-compatible machine after it is initialized:

  1. The BIOS performs an INT19 interrupt to search the drives for a Master Boot Record.
  2. The Primary Bootstrap Loader moves the Master Boot Record into memory.
  3. The system executes the Secondary Bootstrap Loader from the Master Boot Record.
  4. The Secondary Bootstrap Loader moves IO.SYS and MSDOS.SYS into memory.
  5. IO.SYSlooks for the CONFIG.SYS file in the root directory.
  6. If the CONFIG.SYS is found, IO.SYS uses it to customize the environment in three read sequences (Devices, Install and Shell).
  7. IO.SYS loads the COMMAND.COM.
  8. The COMMAND.COM looks for the AUTOEXEC.BAT in the root directory.
  9. If the AUTOEXEC.BAT is found, COMMAND.COM carries out the script and executes the commands.
  10. If there is no AUTOEXEC.BAT, then the COMMAND.COM displays the current time and date, then stops with the command prompt.

The system is now ready to use.

mouso = M = mu

MS-DOS /M-S-dos/ n.

[MicroSoft Disk Operating System] A clone of CP/M for the 8088 crufted together in 6 weeks by hacker Tim Paterson at Seattle Computer Products, who called the original QDOS (Quick and Dirty Operating System) and is said to have regretted it ever since. Microsoft licensed QDOS in order to have something to demo for IBM on time, and the rest is history. Numerous features, including vaguely Unix-like but rather broken support for subdirectories, I/O redirection, and pipelines, were hacked into Microsoft's 2.0 and subsequent versions; as a result, there are two or more incompatible versions of many system calls, and MS-DOS programmers can never agree on basic things like what character to use as an option switch or whether to be case-sensitive. The resulting appalling mess is now the highest-unit-volume OS in history. Often known simply as DOS, which annoys people familiar with other similarly abbreviated operating systems (the name goes back to the mid-1960s, when it was attached to IBM's first disk operating system for the 360). The name further annoys those who know what the term operating system does (or ought to) connote; DOS is more properly a set of relatively simple interrupt services. Some people like to pronounce DOS like "dose", as in "I don't work on dose, man!", or to compare it to a dose of brain-damaging drugs (a slogan button in wide circulation among hackers exhorts: "MS-DOS: Just say No!"). See mess-dos, ill-behaved.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

These days the term DOS is usually assumed to mean MS-DOS, or Microsoft Disk Operating System. Although there are other operating systems known as DOS, MS-DOS is used much more extensively than any others, although few people venture into the dreaded command prompt when they can avoid it. DOS is a dark and scary place to be for those raised on GUI-based operating systems (like Windows.) The user needs to know exactly what to type to make things happen - otherwise you will hear nothing but "Bad command or file name". You'd think Microsoft would at least include a Help command.

Surprise: There IS a help command, and gosh darn it's a beauty. On a computer running MS-DOS 5.x or 6.x, simply type HELP at the command prompt (to run the file C:\DOS\HELP.EXE or C:\DOS\HELP.COM, depending on your DOS version) Don't know your DOS version? Type VER. If it responds with some form of Microsoft Windows, this will be a little harder for you.

Windows 95 users can find HELP.COM in the \Tools\Oldmsdos\ folder on the Windows 95 CD. It can also be found on the Windows 98 CD, and I believe the Windows ME CD, in the \Other\Oldmsdos\ folder. Windows NT, 2000 and XP offer it as an internal command, i believe - meaning you can just type HELP.

If you're THAT serious about sitting down and learning DOS, there are many websites listing all DOS commands, hell, there are probably nodes lying around here too that can offer you a full list. Using the Help file is much easier though, because you can access it anytime you need it.

Whether or not you find this Help file, on your CD's or on the Web, the use of /? is usually the better option. All internal DOS commands, 99% of DOS programs, and several Windows programs, can be run as follows: /? This will offer a quick rundown of the program's usage. Want to see this in action? Start a Command Prompt window right now, and tell it 'cd /?', then 'md /?', then 'rd /?', then 'del /?' (without quotes or commas.) Oh, and you can 'exit' when you've had enough DOS.

One warning: some programs ignore the /?, and will do whatever they normally do when they are run. Luckily, most DOS commands which can harm anything need to be run with parameters in order to modify/delete/format stuff. It is unlikely that you will ruin anything until you try this with every program on your hard drive. Just try to avoid experimenting with commands that sound dangerous.

Trust me. DOS is really easy to learn if you learn commands only when you need them. DOS is really hard to learn if you sit and study it as though it's the topic of tomorrow's report which you haven't quite started. Just learn these commands, and build from there:

1. dir
2. cd
3. copy
4. move
5. del
6. deltree
7. ren
8. edit
9. format
10. exit

Remember that commands and filenames can be UPPER, lower, or MiXeD case as you see fit. DOS won't care.

Summary: When in doubt, use HELP. It's guaranteed to not accidentally do stuff you'd rather not have done. It covers functions used only in your config.sys file, ones that can't be typed at the command prompt. You don't need to know the name of the command you're looking for, you can just look through until you see something that sounds kinda like what you're after. And it has an interface. Yes, a DOS program with an interface! (Well ok, not the NT or 2000 or XP one. But the rest do!)

When you can't be bothered negotiating through some interface, use /?. It gives you the goods with minimal fuss. Oh, and if a command gives you more info than will fit on one screen...you can follow it up with |more. Example:     XCOPY /? |more

Remember to type HELP /? at least once!

MS-DOS was Microsoft's initial offering in the IBM PC operating system arena. At the time Microsoft forged the deal with IBM to supply the OS, MS did not have an operating system to sell them. Instead, they purchased an OS called QDOS (Quick and Dirty Operating System) from Tim Paterson of Seattle Computer Products for $50,000. IBM agreed to let Microsoft retain the rights to their operating system, and this agreement is what most see as the foundation upon which Microsoft was able to build its empire. MS-DOS continued as a standalone operating system up through version 6.22. DOS with version numbers of 7.0 and beyond were included with the Windows 9x/ME series of operating systems. From Windows 95, one could boot into DOS by pressing F5 during the "Starting Windows 95..." message and selecting "Command Prompt Only". In Windows 98, one must hold down the Ctrl key immediately before the Windows logo shows up. Although Windows ME is still based on DOS, Microsoft elected to remove the command line as a startup option. However, ME still allows you to create a startup disk that boots into DOS mode.

Today DOS is generally considered to be an outdated operating system. However, it still has many uses. It is small and boots very quickly, making it useful in embedded systems. It is small enough and simple enough that one person can conceivably gain a detailed perspective of how the operating system works as a whole. One thing that really sets DOS apart from most modern OSes is that programs can directly access the hardware. Although this flies against what is considered "good practice" in programming, it allows a programmer to very easily access the hardware at the lowest level. Additionally, the DJGPP compiler gives programmers the ability to write 32-bit protected mode programs without worrying about segment:offset addressing or small/medium/large memory models or any such complexities normally associated with 16-bit DOS programming. And if you're into learning a little about assembly language and bytecode and such, "debug" is a wonderful tool for immersing yourself in the innards of the system. To use it, type "debug" at the command prompt. Once in the program, type "?" for help with the commands. One good thing to play around with the the memory dump feature. For example, type:
d c000:0
to see a text string describing your video card. This can be very useful if you have no idea what kind of video card you are working with, but you need to find a driver for it. If the text continues, type "d" again to view it. Another occasionally useful trick is to do:
d f000:fff0
to see the creation date for your BIOS

Log in or register to write something here or to contact authors.