The following is quoted from nre's post on 2003-7-3 21:36:11:
I have a different view. From what I remember from books I read before, HIMEM。SYS manages extended memory, making it possible for DOS to access extended memory above 1M. EMM386, on the other hand, manages the 384K UMB between 640K and 1M as well as HMA. When necessary, EMM386 can emulate expanded memory using extended memory. Functionally, EMM386 and HIMEM do not really overlap, nor are they in a master-subordinate relationship. Whether EMM386 is present or not has no effect on HIMEM, so the statement “Without EMM386, HIMEM.SYS can't do all that much either”
To be precise, EMM386 is a program responsible for managing upper memory and emulating expanded memory in extended memory for some software to use. It is not that “when necessary, EMM386 can emulate expanded memory using the 384K UMB.” Therefore HIMEM。SYS must be loaded before EMM386.
As for the statement “Without EMM386, HIMEM.SYS can't do all that much either,” that wording is indeed somewhat inappropriate. Actually, using the NOEMS parameter already disables EMM386's function of emulating expanded memory, so at that time EMM386 and HIMEM。SYS have no relationship. If the RAM parameter is used, then EMM386 has to perform its full function, namely managing upper memory and emulating expanded memory in extended memory. In that case, EMM386 and HIMEM。SYS are inseparable.
http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf
uploadImages/200311161145850422.swf





