Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!sri-unix!sri-spam!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re2: Memory Fragmentation Question Message-ID: <8708240401.AA12361@cory.Berkeley.EDU> Date: Mon, 24-Aug-87 00:01:20 EDT Article-I.D.: cory.8708240401.AA12361 Posted: Mon Aug 24 00:01:20 1987 Date-Received: Tue, 25-Aug-87 00:47:20 EDT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 24 > >Am I correct in thinking that the Amiga's memory management causes > >memory to be gradually fragmented into a bunch of little chunks? If > >this is so, has anyone written a program to coalesce these small chunks > >into bigger chunks? No, the Amiga's memory management *does* coalesce small chunks into bigger ones. An exaggerated example of the problem would be running a resident program while doing a compile. When the compile finishes, it releases its memory, leaving a lot of blank space, then the resident program, then more blank space. Unfortunetly, various system functions also allocate memory and this is what *really* causes the fragmentation. I think we need some new flags, MEMF_SEMIPERMANENT for instance, which would allocate from the top of memory instead of the bottom. This is one of the reasons the Amiga seems like a memory hog. Actually, once you get above a meg the problem disappears except for a few special cases (e.g. I have 2 meg and recompiled compress to use the 16 bit algorithm... it takes a whopping 500K contiguous storage!). The problem is partially offset by the scatter loading. -Matt