50 likes | 178 Views
This document outlines the architectural decisions for the Epsilon OS kernel. It evaluates different design options, including a C kernel which offers flexibility but increases complexity, and a C#/MOSA-based kernel that simplifies coding at the cost of flexibility. The conclusion favors the C kernel for its ability to support a diverse userspace while maintaining system integrity. The transition plan includes developing a stable kernel before introducing the full userspace, highlighting the importance of a robust foundation in operating system architecture.
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.