comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@NoSPAM.cogeco.ca>
Subject: Re: For the AdaOS folks
Date: Fri, 31 Dec 2004 14:22:43 -0500
Date: 2004-12-31T14:22:43-05:00	[thread overview]
Message-ID: <%EhBd.44872$nV.1369755@news20.bellglobal.com> (raw)
In-Reply-To: <b1hBd.44026$nV.1358305@news20.bellglobal.com>

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



  reply	other threads:[~2004-12-31 19:22 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-27  5:09 For the AdaOS folks Wes Groleau
2004-12-27 10:56 ` Florian Weimer
2004-12-27 12:50   ` Georg Bauhaus
2004-12-27 13:12     ` Florian Weimer
2004-12-28  1:18   ` Wes Groleau
2004-12-27 13:46 ` Adrien Plisson
2004-12-27 16:28   ` Georg Bauhaus
2004-12-28  6:19   ` Microkernels & Ada (Was for the AdaOS folks) Warren W. Gay VE3WWG
2004-12-28 12:02     ` Adrien Plisson
2004-12-28 15:28       ` Warren W. Gay VE3WWG
2004-12-30  1:19 ` For the AdaOS folks Nick Roberts
2004-12-30 13:58   ` Warren W. Gay VE3WWG
2004-12-30 15:27     ` Dmitry A. Kazakov
2004-12-30 16:30       ` Warren W. Gay VE3WWG
     [not found]         ` <otb8t09dkjh54e1k5s5ccn23ggkqk6ndui@4ax.com>
2004-12-30 19:06           ` OT: Mach Ports (For the AdaOS folks) Warren W. Gay VE3WWG
2004-12-31 10:03         ` For the AdaOS folks Dmitry A. Kazakov
2004-12-31 11:30           ` Warren W. Gay VE3WWG
2004-12-31 12:31             ` Dmitry A. Kazakov
2004-12-31 16:24               ` Warren W. Gay VE3WWG
2004-12-31 17:57                 ` Marven Lee
2004-12-31 18:40                   ` Warren W. Gay VE3WWG
2004-12-31 19:22                     ` Warren W. Gay VE3WWG [this message]
2005-01-02 15:09                     ` Marven Lee
2005-01-02 20:06                       ` Luke A. Guest
2005-01-03  3:13                         ` Warren W. Gay VE3WWG
2005-01-03  6:40                           ` Luke A. Guest
2005-01-03 10:30                             ` Marven Lee
2005-01-03 15:52                             ` Warren W. Gay VE3WWG
2005-01-03 16:48                           ` Ad Buijsen
2005-01-03 18:49                             ` Warren W. Gay VE3WWG
2005-01-03 13:43                         ` Marven Lee
2005-01-04 23:36                         ` Nick Roberts
2005-01-03 16:22                       ` Warren W. Gay VE3WWG
2005-01-04 23:16                       ` Nick Roberts
2005-01-05  3:48                         ` Warren W. Gay VE3WWG
2005-01-05 13:14                           ` Nick Roberts
2005-01-01 12:53                 ` Dmitry A. Kazakov
2005-01-02  0:31                   ` Warren W. Gay VE3WWG
2005-01-02 11:50                     ` Dmitry A. Kazakov
2005-01-02 22:04                       ` Warren W. Gay VE3WWG
2005-01-03 10:30                         ` Dmitry A. Kazakov
2005-01-03 16:36                           ` Warren W. Gay VE3WWG
2005-01-03 17:05                             ` Dmitry A. Kazakov
2005-01-03 19:01                               ` Warren W. Gay VE3WWG
2005-01-03 19:55                                 ` Dmitry A. Kazakov
2005-01-03 20:44                                   ` Warren W. Gay VE3WWG
2005-01-04  0:02                                     ` Randy Brukardt
2005-01-04 17:44                                       ` Warren W. Gay VE3WWG
2005-01-04 20:14                                         ` Nick Roberts
2005-01-04  9:59                                     ` Dmitry A. Kazakov
2005-01-04 18:00                                       ` Warren W. Gay VE3WWG
2005-01-04 19:07                                         ` Dmitry A. Kazakov
2005-01-04 19:57                                           ` Warren W. Gay VE3WWG
2005-01-05  0:02                                             ` Nick Roberts
2005-01-05  4:37                                               ` Warren W. Gay VE3WWG
2005-01-05 18:54                                                 ` Nick Roberts
2005-01-05 20:04                                                   ` Warren W. Gay VE3WWG
2005-01-06  0:32                                                     ` Nick Roberts
2005-01-06  1:29                                                   ` Wes Groleau
2005-01-06 11:03                                                     ` Dmitry A. Kazakov
2005-01-05  9:39                                             ` Dmitry A. Kazakov
2005-01-05 11:20                                               ` Warren W. Gay VE3WWG
2005-01-05 12:18                                                 ` Dmitry A. Kazakov
2005-01-05 14:39                                                   ` Warren W. Gay VE3WWG
2005-01-05 17:16                                                     ` zest_fien
2005-01-05 19:44                                                       ` Larry Kilgallen
2005-01-04 20:09           ` Nick Roberts
2005-01-05 10:19             ` Dmitry A. Kazakov
2005-01-05 18:33               ` Nick Roberts
2005-01-05 20:15                 ` Dmitry A. Kazakov
2004-12-31 18:47     ` Nick Roberts
2004-12-31 20:36       ` Warren W. Gay VE3WWG
2005-01-04 18:22         ` Nick Roberts
2005-01-05  5:12           ` Warren W. Gay VE3WWG
2005-01-05 18:02             ` Nick Roberts
2005-01-05 19:55               ` Warren W. Gay VE3WWG
2005-01-06  0:57                 ` Nick Roberts
2005-01-06  2:34                   ` Warren W. Gay VE3WWG
  -- strict thread matches above, loose matches on Subject: below --
2005-01-05 12:14 Mike Brenner
2005-01-05 18:04 ` Warren W. Gay VE3WWG
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox