comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: Just a thought!
Date: Wed, 25 Jul 2007 12:43:35 GMT
Date: 2007-07-25T12:43:35+00:00	[thread overview]
Message-ID: <XzHpi.2566$ax1.1031@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: f86rrl$6qf$1@aioe.org

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




  parent reply	other threads:[~2007-07-25 12:43 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 [this message]
2007-07-26 23:37   ` Xianzheng Zhou
replies disabled

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