Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1a 12/4/83; site rlgvax.UUCP Path: utzoo!linus!philabs!seismo!rlgvax!guy From: guy@rlgvax.UUCP (Guy Harris) Newsgroups: net.micro.68k Subject: Re: 68K MMU is good for something Message-ID: <1508@rlgvax.UUCP> Date: Sat, 31-Dec-83 00:50:08 EST Article-I.D.: rlgvax.1508 Posted: Sat Dec 31 00:50:08 1983 Date-Received: Sun, 1-Jan-84 02:27:06 EST References: <1086@cmcl2.UUCP> Organization: CCI Office Systems Group, Reston, VA Lines: 18 The Mororola MMU is, however, the best chip for the Buddy System, a good algorithm for segment allocation on a uniprocessor. Good, that is, *if* you have lots of physical memory and/or lots of 68451s. If you want to allocate segments of arbitrary size (not an uncommon thing to do on UNIX), you have to find a set of powers of 2 which add to some number greater than or equal to the size of the segment. If you do this the "fast" way, by allocating segments for each 1 bit in the binary representation of the segment size, you end up with a lot of large lumps which *have* to sit on high-power-of-2 boundaries. If you try more clever schemes, it takes more CPU time to figure out the segment sizes (although this needs only be done when the segment size is set) and it takes more segmentation registers. Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy