Date: Fri, 25 Sep 1998 11:43:15 -0600 (MDT) Message-Id: <199809251743.LAA29513@kewlaid.highfiber.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: opendos AT delorie DOT com From: raster AT highfiber DOT com (Charles Dye) Subject: Memory managers, was: Suggestions for DR-DOS Precedence: bulk Matthias DOT Paul AT post DOT rwth-aachen DOT de writes: >On Wed, 23 Sep 1998 Guti wrote: >> HIMEM.SYS ocuppies a lot of memory compared with the >> version shiped int MS DOS 6.22 and in PC DOS 7.0 (about 4 >> times more). Try to reduce its size in memory. The easy way >> is reducing and removing the innecessary text messages >> (the startup message: 'HIMEM.SYS 2.32' should be removed, >> so some bytes will be saved, and a prettiest look will be >> obtained). >Yes, I have seen this too. But after further investigating this on a >bunch of 286 machines I also found machines, where DR-DOS HIMEM.SYS >took much lesser memory (about 1/4 ;-) than MS-DOS driver, so this >actually depends on the chipset. However, there might still be room >for improvements for those cases, where DR-DOS HIMEM overlays consum >more. It's also worth pointing out the the DR DOS HIMEM.SYS and EMM386.EXE do *not* correspond to the MS-DOS programs of the same name. Each does far more than the Microsoft equivalent. Microsoft's HIMEM.SYS is an extended memory manager. That's all it does -- manage extended memory. Microsoft's EMM386.EXE does not itself manage extended memory. It depends on HIMEM.SYS for that, so you can't load EMM386.EXE by itself. Its functions are, 1: a 386 memory manager (i.e., it catches protection violations and other flagrant program errors); 2: a UMB provider (it permits loading programs into the upper memory area) and 3. it emulates expanded memory. DR DOS HIMEM.SYS, by contrast, is an extended memory manager which can also function as a UMB provider on some 286 motherboards. You can use it by itself to load device drivers and TSRs, etc. high on certain 286 systems. To do the equivalent in MS-DOS, you'd need HIMEM.SYS plus a third-party program such as UMB_DRVR.SYS. DR DOS EMM386.EXE is a real piece of work. It's an extended memory manager and a 386 memory manager, all in one -- combining the functions of Microsoft's HIMEM.SYS and EMM386.EXE into one package. It provides UMBs and expanded memory, like Microsoft EMM386. It also handles task-switching, and optionally preemptive multitasking: a fast, simple Windows replacement in a single file! It is also a DPMI provider (a buggy one! Turn this feature off if you want to play DOOM.) It also provides ROM shadowing for machines which can't do that in CMOS. EMM386.EXE does suffer from compatibility woes, true. But it's a far more ambitious program than Microsoft's. Don't begrudge it the extra space it consumes. raster AT highfiber DOT com