So i was looking a bit ahead, thinking about how we would implement a scheduler etc.
The thing is, there are many different types of schedulers in the world.. and especially since no scheduler is perfect for anything, it's rather a type of black art, desiging schedulers, we might need to support different schedulers for different purposes (server, desktop, handheld etc.) Now we could simply have multiple kernels, and just like we have this build system for different architectures, we could add another layer of complexity to support multiple different schedulers.. But this is definitely not scalable, nor easy to experiment with.. So what if we have an IScheduler interface, and simply have multiple schedulers that inherit from this interface. Which scheduler is used could be configurable, and the right scheduler would be started at startup. Basically the console, desktop or whatever process/threads (& drivers) would be added to the scheduler before it's started.. and then the scheduler would run those threads which in turn would load whatever else we need.. So it shouldn't be too hard to implement an abstracted scheduler.. Ofcourse the problem is is that AOT only has support for static methods.. Would abstract classes be easier to implement? Also, i was thinking about how the .net platform has all these layers over the OS to simulate and handle things which are required but are somewhat incompatible with what the OS is doing.. For instance, domains seem to be a bit like the 'process' equivalent of the .net platform.. Not to mention, where does the runtime fit into all this? There are different runtimes for, for example, asp.net and winforms applications.. Singularity takes the runtime and an application and then compiles it as a whole to create a single optimized binary.. So how are we going to handle this all naming and compatibility wise? Anyway, we really need some sort of design for the kernel, because even at this semi "hello world" level it's starting to become rather chaotic. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ SharpOS-Developers mailing list SharpOS-Developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sharpos-developers