comp.lang.ada
 help / color / mirror / Atom feed
* Ada, MILS, and Kernels?
@ 2013-01-02  6:37 Diogenes
  2013-01-02  9:33 ` Paul Colin Gloster
  2013-01-06  3:47 ` brian catlin
  0 siblings, 2 replies; 5+ messages in thread
From: Diogenes @ 2013-01-02  6:37 UTC (permalink / raw)


Recently I've had a good bit of success with getting gnat-gcc to cross compile for bare-bones hardware programming.(For doing Kernels, Stand-Alone apps, etc...)

If your reading this, thanks Lucretia, for the tips on the OSDev wiki.

Recently I've also ordered the Spark book AND been studying the documentation for AADL/Ocarina. Also been researching what's commonly called the "MILS" architecture.

The other half of my research has been in Mainframe OSes. Specifically VMS and VME. Unfortunately, except for a couple small projects that seem to be dying slowly, there isn't much source code available as far as the internals for these OS's. Obviously that's because they're proprietary; and I can't really blame HP or Fujitsu for holding those cards close to their chest.

So I'd like to re-implement some of the most liked features of those OSes on a small Ada kernel project. Of course "small" here is kind of a relative term.

As you might expect from the above paragraphs, I'm eyeballing the MILS architecture for this project. 
Because the documentation for the big iron OSes usually does not go into detail on their internals, I decided to draw knowledge from another market domain that often works under similiar constraints. Of course I'm referring to real-time safety critical systems. There are dozens of working projects out there for this market, and many of them are in fact Open Source.

This leaves me with sort of a dilemma. The MILS architecture limits a project to 5000 lines of code or less.(If I understood the docs correctly.)
Supposing I'm using an exokernel design, is it possible to do a proper kernel in 5000 lines or less of AADL/SparkAda code?

Also, assuming the core kernel and separation kernel are properly done...what sort of features from the mainframe world would be most useful to you or others in the OSS crowd? Those OSes have 20+ years of engineering behind them, so I need to wittle the feature set down to just a few things that are doable. 

I realize this is sort of an open-ended question, but I'm just fishing for opinions and knowledge at the moment. Once I have an ironclad design I'll post it up.

First thing is first though. Need to get the core OS working well.

Thanks.

Diogenes



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Ada, MILS, and Kernels?
  2013-01-02  6:37 Ada, MILS, and Kernels? Diogenes
@ 2013-01-02  9:33 ` Paul Colin Gloster
  2013-01-06  3:47 ` brian catlin
  1 sibling, 0 replies; 5+ messages in thread
From: Paul Colin Gloster @ 2013-01-02  9:33 UTC (permalink / raw)


On 2013-01-02, Diogenes <phathax0r@gmail.com> sent:
|-------------------------------------------------------------------|
|"[. . .]                                                           |
|                                                                   |
|[. . .]what sort of features from the mainframe world would be most|
|useful to you [. . .]? [. . .]                                     |
|                                                                   |
|[. . .]"                                                           |
|-------------------------------------------------------------------|

Profiling support.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Ada, MILS, and Kernels?
  2013-01-02  6:37 Ada, MILS, and Kernels? Diogenes
  2013-01-02  9:33 ` Paul Colin Gloster
@ 2013-01-06  3:47 ` brian catlin
  2013-01-06  4:56   ` Dennis Lee Bieber
  2013-01-06 19:34   ` Diogenes
  1 sibling, 2 replies; 5+ messages in thread
From: brian catlin @ 2013-01-06  3:47 UTC (permalink / raw)


On Tuesday, 1 January 2013 20:37:23 UTC-10, Diogenes  wrote:
> Recently I've had a good bit of success with getting gnat-gcc to cross > The other half of my research has been in Mainframe OSes. Specifically VMS and VME. Unfortunately, except for a couple small projects that seem to be dying slowly, there isn't much source code available as far as the internals for these OS's. Obviously that's because they're proprietary; and I can't really blame HP or Fujitsu for holding those cards close to their chest.
> 

Really? Check out the OpenVMS Internals and Data Structures books. Also the 6th edition of the Windows Internals books contain very detailed information (full disclosure: I wrote many of the updates). You'll notice that the two operating systems are very, very similar because they were architected by the same person (Dave Cutler).

If I were you, I'd first focus on creating a portable Ada Run Time environment (exceptions!), then add operating system layers on top of that.


 -Brian



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Ada, MILS, and Kernels?
  2013-01-06  3:47 ` brian catlin
@ 2013-01-06  4:56   ` Dennis Lee Bieber
  2013-01-06 19:34   ` Diogenes
  1 sibling, 0 replies; 5+ messages in thread
From: Dennis Lee Bieber @ 2013-01-06  4:56 UTC (permalink / raw)


On Sat, 5 Jan 2013 19:47:19 -0800 (PST), brian catlin
<brian.catlin@gmail.com> declaimed the following in comp.lang.ada:

> On Tuesday, 1 January 2013 20:37:23 UTC-10, Diogenes  wrote:
> > Recently I've had a good bit of success with getting gnat-gcc to cross > The other half of my research has been in Mainframe OSes. Specifically VMS and VME. Unfortunately, except for a couple small projects that seem to be dying slowly, there isn't much source code available as far as the internals for these OS's. Obviously that's because they're proprietary; and I can't really blame HP or Fujitsu for holding those cards close to their chest.
> > 
> 
> Really? Check out the OpenVMS Internals and Data Structures books. Also the 6th edition of the Windows Internals books contain very detailed information (full disclosure: I wrote many of the updates). You'll notice that the two operating systems are very, very similar because they were architected by the same person (Dave Cutler).
> 
	I'll have to look for said 6th edition... While the same person may
have been crucial to the two OSs, it is very obvious that the same team
did NOT do the documentation. The multi-volume VMS binders were quite
readable, and well focused.

	In contrast, navigating MSDN or the older Windows books I own are a
downright pain (MSDN because one would need to keep five or more browser
windows open just to quickly jump back&forth between various topics; the
older books because they don't have a clear /reference/ nature but tend
to toss in system calls almost ad-hoc).
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
        wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Ada, MILS, and Kernels?
  2013-01-06  3:47 ` brian catlin
  2013-01-06  4:56   ` Dennis Lee Bieber
@ 2013-01-06 19:34   ` Diogenes
  1 sibling, 0 replies; 5+ messages in thread
From: Diogenes @ 2013-01-06 19:34 UTC (permalink / raw)


On Saturday, January 5, 2013 10:47:19 PM UTC-5, brian catlin wrote:
 
> Really? Check out the OpenVMS Internals and Data Structures books. Also the 6th edition of the Windows Internals books contain very detailed information (full disclosure: I wrote many of the updates). You'll notice that the two operating systems are very, very similar because they were architected by the same person (Dave Cutler).
> 
> 
> 
> If I were you, I'd first focus on creating a portable Ada Run Time environment (exceptions!), then add operating system layers on top of that.
> 
>  -Brian

While VMS is part of my fishing expedition, I wasn't referring exclusively to that. I'm also reading up on VME, which in many ways is even more modern than modern OSes. VME is currently owned by Fujitsu corp; and getting the docs looks like it might be a little pricey. But I'm still searching.

Yeah, a portable Ada Run Time does seem to be in need these days. Of course an Ada Runtime Environment would be an OS layer on top of an exokernel.

Fortunately there are good examples to start from.(OpenRavenscar, RTEMS, ToyLovelace, etc..)

Thanks for the pointers.

Diogenes



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-06 19:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-02  6:37 Ada, MILS, and Kernels? Diogenes
2013-01-02  9:33 ` Paul Colin Gloster
2013-01-06  3:47 ` brian catlin
2013-01-06  4:56   ` Dennis Lee Bieber
2013-01-06 19:34   ` Diogenes

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