[cap-talk] Cap OS question
Ben Kloosterman
bklooste at gmail.com
Fri Jul 31 23:58:39 EDT 2009
Im working on a open source Managed Capability OS entirely written in C#
( 100%) and we have our own CIL to native compiler ( actually 2 a real
dirty get it done now and a proper one under development) . However I
have little experience in a Capability OS and a large amount of
questions how to do things and how things are done in other Capability OS
and if an idea is a good idea
is this list an appropriate place to ask these ?
Some background
As a managed OS we have a lot of things that are very different and im not
really confident enough to go with a pure capability design.
By managed OS I mean strongly typed with Garbage collection even for the
kernel . Everything runs in the same priv ring in a shared address space.
The compiler ensures all references are valid. Note all code is compiled to
native instructions during installation of an application.
At present it is just a get it done now shell with a compiler , console and
some file systems but lacking Memory Management , Garbage
Collection(Allocation does work) and scheduling.
Main issues:
how does having a single address space and a very cheap context switch
affect the design ? ( Sycnh vs Asynch , message passing etc)
How does a OO OS affect the Capability design ? ( Yes I know the issues ,
but the OS is partially educational and I want to be able to swap major
things easily ( even at run time) which is a pain with all static code ,
even the Memory Manager is an object)
Pure Benefits vs Hybrid
How to handle Distributed systems and remote systems based on an ACL.
Data pages on Diskless persistent devices like Phones and some PDA's with
the OS in ROM. What about memory pages as a basic capabilities as well as
files Directories and URI ( which includes file systems) .
The value of capability.Invoke vs strongly typed messages ( Im using
messages at the moment but for many the constructor requires a capability
and the Capabilities have methods instead of Invoke. These methods generate
strongly typed messages and call the Minix style Kernel SendMessage function
and wait for a reply if needed)
Issues of running existing .NET (Python , C#, VB ,F# etc) and Java apps
with capabilites ( these are the only apps we will support , but we will
support all existing .NET windows apps out of the box) .
Where to start J
Regards,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20090801/88324937/attachment.html
More information about the cap-talk
mailing list