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!news2.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 13:43:57 -0000 Message-ID: <33t0gtF44p2iqU1@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 VWcD1hHTNSL9n7mgPMQb5QGKVk7IJfQnSI5gfSAnyh3KuQTOXm 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:7405 Date: 2005-01-03T13:43:57+00:00 List-Id: Luke A. Guest > The exec.library is the "microkernel" of the AmigaOS, thus all of the > functions inside exec.library would become syscalls and it would > already be in memory, in kernel space, mapped into every running > application's address space, implicitly. Or you could move it out of the kernel part of the address space and into a server/protected shared library. Just like the single server Linux and Mach examples I gave. The only thing my microkernel does is replace your syscall into your Exec microkernel with a cross-domain call from one address space to another. The microkernel becomes a glorified interrupt/syscall handler transferring a thread across address spaces, much like an interrupt/kernel trap transfers a thread from user-mode to kernel-mode. Then you only need several system calls in the microkernel. No need for threads, processes, message ports, memory management, page tables, syncronisation primitives, scheduler or anything else in the microkernel. They are all implemented in one of the servers/protected shared libraries. Marv