Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ihnp4!alberta!bjorn From: bjorn@alberta.UUCP Newsgroups: comp.unix.questions Subject: Re: light-weight processes in Unix Message-ID: <259@pembina.alberta.UUCP> Date: Thu, 12-Mar-87 20:24:28 EST Article-I.D.: pembina.259 Posted: Thu Mar 12 20:24:28 1987 Date-Received: Sat, 14-Mar-87 02:06:46 EST References: <4817@brl-adm.ARPA> Organization: U. of Alberta, Edmonton, AB Lines: 26 In article <4817@brl-adm.ARPA>, dms@hermes.ai.mit.EDU (David M. Siegel) writes: > We'd like to add some kind of light-weight process support to our Sun > 3.2 system. What we would like to have is the ability to fork off a > procedure (not a fully linked program) that shares the full address > space of the parent process. The stack and heap for the child process > would be malloc'ed out of the parent's heap. I have a package that does this. It's called Sup-K(tm) (Small unprotected Kernel). It's not terrificly difficult to do: similar to writing a kernel for a personal computer that doesn't come equipped with a MMU. In fact Sup-K could be used as multitasking kernel on say Atari STs. The current version of Sup-k does round robin scheduling, but any old scheduling algorithm can be used. You do have to link your program with a munged version of Sun's 'sigtramp' module in order to be able to modify all of your process registers on signal return, this however is transparent to the user except for inclusion of the module at link time. Apart from that no modifications are needed to Sun code. Sup-k can easily be made to run on most BSD based systems (4.2 and up). Bjorn R. Bjornsson UUCP: alberta!bjorn Phone: (403)-439-9541 -- Sup-K is a trademark of Bijective Technology.