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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,216b18d81cce4f75 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-06-02 22:27:03 PST Path: archiver1.google.com!newsfeed.google.com!sn-xit-02!sn-post-02!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: "B. Douglas Hilton" Newsgroups: comp.lang.ada Subject: Re: Ada Microkernel? Date: Sun, 03 Jun 2001 01:31:22 -0400 Organization: Posted via Supernews, http://www.supernews.com Message-ID: <3B19CBAA.737F6216@engineer.com> X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.4.3 i686) X-Accept-Language: en MIME-Version: 1.0 References: <3B183CB8.3EE396E7@engineer.com> <_M3S6.8957$HL5.1284411@news6-win.server.ntlworld.com> <3B1958AD.F7D7A5CC@engineer.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: newsabuse@supernews.com Xref: archiver1.google.com comp.lang.ada:8032 Date: 2001-06-03T01:31:22-04:00 List-Id: Ok, let me mull this over for awhile amd figure out what to do. It seems to me like building a microkernel with Ada should be a rather pleasant task. Except I want to make it plug and play for Debian/Hurd, and I really want to use OSKit for my hardware drivers. This implies a strong linkage between C OSKit drivers and mostly alien Ada code ( as far as the driver world is concerned. ) Still, this is a great project. If OSKit-Mach could be redone in Ada, and still provide mach.h and MIG, then the Debian/Hurd could actually be ported to an Ada Mach-comaptible microkernel. Currently, Roland McGrath is the Hurd equivalent of Linus, and it is exceedingly difficult to hack the GNUMach or OSKit-Mach sources. Basically nobody except he really understands the new Hurd microkernel. I would like to change this. The Hurd is supposed to be the OS for the rest of us. I think Hurd's kernel should be written in some better language ( such as Ada ) so that it is easier to modify in the future. Have you tried Hurd yet? A 1Gb partition will get you going! Download Hurd at http://www.debian/org/ports/hurd Unfortunately, GNATS has not yet been ported to Hurd, but I can attest to the platform's viability as I can boot Hurd and run X11 and it really does work. - Doug "chris.danx" wrote: > You don't need to have system level calls specifically for C applications, you > have system level calls for all applications (not just C ones). There's nothing > special about C applications that means you have to have a special format for > them. If i were you I'd make the API Ada styled (strongly typed and well > defined! None of this "words are all you need" that you see in C based OS > api's. > > The message passing systems used in microkernels (just one way of communication > possible) seem to work well. I've decided to take the standard message passing > system(mailboxes) and try something that i've been told has been done in QNX and > Beos. The idea is like pattern matching from functional languages and a bit > like dynamic typing. It goes like this. > > Module A sends a message to B to do X. > > X can have more than one form, dependant on the types passed in. You check the > types of the items passed in (each item must have a type descriptor accompanying > it) and X gives control to the appropriate routine. If no routine is found you > get an error (haven't really got a good idea about how to handle this, > technically it should never happen but that doesn't mean it will never happen). > You might want to consider something like this in an OS if your doing one. > > You could extend it to the API if you liked too. (which is why i mentioned it). > > Chris Campbell