🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #10808

Re: new operator faalt

#10808
From: Stefan Arentz
Date: Tue, 26 Feb 2002 19:18
41 lines
2811 bytes
Marco van de Voort <marcov@toad.stack.nl> writes:

> In article <rn8z9gxswh.fsf@keyser.soze.com>, Stefan Arentz wrote:
> > Marco van de Voort <marcov@toad.stack.nl> writes:
> > 
> > ...
> > 
> >> > - heap 'defragmenteren'. Zo ja hoe?
> >> 
> >> Niet mogelijk bij gecompileerde talen.
> > 
> > Pardon? Waarom niet?
> 
> Hoe wil jij de waarde voor een pointer kennen, zonder dat de runtime
> een halve interpreter is?

MacOS gebruikt 'Handles'. Dat zijn pointers naar pointers. De eerste
staat vast in een 'master pointers' structuur en het blok waar die ptr
naar toe wijst is een verplaatsbaar blok geheugen.

        'Master Ptr'
        ------------
 P ---> |    P1    |        'Handle'
        ------------      ------------
        |    P2    | ---> |          |
        ------------      |    M     |
                          |          |
                          ------------

Daar is heap fragmentatie en defragmentatie dus prima mogelijk. De
memory manager kan op verzoek handles verplaatsen zodat er mogelijk
meer ruimte vrij komt.

Dit alles stamt wel uit de tijd dat een Mac nog geen virtueel
geheugen had ('85), maar het werkt nog steeds prima in de praktijk.

Dit principe komt ook voor bij talen die dynamisch geheugenbeheer
doen zoals smalltalk of Java. Daar is de 'Master Ptr' echter meestal
een numerieke index in een tabel ipv een geheugen adres.

 Stefan
Technical Details
Message-ID: <rnu1s4dpb8.fsf@keyser.soze.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!194.159.255.21.MISMATCH!dispose.news.demon.net!demon!newsfeed.gamma.ru!Gamma.RU!newsfeed00.sul.t-online.de!t-online.de!newsfeed.wirehub.nl!kleenex.wirehub.nl!news.wirehub.nl!not-for-mail
References: <a5dl0m$6cu90$1@ID-65051.news.dfncis.de> <3C7A5882.3B898C88@iae.nl> <a5dvl8$6h8eb$1@ID-65051.news.dfncis.de> <slrna7mtub.gom.marcov@toad.stack.nl> <rn8z9gxswh.fsf@keyser.soze.com> <slrna7nknu.crm.marcov@toad.stack.nl>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,3fd870920848f7cb
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,3fd870920848f7cb
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-02-26 11:20:12 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!194.159.255.21.MISMATCH!dispose.news.demon.net!demon!newsfeed.gamma.ru!Gamma.RU!newsfeed00.sul.t-online.de!t-online.de!newsfeed.wirehub.nl!kleenex.wirehub.nl!news.wirehub.nl!not-for-mail
From: Stefan Arentz <stefan@keyser.soze.com>
Newsgroups: be.comp.programming,nl.comp.programmeren
Subject: Re: new operator faalt
Date: 26 Feb 2002 20:18:51 +0100
Organization: Wirehub! Internet, The Netherlands
Lines: 41
Message-ID: <rnu1s4dpb8.fsf@keyser.soze.com>
References: <a5dl0m$6cu90$1@ID-65051.news.dfncis.de> <3C7A5882.3B898C88@iae.nl> <a5dvl8$6h8eb$1@ID-65051.news.dfncis.de> <slrna7mtub.gom.marcov@toad.stack.nl> <rn8z9gxswh.fsf@keyser.soze.com> <slrna7nknu.crm.marcov@toad.stack.nl>
NNTP-Posting-Host: newsreader1.wirehub.nl
X-Trace: thor.wirehub.nl 1014751136 55058 195.86.128.18 (26 Feb 2002 19:18:56 GMT)
X-Complaints-To: abuse@wirehub.net
NNTP-Posting-Date: 26 Feb 2002 19:18:56 GMT
X-Newsreader: Gnus v5.5/XEmacs 20.3 - "Vatican City"
Cache-Post-Path: newsreader1.wirehub.nl!unknown@keyser.soze.com
X-Cache: nntpcache 2.4.0b2 (see http://www.nntpcache.org/)