silversmith wrote:
Before you continue any further on BareMetal OS, go write an application for Android.
I guess his project is an OS but not application, so where did the Android came in?
Quote:
Multi-core programming requires a completely different way of thinking from traditional techniques. C is a one-task pony that was designed ages ago and still doesn't understand what multithreading and multi-core are.
Check pthread(and its variants) for traditional parallel computing, and perhaps OpenMP. Yes they works in C as well.
Quote:
the current design paradigm of "each program has a single entry-point" into a multi-core environment is going to create a mess. To fully leverage multi-core, C itself needs to be changed.
It really does not matter if your program starts as single entry point and then create threads.
If you really want to starts with multiple entry point you can create them in startup code, for example hide them within process creation stub, or CRT0.o
The real issue is that application does not know about system loading and cannot do load balancing without the help of information from kernel scheduler, however, this issue is irrelevant to programming language.
Quote:
You haven't fundamentally changed anything and therefore this will likely just be something obscure only used by a limited number of people...projects like that tend to die slowly. They're fun and neat, but that's it. This project has potential to be a serious contender to everything out there.
IMO if you plan to make a successful OS, people suggests you need good marketing instead of anything significant in technology. Well, I have not managed to make a successful OS so I'm really not sure on it. For me,
fun and neat would be the ultimate goal for now.