Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!usc!bloom-beacon!husc6!ogccse!littlei!stanley.hf.intel.com!reeder From: reeder@stanley.hf.intel.com.ogc.edu Newsgroups: comp.realtime Subject: Re: Lightweight Tasks Message-ID: <634@gandalf.littlei.UUCP> Date: 31 Jul 89 20:06:42 GMT References: <2153@gmu90x.UUCP> <70900004@m.cs.uiuc.edu> Sender: news@littlei.UUCP Reply-To: reeder@stanley.hf.intel.com (Ed Reeder) Organization: Intel Corp., OMSO UNIX Development, Hillsboro, OR Lines: 37 In article <70900004@m.cs.uiuc.edu> gillies@m.cs.uiuc.edu writes: > >Zalman Stern, Let me see if I can summarize your definition. >Lightweight tasks -- > (1) have stack & register set. > (2) have no address space, signal masks, uid, file descriptor tables, etc. > (3) are also called threads, LWPs. > (4) predate UNIX [Ed -- then why the new name?] > (5) solve different problems than UNIX tasks. > (6) Most LWP systems have Heavy Weight Processes too > [Not true in Xerox DLion/Pilot/Cedar, with VM + lightweight tasks] > (7) Some implementations of LWPs exist within UNIX processes. > >I have no qualms with (1), (2), (3). About (4) -- I think it is >historically correct to say that network protocols were a major >impetus for developing lightweight tasks (in the three systems I >worked with -- PDP11 MIT V7 TCP/IP/Telnet & C-gateway, IBM PC/IP, and >Xerox Pilot OS, this was precisely the reason for them). Certainly Another "lightweight/threads" impetus was simply that it was the only sensible implementation available. In 1973 I was involved with the production of a commercial multi-user DBMS on IBM mainframes running the predominant OSs of the time (MFT, MVT, VS/1, SVS, etc. etc). To efficiently control multi-user access to a single resource (the database) you created a "monitor" (i.e., simple OS) that "multi-threaded" user's database requests within the single address space (process) controlled by the monitor. The OSs of the time were batch oriented and developers had to fabricate all of the necessary environment (such as compilers that supported stacks) to have a decent implementation. This was a common practice in the database community and many of the "multi-threaded" DBMSs would now be said to support "lightweight processes." > ... etc. ... Ed Reeder Intel Corp Hillsboro, OR