Реферат: Making Utilities For MSDOS Essay Research Paper

that had changed with DOS version 4.00. My first thought was that I can use this

flag in my utilities when I need to cope with different “styles” of DOS

internals. However, my next discovery really surprised me and gave me a real

understanding of what I’m doing when I mingle with DOS internals. MSCDEX version

2.21 refuses to run under DOS versions 6.00 and later. So much for the idea that

“Microsoft’s own utilities have never stopped working with a new DOS version.”

In fact, Geoff Chappell refers to this in DOS Internals (501).

The last utility I looked at was Microsoft SmartDrive version 4.00, which is

bundled with Microsoft Windows version 3.10. This utility also uses the DOS

internal structures, including the version-dependent ones. However, unlike

MSCDEX, SmartDrive doesn’t have a “top” DOS version number. It compares the DOS

version number with 4.00 and assumes that DOS similar to versions 3.10-3.30 if

it’s lower than 4.00 and to versions 4.00-5.00 if it’s 4.00 or higher.

SmartDrive assumes that all future DOS versions will be compatible with MS-DOS

version 5.00 at the level of the internal structures.

The lack of clear pattern in the usage of the undocumented DOS internal

structures by Microsoft’s own utilities made me think seriously about the

possibility of safe use of the DOS internals in the first place. Originally I

thought that Microsoft has some internal confidential document that explains how

to use the DOS internals safely, and that anyone having that magic document can

use the undocumented DOS internals as safely as normal documented INT 21h API.

However, the evidence I have obtained through reverse engineering of Microsoft’s

utilities puts the existence of that magic document under question. In

Undocumented DOS Andrew Schulman notes that it is possible that on some

occasions Microsoft’s programmers have found out about the MS-DOS internals not

from the source code or some other internal confidential documents, but from

general PC folklore, just like third-party software developers. For example, the

MWAVABSI.DLL file from the Microsoft Anti-Virus provides a function called AIO_

GetListofLists(). This function calls INT 21h/AH=52h to get the pointer to one

К-во Просмотров: 471
Бесплатно скачать Реферат: Making Utilities For MSDOS Essay Research Paper