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!news.glorb.com!cyclone.bc.net!news-in.mts.net!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> <1vemlj8wqr9ea$.qyecszhsmtqa$.dlg@40tude.net> <1b48kdfqsk3mw.7gajq12fsa82.dlg@40tude.net> <52fBd.42256$nV.1324414@news20.bellglobal.com> <33li96F422q0fU1@individual.net> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <%EhBd.44872$nV.1369755@news20.bellglobal.com> Date: Fri, 31 Dec 2004 14:22:43 -0500 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1104520891 198.96.223.163 (Fri, 31 Dec 2004 14:21:31 EST) NNTP-Posting-Date: Fri, 31 Dec 2004 14:21:31 EST Organization: Bell Sympatico Xref: g2news1.google.com comp.lang.ada:7357 Date: 2004-12-31T14:22:43-05:00 List-Id: Warren W. Gay VE3WWG wrote: > Marven Lee wrote: > >> Warren W. Gay VE3WWG wrote: >> >>> Dmitry A. Kazakov wrote: >>> >>>> Warren W. Gay VE3WWG wrote: >>>> >>>>> The problem then is that the drivers add to the code in "real-mode", >>>>> which is one thing that the mk tries to avoid (for additional safety >>>>> and modularity). >>>> >>>> >>>> I am still not sure what you mean here. If you mean modular kernel >>>> design and more fine-grained system of modes than all-or-nothing, >>>> then yes, sure. There is no reason, why a driver should not be >>>> treated as an application. >>> >>> >>> That's right. Just remember that the purpose of the mk is to keep the >>> "priviledged-mode" code to a bare minimum (hence the "micro"). >> >> >> Some microkernels and single address space operating systems >> implement cross-domain call mechanisms that enables a thread >> to cross from one protection domain into another in a similar >> way as a segmented system performs far calls or interrupts >> and traps can transfer from user-mode to kernel-mode. >> >> In Mach it's called "migrating threads". > > > Yes, I've seen references to this in the Mach > literature. > >> The Spring Nucleus (and Solaris) has cross-domain calls through "Doors". >> In the Pebble Operating System it's called "Portal Traversal" >> Mungi has "Protection Domain eXtensions". >> I think the Grasshopper kernel has something similar. >> Maybe LPC in Windows is a form of cross-domain call, I'm not sure. >> >> You can end up with a microkernel that only handles cross-domain >> calls. Everything else, including what you normally think >> a microkernel should at least include, > > > I'm glad you said "normally" here. ;-) > >> such as memory management, >> scheduling and IPC can be implemented outside of the microkernel. >> >> Marv > > > Exokernel? > > http://www.pdos.lcs.mit.edu/exo.html > > I've never been too keen on the single address space systems. But > I did like the way the ring mechanism worked in PrimOS (not a mk), > which was probably borrowed from Multics. I liked the way the > links were "snapped" and the way that you could call into different > levels of protection. > > Cross domain threads is an interesting idea though. I'll check it > out. For those interested, a Mach paper on migrating threads is available at: http://www.usenix.org/publications/library/proceedings/sf94/full_papers/ford.pdf In the Mach case, it is only a modification of the thread model (semantics are changed somewhat). A major benefit was the speedup it offers RPC calls. However the overall microkernel structure does not change (you still have priv-mode code in mk, and user-mode code is outside). -- Warren W. Gay VE3WWG http://home.cogeco.ca/~ve3wwg