Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ihnp4!houxm!hjuxa!petsd!pedsgo!nick From: nick@pedsgo.UUCP Newsgroups: comp.os.minix Subject: Re: MINIX extensions Message-ID: <640@pedsgo.UUCP> Date: Fri, 6-Feb-87 16:49:42 EST Article-I.D.: pedsgo.640 Posted: Fri Feb 6 16:49:42 1987 Date-Received: Sun, 8-Feb-87 05:31:16 EST References: <252@hqda-ai.UUCP> Reply-To: nick@pedsgd.UUCP (Nicolai Kosche) Distribution: net Organization: Concurrent Computer Corp., Tinton Falls, N.J. Lines: 76 Keywords: shared swapped bernoulli jobs Summary: Comments on Swapping with MINIX In article <252@hqda-ai.UUCP> merlin@hqda-ai.UUCP writes: >4. Swap processes > > This is why I wanted partitions. At present, when MINIX runs >out of core, no more process creations are allowed. Two things >can be done about this: > > a) Rearrange processes in memory, to free up the unused space >that may be lurking between processes. This may work, provided >that MINIX processes are allowed to fiddle with their segment ^^^^^^^^^^^ I think you mean that processes shouldn't be allowed to modify their segment registers, but the OS should. (Memory Manager Duty) >registers. Really, they can't even *refer* to the segment >registers. The only reason for doing that is to reference ^^^^^^^^^^ I thought the 286 had impied references via CS for code, DS for data and SS for stack... What are you talking about? 8-) >something via the segment register. If the segment register might >change later, that would invalidate the reference. The key segment registers is that you modify the register after moving what it points to, a certain displacement that you modified the register by... > b) Swap processes, or portions thereof, out to disk. Not so >good on floppy, but acceptable on a bernoulli or winchester. This >isn't really feasible unless (a) above is also ok. > > Assuming that we can reassign processes, we need a place to >put them. The partition scheme provides an efficient place (a >block device) for this storage. I would prefer to swap the text >portion of a process out first. Only swap the data/stack segment >if the text didn't free up enough memory. Reason: the stack area >is read-write, so we must write it to swap space, and read it back >in. The code segment is (presumably) read-only, so there's no >need to write it out. It can be reloaded from the executable >file. Not too good, since your swap device will swap out stuff in one contiguous blob, while your executable file MAY be scattered all about makeing swap time go through the roof! Also, if you go off and swap out (via your proposed "get rid of the text segment first" technique) a process, your disk arm has to read in a new text segment and then seek from the filesystem of the executable file all the way to the swap area and read in the code and data segements... And now that the text segment is gone, all other processes that shared that code (shells, gettys) have lots of useless memory being used by their data segments... >Also, I intend >to run uucp mail and usenet news on this beast, and it'll need all ^^^^ Sorry, this too is under AT&Ts domain... >the help it can get. > > David S. Hayes, The Merlin of Avalon > PhoneNet: (202) 694-6900 > ARPA: merlin%hqda-ai.uucp@brl-smoke > UUCP: ...!seismo!sundc!hqda-ai!merlin *** Standard disclaimer applies... All I say is some of what I mean and ***** *** not what other people or corporations mean, although they may... ***** ____________ / _________/_ "Haven't had a dream in a long time, / / / / Seems the luck I've had, /__/________/ / Could turn a good man, bad, Concurrent /__________/ So for once in my life, Computer Corporation Let me get what I want, Xelos Development Lord knows it would be the first time" - The Smiths Nicolai Kosche ********************************************** petsd!pedsgd!nick