>
 >How can software protect you from bad pointers clobbering memory from
 >some other process?  Sure the language/compiler can runtime check every
 >pointer before using it.  Sounds very inefficient though.

By using languages that don't allow pointers .

 >
 >> The benefit here is I start with a mature and useful code base and can
 >> continue to improve it . It is also very portable ( a lot of the
 >porting
 >> between arch is problematic due to different MMUs) since like Java the
 >C#
 >> apps will just work on dif arch.   Note we support all the .Net
 >language (
 >> C#, VB , F# , j# , Iron Python , ruby , php ) as well as Java ( via a
 >Java
 >> to CIL converter) .
 >
 >The MMU really isn't the biggest problem in going between architectures.
 >Allignment issues and endianess can often be much bigger issues.
 >
 >> Here is a blog post
 >>
 >> http://www.shanghai-software.com/blog/archive/2010/04/06/managed-
 >os.aspx
 >
 >That seems to just timeout.
 >
 >> Please note the Mosa guys will prob run with a monolithic MMU ( but no
 >ring
 >> 3)  while im working on a micro kernel style OS.
 >
 >Lots of microkernel OSs use MMUs (because they are such a good idea).
 >
 >> Note Linux  is just an idea at the moment , if uClinux + Mono proves
 >more
 >> trouble than it's worth than its back to a pure green field C# OS . My
 >goal
 >> is to gain about 10% perf from dropping the MMU ( see paper Rethinking
 >the
 >> Software Stack 2006)  and use about 5% of that to make it a Micro
 >Kernel (
 >> but note we have no ring 3) and a few run time checks ( most of the
 >checking
 >> is in the AOT compiler the only executable you can run are CIL (
 >managed)
 >> libs. We can do this because without a ring 3-0 switch context
 >switches just
 >> become cheap task switched. The end result is a self healing ,easier
 >to
 >> maintain more secure more reliable OS with about the same speed or
 >slightly
 >> faster than Linux. The cost is you can only run CIL/Java  apps and
 >drivers (
 >> though a few trusted drivers could be wrapped native).
 >
 >I highly doubt you will gain 10% by not using the MMU.  On some
 >architectures perhaps, but not in general.

Please read the paper "Rethinking the Software stack" 2005 Galen Hunt et al.
Which measured at 11% for a web server load with compile time checks or 6%
MMU cost for compile and runtime checks.  

 >
 >There are things that are trivial to do in hardware and very hard (or
 >at least very expensive) to do in software.  Memory protection is one
 >of those things.
 >
 Again read the paper , for C++ apps its difficult ( though MS are trying it
with Windows device driver verication )  for Java  , .NET or other
environments it's much easier and most of the checks can be done on the byte
or CIL  code. 

 

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to