Preface:I am officially announcing the development of
exchOS, on this forum, right now.
Thanks to everybody who helped write the OSDev Wiki, which gave me the idea for this project.
Description:exchOS is a small, heavily modular operating system based around the idea of "
Exchangeables", which are small programs which make up the basis of non-core OS functionality (such as audio, networking, and terminal support), and can be easily swapped out.
It currently has very little code written, and I honestly don't actually know what to make first, but I set up a GitHub repository for source control, and I am ready to accept other contributors to this project.
It is licensed under the GPL version 3, and is coded in C and x86 assembly language.
Design:The system is split into two parts:
1: Kernel Space, which contains the kernel and any other core OS functionality. Everything here runs in Ring 0.
3: User Space, which contains low-privilege, user space applications, which run in Ring 3.
Note: Design is unfinished, more will be added as code is written.FAQ:Q: Is this a toy or a serious project?
A: A bit of both, actually. I don't intend for this to take over my life, but it could be conceivably used in many low-power systems.
Q: Do you even know how to code?
A: I know the basics of C and know a few assembly instructions, and I've read a lot about the theoretical aspects of OSes.
Q: This isn't well-designed enough.
A: That isn't a question, and I know that it isn't, it's still a work-in-progress.
Q: How do I contribute?
A: Just click on the link to the GitHub page, make a fork, make changes, then start making pull requests.
Resources:Source Code:
https://github.com/Terra1/exchOSNote: This is likely to be updated as more aspects of the system and design of the OS are worked out.