Ruddle / Fomos

Experimental OS, built with rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some questions about Fomos

LouChiSoft opened this issue · comments

Hi, I saw this mentioned on rust-osdev.com and I find the idea very interesting but had some questions. Most of these questions are probably gonna be "far future" concerns so I understand if you don't have answers for them right now and I have very little knowledge about OS dev in general so apologies if any of these questions seem to have obvious answers.

  • The apps in this OS are all async functions designed to yield right. So what about applications that launch multiple threads. Apps like games and high performance production software will use many threads. How does that affect the cooperative scheduling aspect of Fomos and what yielding?
  • I've seen you mention you'd want Fomos to be as slim as possible. But do you have any idea of how slim "slim" is? I personally disagree with modern desktop OSes "we can do everything approach" that leaves your machine bloated with features and apps that you will never use that you can't remove. Especially in Windows.
  • As a follow up to the previous question, have you considered a plugin system for Fomos that bundles the features that can't just be replicated with a traditional app that would allow users to decide what they want to have installed based on their use case
  • I saw in #1 you mention issues with regards to things like GPU drivers where to get good drivers you would need vendor support. Have you considered an example that uses something like a Raspberry Pi with a simple GPU driver. I think they have better support for custom drivers, but don't quote me on it.
  • I understand this is a research project, but assuming that it did go somewhere close to being a usable system have you considered how it's unique app runtime nature would interact with the rest of the desktop eco-system? I ask becuase as it stands the entry-point to a Fomos app is very different to any other OS. And developers are lazy and hate having to code platform specific code. Have considered something that would ease this across other platforms?

There are a whole bunch of other questions I'd love to ask, but they all really only matter when you have a viable product to start with and you are building off of that