MICROSOFT MS-DOS 6 REVIEWER'S GUIDE Microsoft confidential information. Share only under non- disclosure until announcement. 7 Microsoft Canada Inc. 320 Matheson Blvd. Mississauga, ON L5R 3R1 (416) 568-0434 Microsoft MS-DOS 6 Upgrade Reviewer's Guide For further information contact: Microsoft Canada Inc. Tim Stewart, National Marketing Mgr Marc Camm, Group Product Mgr Alec Saunders, Product Mgr (416) 568-0434 Creative Marketing Network Susan Taylor (416) 539-0694 Microsoft MS-DOS 6 Reviewer's Guide Table of Contents Microsoft's vision for MS-DOS 3 Learning from our customers 3 What should a user expect from MS-DOS? 4 Improvements in MS-DOS 6 5 A walk through MS-DOS 6 9 Appendix A: Technical details on DoubleSpace compression 16 Appendix B: A brief history of MS-DOS 22 Microsoft's vision for MS-DOS MS-DOS is now in its twelfth year and it has over 100 million users. Since its release in 1981 the computing world has changed dramatically, but MS-DOS continues to evolve and be a thriving platform. As we move into the future, three key user needs comprise our vision for MS-DOS: MS-DOS must be a superior platform for Windows Windows has become a standard. More than half of all new PCs are shipped with Windows, and the number is growing. The Windows application market is approaching the size of the MS-DOS applications market. Given the widespread use of Windows, we plan to evolve MS-DOS over time to: Provide the base technology that Windows needs to improve Become more tightly integrated with Windows MS-DOS must improve for MS-DOS users Notwithstanding the success of Windows, for a host of reasons people will be using only MS-DOS long into the future. For example, many people are comfortable with MS- DOS and their MS-DOS applications, or rely on vertical applications not yet ported to Windows, or use a computer that cannot run Windows. Microsoft will continue to improve MS-DOS to provide more and better functionality for MS-DOS users while maintaining strict backwards compatibility. We are committed to MS-DOS: MS-DOS 5, MS-DOS 6, and parallel development of the next major release after MS-DOS 6 are evidence of our commitment. MS-DOS must be safe and easy Most computer users are not experts, and there are a huge number of MS-DOS users. Therefore, it is imperative that new features be consciously designed to be safe, so users need not worry about data loss, system failure or even human error, and easy, so that the functionality is usable by more than just experts. These three goals - supporting Windows, improving MS-DOS itself, and safety and ease - are reflected throughout MS- DOS 6, and will be reflected in future versions as well. Learning from our customers Until MS-DOS 5, Microsoft distributed MS-DOS exclusively through PC manufacturers. As a result, MS-DOS improvements were typically hardware-oriented and geared towards the needs of these customers: high-density floppy support, large hard disk partition support, and so on. The release of MS-DOS 5, and specifically the MS-DOS 5 Upgrade, was our first experience in selling an MS-DOS product directly to end users. It has been an enlightening experience. For the first time we talked to user groups and other customers, conducted market research and received extensive product support feedback. We have learned a lot over the last year-and-a-half about what people want in MS- DOS, and this learning is reflected in MS-DOS 6. What should a user expect from MS-DOS? Based on our experience selling MS-DOS through PC manufacturers and as an upgrade, we would like to offer the following MS-DOS testing criteria. These criteria are activity-based; that is, based on what users actually do with MS-DOS. Although Compatibility and Windows Support are not activities, they are clearly critical measures of any PC operating system. Also, we believe that features within each of the areas should be evaluated using three measures: Safety: Users expect the highest levels of reliability and compatibility from MS-DOS Ease: MS-DOS features should be accessible to a wide range of users Flexibility: Advanced users should be able to configure and optimize MS-DOS to their liking Compatibility Users rely on MS-DOS to run tens of thousands of products. They rely not only on Microsoft to test new versions of MS- DOS exhaustively to guarantee compatibility with existing products, but also on software and hardware vendors to test their new products on MS-DOS as well. Ultimately, compatibility is what defines MS-DOS; if it is not completely compatible, it is not MS-DOS. Windows Support MS-DOS should do more than just run Windows. It should provide the technology necessary to make Windows perform at its best. While continuing to provide benefits to MS-DOS- only users, the operating system should give the same benefits to Windows users in their preferred environment. Setup and Installation Setup should be easy enough for everyone to use, and that means not only thoughtful design but sophisticated hardware and software detection. Setup should also be safe, and able to reverse the changes it makes or recover from accidents like pulled plugs. Finally, ease should not mean inflexibility; advanced users should be able to tailor their configuration as they wish. Hard Disk Management The capacity and speed of hard disks are constantly limiting factors. MS-DOS needs to provide safe and easy solutions that let users make the most of their media resources; safety is critical due to the value of disk contents. It should also provide information so advanced users can optimize intelligently. Memory Management Memory is another precious resource that MS-DOS should manage to its fullest. As memory management is both hazardous and complex, safety and automation are critical. But given the huge variety of configurations, flexibility is necessary as well. Data Protection Data can be deleted or lost due to user error, system failure, computer viruses, or application problems. MS-DOS should provide the user tools to ensure the integrity of their data. System Startup Starting the system is an extremely common task. Most users start their system at least once a day, and many start it several times a day. The startup process should be both safe and flexible. Documentation and Help Documentation should be accessible and to-the-point, and not forbidding. On-line help should be available in all parts of the system. Improvements in MS-DOS 6 The following summarizes the key improvements in MS-DOS 6. Improvements have been grouped into the eight areas listed under "What should a user expect from MS-DOS?" Compatibility Improvements in an operating system are not limited to features. Improvements in testing methodologies are equally important since compatibility is so critical to operating system users. The MS-DOS 5 beta test succeeded in ensuring compatibility, and with MS-DOS 6 we have implemented new measures to further improve our beta testing quality. Some of these measures include: Beta implementation: Instead of releasing new betas to the same testers every few months, as with MS-DOS 5, we are rolling out new betas to new testers every few weeks in order to continuously test and re-test bug fixes. MS- DOS 5 had three beta releases and over 7000 beta sites; MS-DOS 6 will have at least six releases and well over 10,000 sites worldwide. Test scripts: All beta testers receive a test script to familiarize them with MS-DOS 6 and to ensure that they exercise the new features. Testers of all skill levels: We actively recruited novice and intermediate beta testers in order to test for usability flaws as well as compatibility. Setup and Installation The safety and ease of the MS-DOS 5 Upgrade installation program proved to be a key feature in that it enabled users of all skill levels to upgrade their MS-DOS. Building on this foundation, the MS-DOS 6 Upgrade installation program makes it even easier to get up and running: Easy installation: Sophisticated configuration detection lets users install the MS-DOS 6 Upgrade with only a few keystrokes and without any knowledge of their system. Flexible installation: Lets users install or not install certain optional MS-DOS 6 components. Maintenance mode installation: Lets users install the optional components at a later time without having to reinstall all of MS-DOS 6. Automatic cache installation: Saves users from having to install SMARTDRV, the MS-DOS cache. (see "Hard Disk Management" below for more information on SMARTDRV) Automatic compressed system upgrade: Upgrades systems compressed using stand-alone compression programs such as Stacker or Superstor to MS-DOS 6 without user intervention. OS/2 upgrade: If OS/2 is detected, the user has the choice of de-installing OS/2 or installing the MS-DOS 6 Upgrade alongside OS/2. Hard Disk Management The goal of MS-DOS 6's hard disk management is to provide safe and easy solutions to two common user problems: Full hard disks and slow hard disks. Integrated compression provides relief for the former, and improved caching and defragmentation address the latter. Integrated Compression: DoubleSpace DoubleSpace increases most users' hard disk capacity by about two times. The appendix contains technical detail on DoubleSpace; highlights include: Easy compression: The usability problems of add-on compression products, such as drive-swapping and the need to constantly synchronize CONFIG.SYS and AUTOEXEC.BAT between drives, are eliminated because DoubleSpace is integrated with the MS-DOS kernel. Safe compression: The MS-DOS kernel, DoubleSpace and the Smartdrv cache are designed to work together to provide safe compression. Easy setup: Users can compress the data already on their disks, simply by typing DBLSPACE. Safe Setup: DoubleSpace setup is restartable, even if the user accidentally pulls the plug in the middle of compressing their hard disk. DoubleSpace Manager: The full-screen DBLSPACE utility lets users perform housekeeping tasks such as creating, deleting, growing or shrinking compressed drives. Floppy disk support: Users can compress floppy disks as well as other removable media. A Compression Standard: MRCI The Microsoft Real-time Compression Interface, or MRCI, builds a compression standard by defining a standard way for users and providers of compression to communicate: A software standard: MRCI defines an API that makes DoubleSpace's compression services available to all software, such as backup programs or the Microsoft Flash File System. A hardware standard: MRCI defines a standard way for compression hardware to replace and enhance DoubleSpace's compression services; DoubleSpace itself checks for the presence of hardware and discards its own compression routines if hardware is available. Improved caching: Smartdrv By caching disk reads and writes in memory, Smartdrv speeds hard disk performance: Ease-of-use: MS-DOS 6 Setup installs Smartdrv automatically on all users' systems. Write-behind caching: Smartdrv now caches disk writes as well as reads, greatly increasing performance. DoubleSpace integration: Smartdrv caches compressed data, which increases effective cache size and performance without requiring more memory. Smartmon: A Windows utility that lets users monitor and tune Smartdrv performance. Defragmentation Defrag, an easy-to-use subset of the Norton Utilities' Speedisk, rearranges files and free space on users' hard disks to speed performance: DoubleSpace integration: Defrag can defragment compressed DoubleSpace drives as well as uncompressed drives. Memory Management Although memory management was much improved in MS-DOS 5, it was not easy to use. MS-DOS 6 provides the industry's first "ergonomic" memory management; that is, memory management for everyone. MS-DOS 6 also provides as much as 104K more upper memory than MS-DOS 5, and in sum is designed to be a complete memory management solution: Easy and Safe Optimization: Memmaker Safe optimization: Memmaker is designed never to leave the user's system in a state of disarray. If Memmaker has a memory conflict, after a cold or warm reboot it regains control and lets the user try again with different settings, or undo all changes. Easy optimization: Memmaker can run in Express Mode, which requires only two keystrokes to initiate optimization; Custom Mode, which lets advanced users adjust the default parameters; and Batch Mode, which requires no user interaction at all. Windows optimization: Memmaker accounts for Windows' use of upper memory when optimizing in order to create more memory for MS-DOS applications running under Windows. Block control: Memmaker takes advantage of MS-DOS 6's ability to load programs into specific blocks of upper memory. Compression-aware: Memmaker optimizes even systems with add-on compression products installed. Self-Moving program aware: Memmaker optimizes programs like SMARTDRV, UNDELETE and POWER that take advantage of API's introduced in MS-DOS 5 in order to load themselves into upper memory automatically. More Memory: Enhanced EMM386 More upper memory: EMM386 now recovers up to 200K of upper memory automatically. Dynamic EMS/XMS allocation: EMM386 now allocates EMS and XMS memory from a shared pool so users can run applications requiring either type of memory without having to know anything about EMS and XMS. Better Memory Viewing Tools MSD: The Microsoft System Diagnostics displays memory map information as well as a detailed system profile. Enhanced Mem Command: The new /Free option details unused memory blocks, and the /Module option provides information on a specific program. Data Protection MS-DOS 6 provides users several new tools to protect their data, specifically MS-DOS and Windows versions of Backup, Anti-Virus and Undelete. Backup for MS-DOS and Backup for Windows Backup in MS-DOS 6 is licensed from Symantec and based on their award-winning Norton Backup. Key benefits include: Ease-of-use: A full-screen interface, intuitive design, and both MS-DOS and Windows versions lets all users backup data easily and regularly. Reliability: Advanced error correction enables data recovery data from damaged disks, and the file comparison option verifies data integrity and alerts users to any abnormal changes to files. DoubleSpace compression: Using DoubleSpace, data is saved in compressed form to speed backups and reduce the number of floppy disks required. Configurable: Among other options, users can select what files and directories they want to backup or restore, and choose among different backup types such as full, incremental or differential. Anti-Virus for MS-DOS and Anti-Virus for Windows Anti-virus is licensed from Central Point Software and based on their award-winning Central Point Anti-Virus. Key benefits include: Known virus protection: Anti-virus scans both memory and disks for known viruses, and can clean infected files. Unknown virus protection: Checksumming protects executable files from being modified, and VSafe, a memory resident program, can continuously guard against virus- like behavior. Ease-of-use: Both a full-screen MS-DOS version and a Windows version make it easy for users to scan for viruses; Windows users can even scan in the background. Ongoing maintenance: All MS-DOS users can receive two anti-virus updates at cost, and ongoing anti-virus subscriptions are available from Central Point Software. Undelete for MS-DOS and Undelete for Windows Undelete has been significantly enhanced over the undelete provided in MS-DOS 5, and is licensed from Central Point Software. Highlights of undelete include: Windows interface: Windows users can now recover files without having to exit to MS-DOS. Better protection: In addition to the two levels of protection offered in MS-DOS 5 (standard and delete- tracking), undelete in MS-DOS 6 adds a new level of protection (delete sentry) that guarantees recovery of deleted files, even if on a network drive. Directory undelete: Deleted directories can now be recovered as well as deleted files. System Startup System startup is both configurable and foolproof using MS- DOS 6. Clean start: "The end of the boot floppy" - users experiencing configuration problems can bypass CONFIG.SYS and AUTOEXEC.BAT and boot a "clean" system by holding down F5 during bootup. Interactive start: Users holding down F8 during bootup are prompted [Y/N] for every line in CONFIG.SYS and can choose to bypass AUTOEXEC.BAT as well. Multi-config: By creating menu items and corresponding menu blocks in their CONFIG.SYS, users can boot to a menu and choose among different boot configurations. Choice: A batch command that accepts keyboard input and lets users construct simple menus. Documentation and Help New documentation and abundant on-line help make information on MS-DOS 6 accessible. New documentation: In response to users' main complaint about the MS-DOS 5 manuals - that they were too voluminous to be approachable - we rewrote the documentation to be more concise and focus on the most common user tasks and problems. On-Line MS-DOS reference: A full-screen help system that provides syntax, examples and notes for all commands and device drivers in MS-DOS 6. Universal on-line help: On-line help is available everywhere: The command-line, DoubleSpace, Memmaker, Backup for MS-DOS, Backup for Windows, Anti-Virus for MS- DOS, Anti-Virus for Windows, Undelete for Windows, Defrag, Editor, QBasic, DOSShell and Smartmon. Windows Support and Integration MS-DOS 6 is designed to be tightly integrated with Windows, and to bring the same benefits to Windows users as MS-DOS users. Backup, Anti-Virus, and Undelete support for Windows: These tools, which come in Windows versions as well as MS- DOS versions, are accessible from icons in a "Microsoft Tools" program group created during setup, from a new "Tools" menu created in the File Manager and from the button bar in the Windows for Workgroups File Manager. DoubleSpace support for Windows: Information on compressed files is available also from the new File Manager "Tools" menu, and DoubleSpace installs and works seamlessly with Windows' permanent swap files. Memory optimization for Windows: Memmaker is designed specifically to provide maximum memory for MS-DOS applications running under Windows. A walk through MS-DOS 6 In the following pages we will step through installing the MS-DOS 6 Upgrade and looking at its new features. Features are grouped by the areas listed earlier; to walk-through simply following the directions in the right column. FEATURE DESCRIPTION DIRECTIONS Ease of Setup Like the MS-DOS 5 Upgrade, & the MS-DOS 6 Upgrade setup Installation is safe and easy so that all users may install MS- DOS 6. MS-DOS 6 Setup will automatically Insert disk Setup check several system 1. At the settings and ask you for MS-DOS verification if necessary. prompt, type A:SETUP or B:SETUP and press ENTER Press Enter Press Enter Windows to verify Support & When installing Backup, settings Integration Undelete, and Anti-Virus, Setup lets you install the Use the Windows versions, the MS- arrow keys DOS versions, or both. To to install save space, it defaults to Windows & Windows versions only on MS-DOS Windows systems and MS-DOS versions versions only for MS-DOS for all systems (You can install three the others later using features SETUP /E). We recommend installing both for this Press ENTER walk through. and follow the remaining prompts. Hard Disk We focused on speeding up Management hard disks and providing relief for full disks in MS- DOS 6. DoubleSpace Full hard disks have become At the MS- setup a universal problem, and by DOS prompt, integrating compression type into the MS-DOS kernel DBLSPACE we've made it safe enough and easy enough for Press ENTER universal use. To compress all the DoubleSpace setup performs data on a number of tasks, but your C: they're all automated. It data, press takes about a minute per ENTER megabyte of data on your hard disk. Press C DoubleSpace tells you how much free space you had before on your hard disk When and how much you have now. DoubleSpace It should have grown setup is substantially. complete, press ENTER When DoubleSpace is finished and it's rebooted your system, you can resume using your system exactly as you used it before. DoubleSpace doesn't force you to change the way you work. DoubleSpace DoubleSpace requires no At the MS- manager ongoing maintenance, but DOS prompt, users who want to optimize type their systems can do so DBLSPACE using the DoubleSpace manager. DoubleSpace You can get compressed Select information drive information such as Drive/Info compression ratio, free space and used space. Defragmenting Defragmenting your Select your DoubleSpace drive increases Tools/ DoubleSpace performance. Defragment drive You can also defragment Press ENTER your DoubleSpace drive by typing "defrag" at the MS- DOS prompt. Checking your You can check your Select drive DoubleSpace drive integrity Tools/Chkds and correct errors using k chkdsk. You can also check your DoubleSpace drive by typing "chkdsk" at the MS-DOS prompt. Exiting the The DoubleSpace manager Select DoubleSpace performs other maintenance Drive/Exit manager tasks as well. See the chapter "Managing Your Hard Disk" in the User's Guide for more information. Defragmenting If you defragmented your At the MS- your hard hard disk above in the DOS prompt disk "DoubleSpace manager" type DEFRAG section, you should skip this section. However, if you did not compress your hard disk using DoubleSpace, you can defragment your hard disk now to optimize its performance. Choosing what You can optimize hard or Select drive to floppy disks. We recommend Drive and optimize optimizing your C: drive. press ENTER Defrag only recommends If Defrag optimizing if necessary. recommends If you do optimize, you can optimizatio watch defrag rearrange your n, press data so that all the free ENTER and used space are contiguous. Making the When spaces contiguous shortens finished, the distance the hard disk select Exit heads have to move, and Defrag and this increases performance. press ENTER Data Backup, Anti-Virus and the Protection improved Undelete help users protect their data more reliably. Backup Backup is greatly improved At the MS- in MS-DOS 6, and Windows DOS prompt, users and MS-DOS users get type the same features with MSBACKUP Windows similarly designed Support & interfaces. Integration This portion of the walk- through will use the MS-DOS version. Later, you can use the same feature within Windows. Backup: You must first configure Press ENTER Configuration backup to ensure that to Start reliable backups can be Configurati made. You will need two on blank floppies for the compatibility test. Follow the The compatibility test is remaining important because it prompts and verifies that Backup is press ENTER configured correctly for to accept your computer. the defaults At the end of testing, Click on the Save option Backup: Backup lets you specify Select the Backing Up which files to save and to BACKUP Data configure the program to option from your needs. These BACKUP menu selections are stored in setup files. Backup loads a Select the default setup file called drive you DEFAULT.SET. Setup files wish to automate the setup process backup from and save configuration time. Choose SELECT First select the files you FILES wish to backup. After highlightin Backing up files will g a require at least one blank directory disk. Whether additional or file you are required depends upon wish to how many files you wish to backup, back up. select it by pressing the SPACEBAR. Choose OK Saving this configuration in a setup file lets you Select run the same backup at a File/Save later time without having Setup As to reconfigure. and name the Backup uses compression configurati both to speed backups and on. save on floppy disks, and also uses error correction Choose so you can restore files START even from partially damaged BACKUP floppy disks. Backup: You can easily restore data Select Restoring from the backup set to the BACKUP. Data specified location. RESTORE As part of the backup Select the process, Backup creates a catalog backup set catalog that from the contains information about backup you the files that were backed just made up. Backup catalogs names to restore include the date of backup files from and type of backup BACKUP SET performed. CATALOG. You can restore all the If you wish files backed up, or any to restore selection. The default is only some to restore all. files, choose SELECT FILES Select the files to restore and You can restore to the choose OK. original drive and path, or to a new location. Select the destination drive or path. Select That concludes the MS-DOS START Backup tour. RESTORE When complete, select QUIT Microsoft Microsoft's Anti-Virus At the MS- Anti-Virus provides active prevention, DOS prompt, detection and removal of type MSAV viruses. Windows Support & Like Backup, Anti-Virus Integration provides Windows users and MS-DOS users the same functionally. This portion of the walk- through uses the MS-DOS version. We will look at Anti-Virus for Windows later. Tip: To detect viruses every time your computer is turned on, add the following command to your AUTOEXEC.BAT file: MSAV/N Scanning for Microsoft's Anti-Virus Choose Viruses protects your computer from DETECT viruses by scanning both option. the computer's memory and You may drives. You can scan press F3 to network drives as well. interrupt virus Tip: In Anti-Virus for MS- scanning. DOS, hit the F9 key to view a list of viruses. You can When learn more about a virus by complete, highlighting it and choose EXIT pressing ENTER. Undelete for Like Backup and Anti-Virus, Start Windows Undelete comes in both Windows and Windows & MS-DOS versions. run the MS-DOS users can type File UNDELETE at the command Manager prompt. Windows users can configure and use undelete In the DOS via a Windows interface. directory, Let's take a look. delete the file DEBUG.EXE During Setup, the MS-DOS 6 Upgrade makes the necessary Select modifications to integrate File/Undele Undelete into the File te Manager. Select In MS-DOS 6, you have three ?EBUG.EXE levels of undelete protection: recovering Click the deleted files under MS-DOS, UNDELETE loading a TSR which tracks button deleted files, and saving deleted files in a hidden Type D and directory. These three Click OK levels are configurable from Windows Undelete under Select Options\Configure Delete File\Exit Protection. Tip: You may also run Undelete for Windows from the icon in the Microsoft Tools program group. Other Windows During Setup, the MS-DOS 6 Select the integration Upgrade also makes the Tools menu necessary modifications to to run Anti- create a new Tools menu in Virus for the File Manager that Windows, contains Anti-Virus, Backup Backup for and DoubleSpace. Windows, or access Tip: You may also run Anti- DoubleSpace virus for Windows or Backup information for Windows from their icons in the Microsoft Tools program group. System We added several features ` Startup to make starting up an MS- DOS 6 system safer and more flexible. Clean Start In case of configuration Insert the problems, Clean Start lets Walkthrough you bypass CONFIG.SYS and Disk into AUTOEXEC.BAT files during drive A: bootup. So you may see it and type in action, we have provided A:CLEAN a CONFIG.SYS file on the accompanying disk that will hang your system. Remove the When you reboot, your Walkthrough system will hang. Disk from its drive and reboot Reboot Before MS-DOS 6, the only again. solution for this problem Press F5 was to find a boot floppy. immediately Now you can always get to following the command prompt. the "Starting MS-DOS" message. Interactive Interactive Start allows Reboot Start you to select [Y/N] for again. every line in your Press F8 CONFIG.SYS during bootup. after the This feature is very useful system for troubleshooting. beep. Your system still has the Press Y for CONFIG.SYS that causes it each line to hang, and it is hanging in your because of improper EMM386 CONFIG.SYS parameters. To verify that up to the this is the problem, EMM386.EXE execute every line of the line. CONFIG.SYS file except the EMM386 line. Press N for the EMM386.EXE line. After processing Press Y for CONFIG.SYS, you have the each option of bypassing remaining AUTOEXEC.BAT. This too can line and be useful for for the troubleshooting. AUTOEXEC.BA T. Multiconfig Multiconfig lets you to Insert the choose among different boot Walkthrough configurations by creating Disk into menu items and menu blocks drive A: in your CONFIG.SYS. and type A:MULTI This feature is Remove the particularly useful for Walkthrough situations where Disk from configurations need to its drive change regularly, such as and reboot laptops with docking to see the stations, or PCs shared by Multiconfig multiple users. menu The sample CONFIG.SYS provided is for laptop users. If you do not choose a menu item, it defaults after the timer runs down to zero. Documentation In addition to on-line help and Help throughout the system, MS- DOS 6 itself is also documented on-line in its entirety. On-Line New full-screen help system At the MS- Documentation provides syntax, examples, DOS prompt, and notes for all commands type HELP and device drivers in MS- CHOICE DOS 6. For instance, to see how to set up Choice, you could look in the EXAMPLES section under Press ALT-C CHOICE. Select There is also a listing of File/Exit all MS-DOS 6 commands. Memory The memory management in MS- Management DOS 6 is designed to be a safe, easy and complete memory management solution for all users. Express Setup You will need a set of non- Insert the optimized configuration Walkthrough files to test this feature. Disk into A set is provided on the drive A: accompanying disk. and type A:MEMORY Remove the disk and reboot Memmaker was designed so that even novice users Type could benefit from memory MEMMAKER at optimization. Our design the command goals for Memmaker were prompt safety and ease, not pure optimality, and so by Press ENTER design it may not free as to continue much memory in all cases as Windows add-on memory managers. Press ENTER Support & to select Integration Express mode, the default, EXPRESS lets even rank novices optimize memory. Custom Mode lets advanced users change certain settings. Memmaker accounts for Windows translation buffers when optimizing in order to create the largest possible DOS boxes under Windows. Memmaker has made the Press ENTER necessary changes to your to reboot CONFIG.SYS and AUTOEXEC.BAT to measure the size of each device driver and TSR. press ENTER to reboot Memmaker checks all possible configurations to Press ENTER determine the optimal one. for Yes As a safety precaution, it asks you to make sure everything loads normally during the next reboot. Press ENTER to exit Memmaker shows your memory Memmaker allocation before and after you ran it. Memmaker is ready to restart your system with the new memory configuration. Tip: If you want to optimize your system further, just type Memmaker at the command prompt and select custom mode. Restoring Since this walkthrough To restore your old replaced your CONFIG.SYS your old configuration and AUTOEXEC.BAT files, you configurati should restore them now. on, insert the Hope you enjoyed MS-DOS 6! Walkthrough disk and type A:RES Appendix A: Technical details on DoubleSpace compression Before reading this appendix, you should be familiar with the following: FAT file system Add-on compression products such as Stacker or Superstor Introduction DoubleSpace is a technology that compresses data stored by the FAT file system in real-time. The term "real-time" means that the compression and decompression of data occurs as data is written and read, and so is transparent to the user. This is different than off-line compression utilities such as PKZip which require separate, manual steps to compress and decompress, and so are much more cumbersome. DoubleSpace compresses by analyzing a block of data for repeated sequences, and then encode these repeated sequences as a match in a very compact form. Consider the following sentence: The rain in Spain falls mainly on the plain. To compress this sentence, DoubleSpace first identifies the repeated sequences then writes them as . The offset is the number of bytes to the left where the match starts, and the length is the number of bytes matched. The rain <3,3>Sp<9,4>falls m<11,3>ly on <24,4>pl<15,3>. Having identified the matches, DoubleSpace now encodes this information compactly. The key is to analyze the frequency of occurrence of the offset and length values, and then to choose very short encoding for the most common values. Setting up DoubleSpace The files on your hard disk are still uncompressed after you install the MS-DOS 6 Upgrade. It is when you type DBLSPACE for the first time that you actually compress them. Compressed files are stored in what is known as a compressed volume file, or CVF. As the figure illustrates, the CVF resides on the hard disk, or host drive, and typically takes up almost all of the space on it. Using technology described in the next section, DoubleSpace manages the space on the CVF, and makes the CVF appear to MS-DOS like just another drive. A small amount of space is left over on the host drive for data that cannot or should not be compressed. The compressed drive (the CVF) and the uncompressed drive (the remaining space on the host drive not used by the CVF) are accessed using different drive letters. DBLSPACE runs in one of two modes: express or custom. The latter lets you either compress-in-place all the files on your hard disk (one partition at a time), or create a new, empty compressed drive and leave all your files uncompressed; the former, which is the default, only compresses-in-place since that is the easier and more beneficial way to use compression. The compress-in-place operation first creates an empty CVF. It then loops as follows until all the files on the hard disk are compressed: Read an uncompressed file from the hard disk Compress the file Grow the CVF Write the file to the CVF Delete the uncompressed file from the hard disk Compress-in-place takes roughly a minute per megabyte of data on the hard disk. Since this loop could be running for hours on some systems, there is an increased possibility that a pulled plug or accidental reboot could happen in the middle. For this reason, compress-in-place was designed as a safe, restartable operation. First, by flushing disk buffers regularly it ensures that no data is ever in memory only; all data in memory is also on the disk. Second, it modifies AUTOEXEC.BAT and checkpoints its progress such that after an interruption like a reboot, it can automatically pick up exactly where it left off. Compress-in-place compresses and moves every file on the hard disk to the CVF except for several system files that are the only files left on the uncompressed drive. All are either hidden/system or hidden/system/read-only, and so a user sees nothing on their uncompressed drive. These system files are: 1.IO.SYS The three MS-DOS system files must be uncompressed for the system to boot 2.MSDOS.SYS 3.DBLSPACE.BIN 4.DBLSPACE.000 The CVF that holds the compressed data 5.DBLSPACE.INI DoubleSpace configuration information 6.386SPART.PAR The Windows permanent swap file cannot be compressed DBLSPACE.BIN: The compression sub-system For the first time since its introduction eleven years ago, MS-DOS has a new kernel file. Joining IO.SYS and MSDOS.SYS is DBLSPACE.BIN, and it has two components: A disk space manager A compress-decompress engine The disk space manager DBLSPACE.BIN is a compression sub-system that looks to FAT like a block device driver, and the CVF is just another drive. FAT knows about files and directories, while DoubleSpace knows only about the sector space it manages within the CVF. DoubleSpace is best thought of as a manager of disk space. The smallest FAT allocation unit is the cluster, which is 2K on a typical system. So a 1-byte file takes up 2K on the disk, and a 40K+1-byte file takes up 42K on the disk. This end-of-file waste, or cluster-overhang, can be significant if a user has many small files. The smallest DoubleSpace allocation unit is the sector, which is 512 bytes on most systems. This finer granularity is possible because DoubleSpace maintains its own disk allocation data structures within the CVF that map FAT clusters to DoubleSpace sectors. As a consequence, DoubleSpace eliminates cluster-overhang waste. The compress-decompress engine There are tradeoffs in choosing a compression algorithm: speed of compress, speed of decompress, achieved compression ratio, and memory consumption. No algorithm provides the best of all. Speed is clearly tantamount when you must compress in real-time, and it is well-understood what algorithms are optimal for a real-time system. Consequently, the engine in DBLSPACE.BIN, like that in add- in compression products, is based on Lempel-Ziv. Since Lempel-Ziv algorithms are extremely well-understood, it is not surprising that all MS-DOS compression offerings, including DoubleSpace, achieve roughly the same compression ratios. Speed is affected by two variables: the efficiency of the compress-decompress code and caching. First, DBLSPACE.BIN contains 86/88, 286 and 386-specific code hand-tuned for each of those processors. Second, SMARTDRV.EXE has been modified to cache "behind" DBLSPACE.BIN, meaning that it caches compressed data. As a result more data fits in the cache, increasing the cache hit rate and increasing performance. What happens at boot-time To understand some of the differences between DoubleSpace and an add-on compression product, let's examine how each boots the system. The popular add-on products, such as Stacker or Superstor, boot the system similarly, and work as follows: Step 1 2 3 4 5 Summary Power Begin Load Swap Finish on processi compress drives processing ng ion CONFIG.SYS CONFIG.S driver YS and mount CVF CONFIG.S Device= YS lines C:\dos\h processe imem.sys d Device= C:\dos\e mm386.ex e Devicehi gh= C:\compr ess.sys Devicehi gh= C:\swapd rv.sys C: D: Devicehigh = C:\mouse\m ouse.sys Devicehigh = C:\dos\ans i.sys Step 1:The machine is turned on Step 2:MS-DOS begins processing CONFIG.SYS and loads HIMEM.SYS and EMM386.EXE Step 3:The compression device driver, which we generically call COMPRESS.SYS, loads, and it mounts the CVF as drive D: Step 4:The drive letter swapper, SWAPDRV.SYS, loads, and swaps the drive letters C: and D:, so that the CVF is C: and the uncompressed host drive is D: Step 5:MS-DOS finishes processing CONFIG.SYS and loads the remaining device drivers. The implementation used by add-on products causes a number of knotty usability problems: Parallel directories: Users must maintain parallel directory structures on C: and D:. The uncompressed D: drive (originally C:) must contain all the device drivers that load before the drives are swapped (those loaded in step 2), and the compressed D: (originally C:) drive must contain all files loaded after the drives are swapped (those loaded in step 5). Dual CONFIG.SYS and AUTOEXEC.BAT: Users must maintain two CONFIG.SYS files, one on C: and one on D:. Any time a user changes one and reboots, the compression driver must halt the boot process to ask the user if they want to synchronize the CONFIG.SYS file on C: with the one on D:, and if yes, reboot the system again. Installation failure: Some installation programs, like those of add-on memory managers, fail since they modify CONFIG.SYS to load a device driver before C: and D: are swapped (step 4 above). When the user reboots after installation they get a "Bad of missing device driver in CONFIG.SYS" error message. Driver deletion problems: Users who accidentally delete DEVICE=C:\COMPRESS.SYS from CONFIG.SYS lose access to all their compressed data, and most assume they have lost all their data. Let's look now at what happens when a DoubleSpace system boots: Step 1 2 3 4 Summary Power IO.SYS IO.SYS Process on loads loads CONFIG.SY DBLSPACE.B S IN, which mounts the CVF and swaps drives CONFIG.S Device= YS lines C:\dos\hi processe mem.sys d Device= C:\dos\em m386.exe Devicehig h= C:\mouse\ mouse.sys Devicehig h= C:\dos\an si.sys Step 1:The machine is turned on. Step 2:IO.SYS loads Step 3:IO.SYS loads DBLSPACE.BIN, which mounts the CVF as drive D: and then swaps the drive letters C: and D:, so that the old C: is now D: and vice-versa. We could have chosen a letter other than D: since DoubleSpace lets users assign any letter from D: to Z: to the uncompressed drive. Step 4: MS-DOS processes CONFIG.SYS normally The usability problems in the add-on example disappear because IO.SYS loads DoubleSpace before processing CONFIG.SYS. To the user, "C: is C:". That is, a user's compressed C: drive behaves exactly like it did when it was uncompressed. Since the drives are swapped before CONFIG.SYS is processed, to the user there is no swapping at all. They can ignore the extra drive letter entirely, like, for example, a network drive. Specifically: No parallel directories: Like an uncompressed system, only the C: drive has files on it. As mentioned earlier, the D: drive has no visible files on it. No dual CONFIG.SYS and AUTOEXEC.BAT: Also like an uncompressed system, there is only one CONFIG.SYS and one AUTOEXEC.BAT. No installation failure: Installation programs can modify CONFIG.SYS the same as always. No driver deletion problem: Since IO.SYS loads DBLSPACE.BIN, there is no driver for users to delete. The DoubleSpace boot process in detail Let's examine the boot process described above in more detail, beginning with step 2: After loading, IO.SYS looks on the boot drive for DBLSPACE.BIN. If it's there, IO.SYS loads it at the top of conventional memory. If it's not there, IO.SYS knows the system is not compressed and continues the boot process as it does without compression. Note: The SYS and FORMAT /S commands now copy DBLSPACE.BIN in addition to IO.SYS and MSDOS.SYS, and so all MS-DOS 6 system floppies can boot a compressed system. DBLSPACE.BIN reads a number of settings from DBLSPACE.INI, including the CVFs it should mount as compressed drives and the drive letter it should assign to each. DoubleSpace supports multiple CVFs on the same host drive and can mount more than one. CVFs on the same host drive are named in sequential order: DBLSPACE.001, DBLSPACE.002, and so on. A CVF named DBLSPACE.000 is special - it means that the user compressed-in-place the data on their C: drive instead of creating a new, empty compressed drive. DBLSPACE.BIN mounts the CVFs and assigns them the drive letters specified in DBLSPACE.INI. If a user has a CVF named DBLSPACE.000, and almost all will, DBLSPACE.BIN swaps its drive letter with the host drive. The compressed drive becomes C:, and the uncompressed drive becomes a letter from D: to Z: chosen by the user. Remember that if the CVF is named DBLSPACE.000 it means that the user compressed-in-place their C: drive, and so it must continue to be the C: drive. Hence, the letters are swapped. CONFIG.SYS is processed exactly as on an uncompressed system. If MS-DOS encounters the line DEVICEHIGH=C:\DOS\DBLSPACE.SYS /MOVE in CONFIG.SYS, it relocates DBLSPACE.BIN from the top of conventional memory to an Upper Memory Block (UMB). Why this sequence of loading and then relocating? Recall that IO.SYS loads DBLSPACE.BIN before processing of CONFIG.SYS. By definition, then, a memory manager such as EMM386 is not present and so UMBs do not exist. Therefore IO.SYS must load DBLSPACE.BIN into conventional memory, which is less than optimal on 386 and 486 systems. But DBLSPACE.BIN loads at the top of the 640K, and not the bottom, so it can later relocate to a UMB without leaving a hole in lower conventional memory and fragmenting it. If there is no reference to DBLSPACE.SYS in CONFIG.SYS, MS- DOS automatically relocates DBLSPACE.BIN from the top of conventional memory to the bottom at the end of processing CONFIG.SYS (the line DEVICE=C:\DOS\DBLSPACE.SYS /MOVE has the same effect). So DoubleSpace works properly without any explicit reference in CONFIG.SYS. MRCI: Microsoft Real-time Compression Interface The Microsoft Real-time Compression Interface, or MRCI, is a specification we developed that defines an interface between compression clients and compression servers. A compression client is any software user of compression, such as backup programs or network transports; a compression server is any software or dedicated hardware that provides compress- decompress services. For example, DoubleSpace's disk-space manager is a client, and its compress-decompress engine is a server, and both conform to the MRCI specification. MRCI has two purposes: To define standard, system-level compress-decompress services that software developers can use To define a standard way for hardware vendors and PC manufacturers to implement dedicated compression hardware MRCI defines an INT 1A rendezvous call that lets a MRCI client check for the presence of a MRCI server. If a server is present, like DoubleSpace or dedicated hardware, the client can disable its own internal software compression- decompression routines. It can then use the MRCI server by following the MRCI standards for passing data to and from the server. There are four benefits of dedicated compression hardware: 1.Performance: Even on a fast system, tightly-integrated hardware (on the local bus, for example) will improve DoubleSpace performance. 2.Multitasking performance: When used by a multithreaded operating system such as Windows NT, the compression hardware is effectively a highly specialized second CPU, and it frees up the main CPU to execute other threads not requesting compression services. 3. Better compression: By using a different compression algorithm, hardware can improve compression ratios 10%-15% without any performance penalty. 4.Memory savings: If DoubleSpace detects the presence of MRCI hardware server, it discards its own software server, saving 14K-16K of conventional memory or UMBs. MRCI defines not only a standard interface but a standard compression format as well. This means that given a stream of uncompressed bytes as input, all MRCI servers output the exact same stream of compressed bytes, and vice-versa for decompression. Users will want to transfer compressed data between systems, and this means it will be compressed on one system and decompressed on another. Therefore, all compressors and decompressors must adhere to a standard format. Examples of data interchange include sneaker- netting compressed floppy disks, transferring compressed files across the network, or transferring compressed data across a modem. Technical Q&A Why not eliminate the extra drive letter? Users need to be able to store files uncompressed because there are and will be performance-critical applications that work best with uncompressed data. Databases are one example. Any operating system that compresses in real-time must provide uncompressed as well as compressed file services, and in MS-DOS there are two ways we could have provided both: 1.Create a new set of parallel file API's: open uncompressed file, read uncompressed file, write uncompressed file, and so on. 2.Use two drive letters, one providing access to compressed data, the other access to uncompressed data #1 eliminates the extra drive letter, but is incompatible with the installed base of applications that don't know about the new API's and require access to uncompressed data. The permanent swap-file technology in Windows 3.1 is an example. #2 provides a backwards-compatible way for all applications to coexist with compression, and also provides a simple way for users who need performance to store data uncompressed. And since DoubleSpace eliminates the usability problems associated with the extra drive letter, it is the optimal solution for users. Why not implement compression file-by-file instead of using a CVF? "File-by-file compression" means that instead of storing all compressed data in a CVF, the existing FAT file system would just store files like today, but compressed. The key advantage of file-by-file compression is that it would permit use of multiple compression algorithms optimized for different file types (.EXE's, .BMPs, etc.). However, it has several significant disadvantages: It would require changing the FAT on-disk format and so cause significant compatibility problems. For example, if a user booted a file-by-file compressed MS-DOS 6 system with an MS-DOS 5 floppy, a write operation could scramble data on the disk. Since the CVF appears to FAT as just another file, compatibility problems are moot. It does not eliminate cluster-overhang, and the savings from eliminating cluster-overhang are significant. Multiple algorithms mean that DoubleSpace would require more conventional memory. Multiple algorithms make interchange of compressed data much more complex since there would be no single compression format. In short, the benefit of file-by-file compression does not outweigh the costs. Appendix B: A brief history of MS-DOS Date Vers Key new features ion August 1.0 First version for the IBM PC 1981 May 1982 1.1 Double-sided floppy disk support March 1983 2.0 Support for hierarchical files and hard disks October 2.1 PC DOS introduced with the PCjr 1983 August 3.0 Support for 1.2 MB floppy disks 1984 March 1985 3.1 Support for Microsoft Networks December 3.2 Support for 3.5-inch drives 1985 April 1987 3.3 Support for multiple partitions, improved foreign character support Novmeber 4.0 Support for hard disk partitions over 1988 32MB, shell, EMS support June 1991 5.0 MS-DOS kernel loads in HMA, 80386 memory management, new shell, task swapper, on- line help, full-screen editor. Available as an upgrade.