www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/25/01:19:47

From: DavMac AT iname DOT com (Davin McCall)
Newsgroups: comp.os.msdos.programmer,comp.os.msdos.djgpp
Subject: Re: Just a few questions
Date: Mon, 25 Oct 1999 03:35:56 GMT
Organization: Monash Uni
Lines: 73
Distribution: world
Message-ID: <3813cd8d.15570356@newsserver.cc.monash.edu.au>
References: <7up2m7$pvc$1 AT ctb-nnrp2 DOT saix DOT net> <85cQ3.632$pD5 DOT 45821 AT dfiatx1-snr1 DOT gtei DOT net> <3812a5c7 DOT 3453113 AT newsserver DOT cc DOT monash DOT edu DOT au> <7uuc0j$ed7$1 AT merope DOT saaf DOT se>
NNTP-Posting-Host: damcc5.halls.monash.edu.au
X-Trace: towncrier.cc.monash.edu.au 940822531 22582 130.194.198.138 (25 Oct 1999 03:35:31 GMT)
X-Complaints-To: abuse AT monash DOT edu DOT au
NNTP-Posting-Date: 25 Oct 1999 03:35:31 GMT
X-Newsreader: Forte Free Agent 1.1/32.230
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

On 24 Oct 1999 09:20:51 +0200, pausch AT merope DOT saaf DOT se (Paul Schlyter)
wrote:

>"tiny" refers to data + text residing in the same segment.

Yes, and the total code+data size limit is the reason why that memory
model is called "tiny". [it also refers to 16-bit programs].

>>DJGPP does not impose that limit.
>
>Well, it does: DJGPP, as well as all other 32-bit compilers for x86,
[etc]

It imposes a *different* limit. A much bigger limit. Granted, it's
caused by the same thing.

>put data and text in the same 32-bit segment.  This will make
>available memory tiny, compared to what could be obtained if multiple
>32-bit segments were used.

Yes, that's right - but it's not tiny compared to 64KB. It's not even
tiny compared to 1MB, which is more than "huge" model memory programs
used to be able to access directly.

>  Through virtual-memory mechanisms,
>the 386 (and later) is capable of addressing up to 8192 different
>32-bit segments of 4 GB each -- that's a total of 32 TB memory!
>
>Right now, 4 GB may appear enough -- just like 64 KB appeared enough
>some 20 years ago.  But soon enough, people will start complaining
>over that "horrible 4 GB-limit".  Yes, history will repeat itself
>here....

This argument sounds awfully like "We will consider the limit to be
'tiny' in the future, so we'll call it tiny now".

>That's the big advantage of all "tiny" memory models, 16-bit as well
>as 32-bit: all segment registers are set to the same values at the
>beginning of execution, and then you won't have to worry about
>segments, but can pretend the memory addressing is linear.

The point is, with what you call the 16-bit tiny memory model, the
amount of memory you can address is severely limited.

>The 32-bit tiny memory model is in this respect no different from
>the 16-bit tiny memory model.

That's true.

>  Of course, 32-bit programmers who
>want to sneer at 16-bit programming don't like having their
>memory model named "tiny", so instead they call it "flat".  But
>that's just a rethorical trick.

I don't want to sneer at 16-bit programming.

Your points about the tiny model and flat model being essentially the
same thing are correct, but I still maintain that the 16-bit version
is called "tiny" and the 32-bit version is called "flat". This
division is somewhat arbitrary, that I'll grant, but there are reasons
for it. It will only serve to confuse by calling the "flat" model
"tiny".

I for one would feel much less concerned if you wanted to call the
tiny model "flat". To call the flat model "tiny", at this point in
time, seems rather unnatural.

Davin.


__________________________________________________________
       *** davmac - sharkin'!! davmac AT iname DOT com ***
my programming page: http://yoyo.cc.monash.edu.au/~davmac/

- Raw text -


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