Article View: comp.sys.amiga.tech
Article #11004Re: WB 1.4 (actually Amiga & MMU)
From: Chuck McManis
Date: Tue, 17 Jan 1989 20:23
Date: Tue, 17 Jan 1989 20:23
40 lines
2940 bytes
2940 bytes
In article <13592@cup.portal.com> (Dana B Bourgeois) writes:
>Does anyone use the AllocRemember() and FreeRemember() calls documented in the
>Addison-Wesley 'Intuition Reference Manual', pp 211-214? If not, why not?
I use them, when they are useful. They have two big drawbacks which are
sort of related. One you can't "mark" the list and then free back to
the last mark. This is useful when half way through a routine your
request for memory fails and you would like to unwind and recover.
The second is you can't "join" lists. So if you use a separate variable
during a subroutine (faking a mark) then when you are ready to return
you can't say JoinRemember(ptr1, ptr2); to put everything on one list.
>The reason I ask is that I have seen comments on UseNet and in magazine
>articles that say AmigaDOS does not have any resource tracking and that lack
>is a big problem. Perhaps those calls don't work or perhaps they don't solve
>the problem that needs to be solved. I'd like to know.
They don't solve the problem. When you force a task to exit via an external
force in say TOPS-20, all of the resources it has allocated are freed
automatically. On the Amiga those are not freed and are "lost" until the
next reboot. There is a big religious debate about why you can or cannot
do this (it has to do with what do you trust when a program on an unprotected
memory machine goes south?) and generally I don't believe we'll see it until
the OS can be sure that no one has stomped on it's lists.
On a side note, there has been much talk about what to use the MMU on the
A2620 for. Personally, I'd like to see a version of ADOS that kept all
of it's lists (like memory, tasks, etc) under lock and key. Only making
memory "writable" when it is allocated via AllocMem() or some such. That
way you would turn a lot of GURU crashes that corrupt location 4 or
the free memory list, into simple task held's because the task tried
to write outside it's legal memory space. Then a new reboot ("hot reboot")
that would just clear out the user tasks and such and put you back into
the "boot" state nearly instantly. In either event, I want to see a version
of CARD: that uses the MMU to protect itself. No more worries about losing
it due to an errant task.
--Chuck McManis
uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.
Technical Details
Message-ID:
<85715@sun.uucp>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!seismo!sundc!pitstop!sun!pepper!cmcmanisReferences:
<1656@ardent.UUCP> <6782@killer.DALLAS.TX.US> <13592@cup.portal.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!seismo!sundc!pitstop!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga.tech Subject: Re: WB 1.4 (actually Amiga & MMU) Message-ID: <85715@sun.uucp> Date: 17 Jan 89 20:23:06 GMT References: <1656@ardent.UUCP> <6782@killer.DALLAS.TX.US> <13592@cup.portal.com> Sender: news@sun.uucp Reply-To: cmcmanis@sun.UUCP (Chuck McManis) Distribution: na Organization: Sun Microsystems, Mountain View Lines: 40