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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,dea2d62ab1462538 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!postnews.google.com!r24g2000yqd.googlegroups.com!not-for-mail From: Shark8 Newsgroups: comp.lang.ada Subject: Re: Writing an Operating System in Ada Date: Tue, 12 Jan 2010 13:21:51 -0800 (PST) Organization: http://groups.google.com Message-ID: <14f3ba77-f47d-45db-bf6f-bca3dfa0a3f4@r24g2000yqd.googlegroups.com> References: <8e9bc311-7540-40a1-b19e-49e93648c25c@s31g2000yqs.googlegroups.com> <9oyblld05omh$.1dzhmyoseeb7x$.dlg@40tude.net> NNTP-Posting-Host: 75.161.22.147 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1263331311 1098 127.0.0.1 (12 Jan 2010 21:21:51 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 12 Jan 2010 21:21:51 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r24g2000yqd.googlegroups.com; posting-host=75.161.22.147; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 4.0.20506),gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:8713 Date: 2010-01-12T13:21:51-08:00 List-Id: > Wow, can you read minds? (:-)) I've been accused of it... but those are merely accusations. ;) > > Now the idea that everything [system-wise] is an object is much more > > appealing to me. > > World-wise (a modern OS must be distributed) I'm not overly-sure about that. It still makes sense, especially from a security-standpoint, to have systems which are isolated. But on the whole, yes it needs to have that sort of extensibility. I think the best idea would be to metaphorically "borrow recursion" for the distribution-design such that a single computer is the 'base case'. > > Having such a system means that we could support disparate > > architectures by having base-CPU objects & the high-level driver- > > objects on a bootable CD with a VM such as DOTNET or JVM and > > 'installing the OS' would be compiling it for that HW-setup. The > > downside to how I'm describing it is that it sounds a little too Unix- > > y. > > > Using the Java-style interfaces we could have a file-system interface > > which would allow the OS to use any FS which was implemented in an > > object using said interface. > > There should be no file system at all. If you have objects, I mean if you > do have them consistently all the way, then you do not need files. Make > objects persistent in the corresponding device, that gives you all > functionality of any file. No I/O is ever needed. Map the object into the > memory, call its operations, what else any program would have to do? I agree for the most part and would want Files to be full objects themselves... and since objects 'know' their own type so would these files. Perhaps having files be their own objects with a mix-in of a stream would be a wiser choice... or they could all be descended from an abstract-stream-object. {Files SHOULD be typed, absolutely.} The problem about having no I/O is that there are some file-formats which ARE sequential-in-nature as opposed to Random-access/Record-in- nature: Midi and Huffman encoding (actually MOST compression would fall here) are to examples off the top of my head. Or am I misunderstanding what you mean? > The problem is that we followed the wrong path for too long. All these > standards (XML to name one) are based on these flawed untyped file - "don't > care about the contents" model. There could be no return, maybe. XML is ugly. Really ugly. EA's IFF was/is more interesting. And with Ada'a inherent ability to read/write most types directly to/from a stream it XML would be fairly unnecessary. The original purpose for XML being: "describe a type-layout" (the DTD) now everything can use that layout (basically an instance of that record)!