50 likes | 154 Vues
This document outlines the architectural decisions for the Epsilon OS kernel, exploring various design options. We compare a traditional C kernel, which offers flexibility but increases complexity, against a C#/MOSA kernel, which simplifies coding at the expense of flexibility. The analysis indicates that a C kernel provides the best option, allowing for greater freedom and adaptability in the long term. Our plan is to develop the kernel first, ensuring stability, before integrating userspace components to create a robust and unified operating system.
E N D
Epsilon OS design By the Epsilon OS Team
Epsilon OS Design: the kernel This section contains the decisions on the architecture of the kernel
Which design? • C kernel • Provides more flexibility at the cost of making the OS more complex • C/C++/C# userspace • Allows a variety of languages providing freedom and flexibility, at the expense of unity • C# kernel based on MOSA • Loses a lot of flexibility because the whole C# OS design is flawed, but makes the system vastly easier to code • C# userspace • Reduces variety but allows a unified, easy to use API Option 1 Option 2
Review The best option is obvious from this comparison. Option 1 will be our design, as it will allow more freedom. We will transition to a C kernel, and the userspace will be added when the kernel is stable.