If one were to create a custom OS for a DIY microcontroller-based device (for example a cyberdeck or a feature phone), what unorthodox design decisions could they take to make to make the OS interesting from a computer-theoretical standpoint? Two examples that come to my mind are: designing the OS to be used on a heterogeneous set of cores, each having different performance and capabilities; and making all executables sandboxed via WebAssembly, with configurable privileges.
Creating a custom OS for a DIY microcontroller-based device with unique and theoretically interesting design decisions can lead to fascinating and innovative results. Here are several unorthodox ideas you might consider:
As you mentioned, using a heterogeneous set of cores with different performance and capabilities can lead to interesting challenges and solutions:
- Dynamic Task Allocation: Develop algorithms for dynamically allocating tasks to the most appropriate core ba