TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Jonathan de Boyne Pollard
from: Mike Bilow
date: 1996-06-17 23:32:04
subject: Toolkit 1.3 from Devcon

Jonathan de Boyne Pollard wrote in a message to Mike Bilow:

  > This is not the same thing as saying that anything at all is 
  > being "allocated."  Address space is a phantom quantity: it 
  > isn't even uncommitted memory, but is unallocated memory.

 JdBP>   Actually, Mike, Mario is using the correct terminology.

This degenerates into a kind of epistemological argument.  Yes, I suppose
you can consume address space in a certain sense, but my point is that it
has no physical analog on the system.  The CPU maintains low level
structures such as LDTs and the GDT.  None of these structures concern
address space per se.

 JdBP>   The CP reference uses the term "allocate" to refer to
 JdBP> grabbing address   space (by creating a memory object) and
 JdBP> "commit" to refer to placing a   page behind address space
 JdBP> that has been allocated.

This is the crux of the question: the claim was that an allocation of less
than 64 KB of address space implies the allocation of the full 64 KB in
some versions of OS/2, and that one can then successfully commit memory to
that address space whether it has been allocated implicitly or explicitly.

 JdBP>   And, frankly, I have to side with the CP reference here. 
 JdBP> When I ask   OS/2 for memory, it allocates a portion of my
 JdBP> process' address space.  I   then have to *further* ask OS/2
 JdBP> to assign backing storage for that   address space, by
 JdBP> "committing" a page to it, so that I can legally refer   to
 JdBP> that storage in my program.

But can you commit memory to address space which was not allocated?

 JdBP>   Address space is a very real quantity, and it is important
 JdBP> to remember   that on OS/2 the concept of allocated address
 JdBP> space is a valid one, and   one that is different from the
 JdBP> concept of actual physical pages of   memory used.

I don't agree that address space, per se, is a "real quantity." 
It certainly has no representation, for example, in the LDT.  In effect,
address space is a notification to the operating system that memory may be
committed.  As Peter has pointed out, even commitment of memory may not
result in actual mapping of real memory into address space, since
copy-on-write and other mechanisms may prevent that.
 
-- Mike


--- 
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 50/99 270/101 620/243 625/100 711/401 409 410 413 430 808 809 934
SEEN-BY: 711/955 712/407 515 517 628 713/888 800/1
@PATH: 323/107 396/1 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.