Hi JamesM,
My OS rewrite (Mattise) is going to be in complete C++ and will abstract all lower-level code into classes (I love polymorphism) so that the OS can be shifted to a new platform by simply modifying a set of low-level routines.
Not to impose any ideas on you guys or anything, but I really think that that's a good plan for any OS written in C++ as long as you do have a good knowledge of polymorphism and classes in C++ and have worked with C++ in a non-hosted environment (like an OS).
Anyone thinking of restarting their OS? Starting afresh?
That's also our plan. I will add my interface design (I was put in charge of some initial design) to the project's wiki for you (if you want to) and the others (you don't get a choice ) to criticize.pcmattman wrote:My OS rewrite (Mattise) is going to be in complete C++ and will abstract all lower-level code into classes (I love polymorphism) so that the OS can be shifted to a new platform by simply modifying a set of low-level routines.
Providing an abstract interface is always a good idea and is not really a language choice. You can do the same thing in C. The abstraction just consists of structures + functions instead of classes. I think C++ here just adds syntactic sugar and makes automatic documentation generation easier.
Why not also use the bridge and abstract factory design patterns. Then you can switch drivers, and probably if designed correctly parts of the kernel, runtrime. This is a theory ofcourse but could work.pcmattman wrote:Hi JamesM,
Not to impose any ideas on you guys or anything, but I really think that that's a good plan for any OS written in C++ as long as you do have a good knowledge of polymorphism and classes in C++ and have worked with C++ in a non-hosted environment (like an OS).
Author of COBOS
Sounds like a good plan. Incidentally I've never been too much of an abstract class factory fan - it smacks of Java to meos64dev wrote:Why not also use the bridge and abstract factory design patterns. Then you can switch drivers, and probably if designed correctly parts of the kernel, runtrime. This is a theory ofcourse but could work.pcmattman wrote:Hi JamesM,
Not to impose any ideas on you guys or anything, but I really think that that's a good plan for any OS written in C++ as long as you do have a good knowledge of polymorphism and classes in C++ and have worked with C++ in a non-hosted environment (like an OS).