mike@sp.unisys.com (Mike Grenier) (06/28/91)
SunOS seems to have a number of Light Weight Process system calls in their C library (see lwp_create(3)). How was this done without modifications to their system calls? That is, it appears as though they did it without introducing any new system calls that would not be in System V Release 4. I'm trying to see if System V Release 4 could in fact support user-level threads using an enhanced C library? Assumption 1: SunOS implements threads in part by using the memcntl(2) call to cause the user process's memory space to be shared and then it creates light wieght processes using fork (which would be reasonable fast since it doesn't have to copy the parent's processes data). Yet is seems that SUN's LWP library calls include nice things like a preemptive scheduler while still allowing a single thread to block on I/O without everything else blocking. Is it possible to implement light weight processes in a stock System V Release 4 UNIX? -Mike Grenier mike@sp.unisys.com