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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news3.google.com!feeder.news-service.com!feeder.erje.net!news2.arglkargh.de!noris.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Writing an Operating System in Ada Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <8e9bc311-7540-40a1-b19e-49e93648c25c@s31g2000yqs.googlegroups.com> Date: Tue, 12 Jan 2010 20:56:42 +0100 Message-ID: <9oyblld05omh$.1dzhmyoseeb7x$.dlg@40tude.net> NNTP-Posting-Date: 12 Jan 2010 20:56:41 CET NNTP-Posting-Host: 92a43d63.newsspool1.arcor-online.net X-Trace: DXC=9\ALZOngQlN0YVY]kmLTlDic==]BZ:afN4Fo<]lROoRA<`=YMgDjhgBi>i On Tue, 12 Jan 2010 09:37:11 -0800 (PST), Shark8 wrote: > On Jan 12, 2:41�am, "Dmitry A. Kazakov" > wrote: >> On Mon, 11 Jan 2010 17:13:55 -0800 (PST), Shark8 wrote: >>> Anyway, I was wondering if anybody here would be interested in such a >>> project. >> >> If that will be a really new OS (not a UNIX clone), OO, portable, >> distributed etc, for interesting platforms like this: >> >> http://blog.makezine.com/archive/2009/08/scalable_open_source_computi... >> >> why not? >> > You know that was a frustrating / discouraging thing to hear almost > everybody I talked to about wanting to write an OS say something along > the lines of "Why don't you just download the sourcecode for > Linux?"... I'm sorry folks, but I don't want to be the OS equivalent > of a 'script-kiddie'. > > One thing I find very annoying about the Unix/Linux mentality is the > "everything is a file" philosophy... coupled with the C/C++-ism of > simply assuming that a file read/write went well and you're asking for > trouble. {Yes, I know that you CAN check to see if writing is > successful or not in C/C++, but it goes against most C/C++ > programmer's sense of terseness/'beauty'... the same one that makes no > check on array-bounds.} Wow, can you read minds? (:-)) I wrote about something like that many many years ago. Yes, "everything is a file", "fore every possible job is a utility", "every action is a process" is a pest of UNIX. > Now the idea that everything [system-wise] is an object is much more > appealing to me. World-wise (a modern OS must be distributed) > Objects are a very natural way to [generically] model > hardware: a display has a running-resolution, available resolutions, > OpenGL/DirectX compatibility, etc. It could even be engineered in such > a way that every device-object 'knows' how to write code for its > device and that code is JIT-compiled for the specific system. > (Example: A PCI-card can be inserted unto a system-board with a SPARC > processor, or one with an AMD processor, the two different endian-ness > but the card is the same for both, so it stands to reason that a > device-object [device-driver] could be written in a high-level manner > abstracting out the low-level... probably by having the aforementioned > JIT which is linked to the CPU's device-object tell that object to > output the codes for the PCI-card-object.) > > 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? 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. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de