| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| 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™.