comp.lang.ada
 help / color / mirror / Atom feed
From: Xianzheng Zhou <joe@lgsolutions.com.au>
Subject: Re: Just a thought!
Date: Fri, 27 Jul 2007 09:37:23 +1000
Date: 2007-07-27T09:37:23+10:00	[thread overview]
Message-ID: <f8bb7l$ia8$1@aioe.org> (raw)
In-Reply-To: 

This is a rather long-term approach. I haven't seen that far yet:) I'm 
planning to do a nanokernel, it's basically an abstraction of the cpu 
layer and do nothing more than that.

The idea is to build more complex kernel on top of that which makes it 
flexible, so that it's flexible to be re-planted to other hardware 
platform and even embedded system without modifying the complex upper 
part of the kernel. And it can be built as small as possible, rather 
than heavy-weight, super advanced operating system.:)

Just my thought. Feel free to comments:)

thanks,

xianzheng

anon wrote:
> It is feasible if you have the time! I have written the "True Ada OS" 
> kernel.  The kernel is a non-Posix system which uses all three Intel 
> protective rings as a security design. Except for the ASM instructions 
> that are embedded in the Ada source code there are no assembly 
> routines, the bios boot the kernel by jumping to the Ada code startup 
> procedure. Also, the kernel runs in a 100% preemptive design which 
> means after kernel is active the use of the "cli" and "sti" instruction 
> are not allowed because they could allow non-preemptive coding.
> 
> The kernel does test memory and calculate page sizes and tables as 
> well as testing for devices but does limits the graphics card to the 
> standard VGA mode only.  Just too many cards and no standardized 
> for SVGA mode, plus Ada has only limited graphics capabilities. Works 
> with Linksys network cards as well as having a few file systems 
> including it own version. So no need for GRUB or use of multiboot which 
> could allow virus, due to the fact that GRUB is written in real (DOS) 
> mode. Also, once loaded into memory and control is passed to kernel 
> there are no BIOS calls, device drivers built-in. The prototype is 
> native CD/DVD Bootable, with swapper partition optional.  After 
> booting it loads from the CD a controller shell.
> 
> Using the initial kernel I have three extra projects. One is to write a 
> compiler/binder/linker for the kernel (in the processes now). Gnat 
> compiler has some designs fault that makes partition building difficult
> for this system, plus modifying the code would take more time then 
> starting from scratch.  Also, Gnat allows language interfaces and some 
> non standard Ada features which this compiler and system will not.  
> Only Pure Standard Ada code will compile and run in this system. 
> 
> And the second project is to replace the "BIOS ROM" with the kernel and 
> a system configurator written in Ada.  Initial test used an old ethernet 
> card with a rom boot slot to test booting the system.  Later after the 
> compiler project if finished I will take an older PII and flash the bios 
> prom with the kernel and configurator.  So the whole system will then run 
> pure Ada code. 
> 
> The third is to install the kernel in a "Core 2 Quad", later this year or 
> maybe if Intel create the "Core 2 Octal", next year.  This will give Ada 
> a true parallel and multi-task design.
> 
> With the PII test system and the "Core 2 Quad" Ada bios the computer 
> system could be called a "True Ada Machine".  Something like the old 
> "Lisp Machines" except that this system will allow growth so long as 
> the code is written in Ada. After that I have number of projects lined 
> up to use the either the CD-Bootable Ada OS version or the 
> "True Ada Machine".
> 
> Note: The Interface package is limited to the parent package only.  Which 
> means not foreign languages or sub packages will exist. Such as 
> Interfaces.C, Interfaces.COBOL, and Interfaces.Fortran. Also, the 
> Ada.Machine_Code package will not all the ASM instruction only special 
> calls to selected number of assembly instructions.  So the Ada will be 
> called a limited subset of Ada because of the specification RM B.2 ( 1 ).
> 
> 
> 
> Now, what do you need to know! First, the complete features of Ada, 
> the computer system, the processor assembly language as well as the 
> hardware that is installed.  And you will need a lot of time for research 
> and writing code. It is not someone thinks about playing with.  I 
> know a couple of programmers that are using an Ada OS as their doctoral 
> thesis, their prof thinks the task is too great for them but they have 7 
> years to finish it. Of course, they should think what types of computer 
> system will exist in 7 years from now. And will their code still work.
> 
> 
> In <f86rrl$6qf$1@aioe.org>, Xianzheng Zhou <joe@lgsolutions.com.au> writes:
>> Hello everyone,
>>
>> I'm just thinking about writing a nanokernel using Ada. I don't know 
>> whether this idea is feasible or not, just wanna have a play around with it.
>> Any suggestions please?:)
>>
>> Thanks,
>>
>> Xianzheng
> 



      reply	other threads:[~2007-07-26 23:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-25  6:50 Just a thought! Xianzheng Zhou
2007-07-25  7:49 ` Ludovic Brenta
2007-07-25 12:43 ` anon
2007-07-26 23:37   ` Xianzheng Zhou [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox