On Mon, Apr 12, 2010 at 10:36:15PM +0100, Jamie Lokier wrote: > It's called static analysis or type checking. The compiler proves > that there are no bad pointers as much as possible, so it doesn't have > to check them at run time. If there are any remaining ones, it can > check them. Depending on the language and type of program, it is > sometimes possible to prove there are no bad pointers and nothing has > to be done when the program is running.
Well clearly the language isn't C then. I sometimes forget there are people using decent languages instead. :) > Having used both no-MMU architectures and MMU architectures, I > _strongly_ recommend having a decent MMU. > > It is not just memory protection (you can get that with an MPU). Yeah, there is that. A not decent MMU can be a pain too. Sane cache design is good too. > It's the ability to avoid memory fragmentation, which is a serious > problem with no-MMU architectures running Linux - at least if you > often spawn processes and things like that. Oh the memory fragmentation is a huge pain. I suppose one issue with MMU architectures sometimes is the overhead of managing all the pages (unless you have multiple page sizes available to reduce it). NOMMU must also keep track of pages somehow though, so perhaps it really doesn't make a difference at all for that. > Fragmentation is a much bigger problem than I would have expected when > I first started doing uClinux. Yeah I would have to agree with that. > Then again, if you're using type-safe languages or run-times designed > for the purpose, fragmentation needn't be an issue either. Well if you only run one large process, then it probably isn't a problem at all. Well at least if you never do memory allocations and freeing on the fly. -- Len Sorensen _______________________________________________ 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