> >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