delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/2000/12/04/18:26:35

Date: Mon, 4 Dec 2000 23:19:59 +0000
From: Stephen Kitt <lists AT sk2 DOT org>
To: opendos AT delorie DOT com
Subject: Re: Optimizing CONFIG.SYS...
Message-ID: <20001204231959.L397@sk2.org>
Mail-Followup-To: Stephen Kitt <lists AT sk2 DOT org>, opendos AT delorie DOT com
References: <8F361C761C5 AT reze-1 DOT rz DOT rwth-aachen DOT de> <004101c05c41$8a42b0f0$e4881004 AT dbcooper> <2 DOT 07b7 DOT FVTF DOT G4XS7T AT belous DOT munic DOT msk DOT su> <008101c05d17$e51937c0$a3881004 AT dbcooper>
Mime-Version: 1.0
User-Agent: Mutt/1.2.5i
In-Reply-To: <008101c05d17$e51937c0$a3881004@dbcooper>; from pmoran22@yahoo.com on Sat, Dec 02, 2000 at 01:24:29PM -0700
Reply-To: opendos AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: opendos AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, Dec 02, 2000 at 01:24:29PM -0700, Patrick Moran wrote:
> I am not going to argue this any more. It is real physical memory that is
> beyond 1MB. It is a meory manager, not a spcification. DPMI and VCPI are
> specifications. It is all extended memory and physically exists in your
> computer if you have it installed. It is not virtual memory, it is real and
> you can look at it and touch it physically. It is merely managed by LIM 4.0,
> EMS, EMM386, HIMEM.SYS, EEMS, XMS, JQRYBIZ18941, or whatever other memory
> manager someone gives a name to.

You might not want to argue this any more, but you're still wrong. Have a
look at interrupt 2Fh, function 4310h in the Interrupt List sometime. XMS is
a specification, not a memory manager. Extended memory is the memory which
exists beyond 1MB; XMS is a standard which specifies interrupt-based
services to manipulate that memory; HIMEM.SYS is a memory manager which
implements that standard (amongst many other memory managers implementing
the standard). XMS allows you to allocate, reallocate, free, lock, unlock
and move memory around. It doesn't even necessarily map to physical memory;
as long as a block is unlocked a memory manager is theoretically free to
move it around (although I'm not sure if any do). The advantages of XMS over
EMS are that it can copy larger blocks of memory in one shot, and it doesn't
use a permanently-allocated page frame.

Accessing it is a completely separate issue; if you set up large segments on
a 386 or greater CPU you can lock a block and then access it directly from
DOS - look for "real flat mode" for loads of examples. If you stick to
traditional real mode, with its 64KB segments and 16-bit addresses (well,
20-bit when you factor in the segment descriptor), you have to copy extended
memory blocks in and out of conventional memory, using the services provided
by XMS; this is what most XMS-capable DOS programs do. Now, I imagine some
memory managers will do this just by remapping memory, not moving it around;
but on a 286 you'd definitely have to move memory around anyway.

Stephen

-- 
     __| |  /_ )    Stephen 'SKČ' Kitt       I can't hear what you're saying
   \__ \ . < __|       steve AT sk2 DOT org        because what you are is shouting
   ____/_|\_\       http://www.sk2.org         at me. -- Ralph Waldo Emerson

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019