From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b95a522100671708 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!newshub.sdsu.edu!news.glorb.com!wns14feed!worldnet.att.net!207.35.177.252!nf3.bellglobal.com!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail From: "Warren W. Gay VE3WWG" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: For the AdaOS folks References: <1PTAd.1218$0y4.421@read1.cgocable.net> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Wed, 05 Jan 2005 14:55:17 -0500 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1104954919 198.96.223.163 (Wed, 05 Jan 2005 14:55:19 EST) NNTP-Posting-Date: Wed, 05 Jan 2005 14:55:19 EST Organization: Bell Sympatico Xref: g2news1.google.com comp.lang.ada:7487 Date: 2005-01-05T14:55:17-05:00 List-Id: Nick Roberts wrote: > "Warren W. Gay VE3WWG" wrote: >>Mach's migrating threads do in fact cross into other "tasks". Instead of a >>caller thread stopping when a message is queued, and the receiving thread >>starting (from a blocked state), a migrating thread continues from the >>caller, works through the server code, and then returns back to the caller >>(in the caller's "task"). This is a simplification of what happens, >>because there are "activations" and stack games that must happen to make >>this work - but it is a migrating thread. > > I'm not quite sure what you're getting at, Warren. I don't think it's very > surprising that Mach has capabilities that are similar to Bachar, since they > are both aimed at doing roughly the same thing. But there are significant > differences in the details. I did begin designing (what has become) Bachar a > long time ago (pre-1990s). Mach's roots go back to 1975, which is quite some time ago ;-) >>>>But if you look at the Mach paper above, you can do the very same >>>>thing with ports. Even without thread-migration, you can interpose >>>>proxies. With thread-migration enabled RPC, you achieve both and >>>>provide the OS designer a nicer interface. >>> >>>But if we did that, what would be the advantage? >> >>Its cheaper. To have 1000 send rights, costs near nothing. 1000 send >>rights in one task costs nothing (just increments ref count). 1000 in a >>1000 different tasks, costs one pointer in each task. Nothing further. >> >>1000 threads OTOH, costs you state information for each of those 1000 >>threads (same task or different). The amount of state information needed >>will vary with platform. > > I have to guess somewhat, Warren, at the point you are making (maybe it's my > fault). Are you suggesting that if I have 1000 client processes (or > threads?) performing trans-network IPC, it will be necessary to have 1000 > (or 2000?) proxy processes (or threads)? On AdaOS, in practice, there will > only be one proxy process (the program Avarus, running once on each > workstation). However, the "name service" for example, will often have many clients (only one receive port for the name service, but at least one send-right for every client "task" on the system). This is one example where the numbers of send-rights can be large. -- Warren W. Gay VE3WWG http://home.cogeco.ca/~ve3wwg