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!meganewsservers.com!feeder2.on.meganewsservers.com!feed.cgocable.net!read2.cgocable.net.POSTED!53ab2750!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> <33qh7eF42pn2fU1@individual.net> In-Reply-To: <33qh7eF42pn2fU1@individual.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <2ieCd.15293$Y_4.1364455@read2.cgocable.net> Date: Mon, 03 Jan 2005 11:22:24 -0500 NNTP-Posting-Host: 24.150.168.167 X-Complaints-To: abuse@cogeco.ca X-Trace: read2.cgocable.net 1104769278 24.150.168.167 (Mon, 03 Jan 2005 11:21:18 EST) NNTP-Posting-Date: Mon, 03 Jan 2005 11:21:18 EST Organization: Cogeco Cable Xref: g2news1.google.com comp.lang.ada:7408 Date: 2005-01-03T11:22:24-05:00 List-Id: Marven Lee wrote: > Warren W. Gay VE3WWG wrote: >>Marven Lee wrote: >>>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. >> >>Exokernel? > > No, I'd still call it a microkernel or perhaps a trampoline. Ok, I know what you mean now. But I _want_ the mk to take care of VM and port management however, since I don't want to be bothered with those. Having the VM done in the mk makes it a little easier to port MyOS to another hardware platform (mind you, you still have to port your other hardware support, but it is one less worry). But your point that a mk could be smaller is taken. > I've dug up an old thread from alt.os.development where > KVP describes a single server trampoline and I follow > up with a rough idea of how to implement a > trampoline-microkernel that supports multiple servers. > > http://tinyurl.com/6gb5b > > That was an old posting of mine and I'd probably change the > "activation" structure around a bit. I'd more likely use > array indices to reference other activations instead of pointers. > I'd also change some of the needed system calls as well. It sounds like an interesting idea. Perhaps you'd like to work on rtmk and extend it some? I simply don't have the time to do the mk part myself. For now, I am more interested in the Ada components on top of it. But it sure would be nice to have an Ada microkernel underneath it someday ;-) > Now for some suggested reading... > ... > "Anonymous RPC" by C.Yarvin et al. Imagine the Amiga's > shared libraries randomly scattered around a 64-bit address > space. Imagine also that the Amiga library jump tables > are execute-only and not readable, and that it was running > on a RISC chip with instruction-alignment constraints. > Then you've got a idea of what "Anonymous RPC" and > probablistic memory protection is about. I don't know much about the Amiga myself. But There are 2 strikes against this IMHO: 1. Single address space (my own bias) 2. Not secure. For # 2 they state "it is _unlikely_ that a process will be able to locate any other segment... impossible to corrupt a segment without knowing its location." The word "unlikely" is not good enough for me here. My first priority is security (efficiency and everything else is secondary). So any approach like this one, where security is just "good enough", is not appropriate to my own goals. > "Implementing Operating Systems without Kernels" and > "Efficient Cross-domain Mechanisms for Building > Kernel-less Operating Systems" by D.Probert and J.Bruno. > I read it some time ago, I think it is more or less about > the trampoline/microkernel being implemented in hardware. Again, I am not really interested in doing all of the details of an O/S myself. That is why I rather like the layered microckernel concept. It is also a nice way to subdivide the problem for those adventuresome people that _do_ have the time to fiddle with the lower level things ;-) -- Warren W. Gay VE3WWG http://home.cogeco.ca/~ve3wwg