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!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Marven Lee" Newsgroups: comp.lang.ada Subject: Re: For the AdaOS folks Date: Mon, 3 Jan 2005 10:30:47 -0000 Message-ID: <33sl8hF458hfkU1@individual.net> References: <1PTAd.1218$0y4.421@read1.cgocable.net> <1vemlj8wqr9ea$.qyecszhsmtqa$.dlg@40tude.net> <1b48kdfqsk3mw.7gajq12fsa82.dlg@40tude.net> <52fBd.42256$nV.1324414@news20.bellglobal.com> <33li96F422q0fU1@individual.net> <33qh7eF42pn2fU1@individual.net> X-Trace: individual.net BbZ7HK15T7yy33iRFefMbQ3dWpqM+aE0s2EXbRLtm+aMF3yUOf X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Xref: g2news1.google.com comp.lang.ada:7403 Date: 2005-01-03T10:30:47+00:00 List-Id: Luke A. Guest wrote... > Yeah but, what you were saying was that you wanted OSes to use > protection domains for libraries *as well*, this is the wrong way to > go. The libraries are (and should be) mapped into an applications > address space, libraries *should never* have their own address > spaces. It is that idea which is wrong and would be slow, not the > *proper* way to do it. I'm not on about "normal" libraries becoming "protected shared libraries". "Protected shared libraries" are the same as servers in other microkernel systems. I could have called them servers, however the term "protected shared libraries" seems to emphasise a passive object model where a thread makes a cross-domain call into a server as opposed to having a seperate thread in the client and a seperate pool of threads in the server which would be an active object model. You get to keep your normal libraries. Just like a server, protected shared libraries keep data shared between multiple processes private and you'd use them wherever you use servers. Migrating threads / cross-domain calls / LRPC / thread tunnelling whatever you want to call it allows for a more streamlined IPC between processes. There is no need for a rendezvous between threads, there is no need to block threads and the kernel path becomes simpler.