Large Programs
In MS-DOS and compatible DOSes, there is no memory management provided for COM files by the loader or execution environment. All memory is simply available to the COM file. After execution, the operating system command shell, COMMAND.COM, is reloaded. This leaves the possibilities that the COM file can either be very simple, using a single segment, or arbitrarily complex, providing its own memory management system. An example of a complex program is COMMAND.COM, the MS-DOS shell, which provided a loader to load other COM or EXE programs. In the .COM system, larger programs (up to the available memory size) can be loaded and run, but the system loader assumes that all code and data is in the first segment, and it is up to the .COM program to provide any further organization. Programs larger than available memory, or large data segments, can be handled by dynamic linking, if the necessary code is included in the .COM program. The advantage of using the .COM rather than .EXE format is that the binary image is usually smaller and easier to program using an assembler. Once compilers and linkers of sufficient power became available it was no longer advantageous to use the .COM format for complex programs.
Read more about this topic: COM File
Famous quotes containing the words large and/or programs:
“Nature has ordained that the man who is pleading his own cause before a large audience, will be more readily listened to than he who has no object in view other than the public benefit.”
—Titus Livius (Livy)
“Will TV kill the theater? If the programs I have seen, save for Kukla, Fran and Ollie, the ball games and the fights, are any criterion, the theater need not wake up in a cold sweat.”
—Tallulah Bankhead (19031968)