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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,85034d1ac78a66eb X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-03-25 09:26:10 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.cidera.com!Cidera!cyclone.socal.rr.com!cyclone3.kc.rr.com!news3.kc.rr.com!twister.socal.rr.com.POSTED!not-for-mail Message-ID: <3C9F5DBE.4B71408F@san.rr.com> From: Darren New X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada Operating System References: <3c77b476.322111671@news.cis.dfn.de> <3C88E0D1.89161C16@despammed.com> <3C8A3999.2000301@earthlink.net> <3C8B0191.3080705@mail.com> <3C8C3C4E.9030703@mail.com> <3C961352.DE25ADF1@avercom.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Mon, 25 Mar 2002 17:25:53 GMT NNTP-Posting-Host: 66.75.151.160 X-Complaints-To: abuse@rr.com X-Trace: twister.socal.rr.com 1017077153 66.75.151.160 (Mon, 25 Mar 2002 09:25:53 PST) NNTP-Posting-Date: Mon, 25 Mar 2002 09:25:53 PST Organization: RoadRunner - West Xref: archiver1.google.com comp.lang.ada:21648 Date: 2002-03-25T17:25:53+00:00 List-Id: Actually, I think there's another way that an Ada-based OS could be superior to a C-based OS. Imagine an OS where all IPC is done via message passing of messages between queues. That is, when you (for example) want to read a file, you put the file handle and the "read" token at the start of a buffer, pass the buffer to the queue for the file system thread. The file system thread wakes up, fills up your buffer, and passes it back to you. In a protected-memory system, it would be helpful if said buffers were always allocated on page boundaries, with at most one buffer per page, so simple memory-map manipulations could move the buffer from one address space to the other. Would an Ada compiler (perhaps aided and abetted by the linker) be able to take objects of the "Message" generic (or tagged) type and assure they're always allocated on page boundaries, and objects of the "Queue" generic (or tagged) type are always in pages together (so the OS knows where they are perhaps) in a way that would be tedious and error-prone in C? Could it be done with appropriate storage pools, so it doesn't even really need to be specialized in the compiler? -- Darren New San Diego, CA, USA (PST). Cryptokeys on demand. Remember, drive defensively if you drink.