Sunday, June 2, 2019

Making Utilities for MS-DOS :: Microsoft Computers System Software Essays

Making Utilities for MS-DOSThese days, when computers play an important role in virtually all aspects ofour life, the issue of concern to many programmers is Microsofts hiding oftechnical documentation. Microsoft is by furthermost the most important system softwaredeveloper. There trick be no argument about that. Microsofts MS-DOS operationalsystem has become a de facto standardised (IBMs PC-DOS is actually a licensedversion of MS-DOS). And this should be so, because these systems are very wellwritten. The people who designed them are perhaps the best software engineers inthe world.But making a computer platform that is a de facto standard should imply a gooddeal of responsibility before the developers who make applications for thatplatform. In particular, proper documentation is essential for such a platform.Not providing enough documentation for a system that everyone uses can havedisastrous results. Think of it, an operating system is useless by itself, itssole purpose is to p rovide services to applications. And who would be able todevelop applications for an operating system if the documentation for thatsystem is private and available only to the company that developed it?Obviously, only the company that has developed that operating system will beable to develop software for it. And this is a violation of the Antitrust Law.And now I start having a suspicion that this is happening with Microsoftsoperating systems. It should be no secret to anyone that MS-DOS contains a lotof undocumented system calls, data structures and other features. Numerous bookshave been written on this subject (see bibliography). Many of them are vital tosystem programming. There is no instruction to write a piece of system software, such asa multitasker, a local area network, or another operating system extension,without cunning this undocumented functionality in MS-DOS. And, sure enough,Microsoft is using this functionality extensively when developing operatingsystem extensio ns. For example, Microsoft Windows, Microsoft Network, andMicrosoft CD-ROM Extensions (MSCDEX) rely heavily on the undocumented internalsof MS-DOS.The reader can ask, Why do they leave functionality undocumented? To answerthat question, we should look at what this functionality actually is. In MS-DOS, the undocumented functionality is actually the internal structures thatMS-DOS uses to implement its documented INT 21h API. whatever operating system musthave some internal structures in which it keeps information about disk drives,open files, network connections, alien file systems, rivulet tasks, etc. And MS-DOS (later Ill call it simply DOS) has internal structures too. Thesestructures form the core of undocumented functionality in MS-DOS. Thisoperating system also has some undocumented INT 21h API functions, besides they

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.