TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: IVAN TODOROSKI
from: Herbert Rosenau
date: 1998-12-31 10:51:56
subject: Some weird addressing...

Hi IVAN,

 you wrote at 29.12.98  15:00 to DENIS TONN:
 
 IT>    Do you get a single descritor with a 1000000 byte limit, or a
 IT> bunch    of small descriptors with 65536 limits?

In a 32 bit process you will become 245 descriptors. Each describes a
single page of 4 KB. Then you can acces all Bytes in a range of 245 * 4KB.

Lets look at the dimenson:

1000000 / 4096 = 245 pages

x[1003519] is functional altough it's is illegal from your view.
           The processor (and the operatingsystem) can bounds check only
	   on boundary of a single page = 4096 Bytes.
x[1003520] will crash with access violation. It will address the unallocated
           page 246.

You'll become a logical continuous block of memory. It my or my not
physical continous. From view as application programmer it dosn't matter if
all pages bounded physically or not. Because the processor works with
virtual addressspace.

Each DosAllocMem() gets you an logical block of memory with a integer
number of single pages guaranteed of the requested size - with an overhead
up to the next page border. But never will 2 separate DosAllocMem get you a
block continous of both.

Tschau/Bye

Herbert


--- Sqed/32 1.14/development  45:
* Origin: Speed Kills - Use Windows! (2:2476/493)
SEEN-BY: 396/1 632/0 371 633/260 262 267 270 371 635/444 506 728 639/252
SEEN-BY: 670/218
@PATH: 2476/493 480 2410/200 2432/200 2433/1200 225 270/101 396/1 633/260
@PATH: 635/506 728 633/267

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™.