TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Mario Semo
from: Denis Tonn
date: 1996-06-03 08:17:20
subject: Toolkit 1.3 from Devcon

Original from  Mario Semo  to Mike Bilow on 05-31-1996
Original Subject: Toolkit 1.3 from Devcon

                         ---------------------------------------

  MB> I can assure you that OS/2 does not even allocate address 
  MB> space when such allocations are requested.  You can watch 
  MB> this inside a device driver, and you see that the segment 
  MB> limits are set to the actual allocated amount in the 
  MB> descriptor table. I have never seen different behavior 
  MB> under any version of OS/2.
 
 
MS> PLEASE: 
MS> 
MS> DosAllocMem(&p1,1,READ/WRITE)
MS> DosAllocMEm(&p2,1,READ/WRITE)
MS> 
MS> p2-p1 == 64K


 Check out the meaning of OBJ_TILE. 

 When you read the description of OBJ_TILE, be very careful that you 
separate the notion of "address" from "memory" or
"ram" in your mind. 
If you have trouble with this, consider: In Dos real mode there are 
lots of "addresses" between C0000 and E0000. What happens if you 
write to one of these "addresses" and there is *nothing* located at 
the memory location? No card, no video, nothing.. 

 The same thing happens with virtual "addresses". You might allocate 
4K and get it. Then you allocate another 4K, and get it 64k away from 
the first "address". There is absolutely nothing between these 
"addresses". On the other hand, if you try and use one of these 
"nothing" locations, you *will* trap. 


 Currently OS/2 will ALWAYS tile the allocations. In the example 
above, you would get 2 4K pages, each at a 64K boundry. You would NOT 
get 2 usable 64K memory objects. 

 It looks like under Warp GA it was still possible to "commit" the
"nothing" addresses between the first and second page (using 
DosSetMem).
 After Connect, it is now impossible. The addresses are "nothing" and
will stay that way. Connect has closed a "hole". 

 Since addresses are only usable when commited, the difference is
mostly academic. The difference now is that you WILL get an error if 
you try and do something that is obviously incorrect. 



   Denis       

 Certified OS/2 Engineer, Certified OS/2 Instructor, Certifiable....
 All opinions are my very own, IBM has no claim upon them
--- Maximus/2 3.01
* Origin: T-Board - (604) 591-8208 (1:153/908)
SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1
@PATH: 153/908 8086 800 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™.