Article View: comp.sys.atari.st
Article #33708Re: Malloc (was Re: Another great quote from Mr. Good)
From: Barnacle Wes
Date: Sun, 21 Aug 1988 07:32
Date: Sun, 21 Aug 1988 07:32
40 lines
2473 bytes
2473 bytes
In article <402@clio.math.lsa.umich.edu>, hyc@math.lsa.umich.edu (Howard Chu) writes:
> I get the feeling that there really is no solution at this point. How can you
> have two different versions of Malloc/Free in the same system?
Actually, you don't need to make another Malloc, just make the current
one smarter. The problem with the current Malloc is that it uses a
static data area, rather than a linked list, to keep track of allocated
memory blocks. This is essentially similar to the idea of file handles.
There was a version of MS-DOS once upon a time (I think it was 2.xx)
that had an interesting way of expanding the number of files a process
could use. The file handle pool was actually allocated in the Program
Segment Prefix (PSP), which GEMDOS calls a basepage. There was a
pointer to the file handles, which pointed to a 20-byte data area in the
PSP, and 20 bytes for file handles.
As it turned out, a program could copy the 20 bytes to a (hopefully
larger :-) data area, zero the remainder of the data area, and point the
pointer to this new data area. There must have also been a datum that
described how many handles were available, which also had to be updated.
From that point on, the process could use that many file handles, as
long as the sytem FILES parameter, set by CONFIG.SYS at boot time, would
allow that many files open.
If the new GEMDOS used a "Malloc handle" pool that were relocatable in
this manner, new applications that new of this feature would be able to
Malloc more than the current 20 (or so) blocks, while retaining the
essentially static data structures required for compatibility with the
current Malloc.
cat flames > /dev/null
mailx applause money fame wes@obie
--
{hpda, uwmcsd1}!sp7040!obie!wes
"Happiness lies in being priviledged to work hard for
long hours in doing whatever you think is worth doing."
-- Robert A. Heinlein --
Technical Details
Message-ID:
<161@obie.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!oddjob!uxc!uwmcsd1!mailrus!utah-gr!uplherc!sp7040!obie!wesReferences:
<1116@atari.UUCP} <692@auvax.UUCP} <1121@atari.UUCP> <402@clio.math.lsa.umich.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!oddjob!uxc!uwmcsd1!mailrus!utah-gr!uplherc!sp7040!obie!wes From: wes@obie.UUCP (Barnacle Wes) Newsgroups: comp.sys.atari.st Subject: Re: Malloc (was Re: Another great quote from Mr. Good) Summary: There *MAY* be a solution Message-ID: <161@obie.UUCP> Date: 21 Aug 88 07:32:34 GMT References: <1116@atari.UUCP} <692@auvax.UUCP} <1121@atari.UUCP> <402@clio.math.lsa.umich.edu> Distribution: comp Organization: the Well of Souls Lines: 40