Path: utzoo!utgpu!watmath!clyde!bellcore!texbell!bigtex!milano!cs.utexas.edu!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!labrea!agate!saturn!libes@cme.nbs.gov From: libes@cme.nbs.gov (Don Libes) Newsgroups: comp.os.research Subject: Re: THREADS, Light weight processes Message-ID: <5394@saturn.ucsc.edu> Date: 6 Nov 88 18:09:59 GMT Sender: usenet@saturn.ucsc.edu Organization: National Bureau of Standards, Gaithersburg, MD Lines: 23 Approved: comp-os-research@jupiter.ucsc.edu In article <5354@saturn.ucsc.edu> mcvax!cwi.nl!jack@uunet.UU.NET (Jack Jansen) writes: >So far nobody seems to have mentioned that LWPs are a very nice >mechanism to program with, much nicer than non-blocking I/O with >completion interrupts or polling, etc. I agree completely. I recently wrote an article discussing exactly this. It showed the difficulty of writing a conceptually simple program, and how it resolved cleanly into 3 threads, just a couple of lines a piece. It also discussed threads with respect to OS/2 and UNIX. "Unraveling Threads", Micro/Systems Journal, p. 12, Nov. 1988. Another reference you might consider (also by me) is: "Multiple Programs in One UNIX Process", ;login, July/August 1987. This paper described an easy way to do LWPs in UNIX. The idea was that (the conceptually elegant) XINU was a LWP scheduler and that porting it to UNIX was easy. It required no modifications to the kernel. Only 6 lines of assembler to save and restore registers. Don Libes libes@cme.nbs.gov ...!uunet!cme-durer!libes