Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!gillies From: gillies@p.cs.uiuc.edu Newsgroups: comp.realtime Subject: Re: Lightweight Tasks Message-ID: <129300004@p.cs.uiuc.edu> Date: 23 Jul 89 15:57:00 GMT References: <2153@gmu90x.UUCP> Lines: 20 Nf-ID: #R:gmu90x.UUCP:2153:p.cs.uiuc.edu:129300004:000:1056 Nf-From: p.cs.uiuc.edu!gillies Jul 23 10:57:00 1989 Lightweight is to tasking as RISC is to computer architecture. "Lightweight tasks" became popular about 8 years ago. It is a buzzword that indicates the operating system can do a context switch quickly. Lightweight tasks came about because most UNIXes take several milliseconds to perform a context switch. This is *death* to a well-structured, layered protocol implementation. Some early machines (like the Xerox DLION) could perform a task switch as fast as a procedure call (in about 20 microseconds), using some hardware support. Other operating systems minimize the task context block so that very little state must be changed in order to switch tasks. Sometimes, all the lightweight tasks run together in the same address space (In the DLion, and in MIT's IBM PC/IP network protocol package, and in its unix V7 TCP/IP) There is no precise definition, just as there is no precise definition of RISC. RISC was a knee-jerk reaction to the hideous complexity of the VAX; Lightweight tasks were a reaction to the hideous slowness of UNIX tasking.