Try out our web demo! Note: since this is hosted on github pages none of the networking commands work. Clone the repo or check out the video above to see Smiggles' full capabilities!
Inspiration
Windows, MacOS, and a good amount of Linux distributions are way too heavy and waste memory in unnecessary places. We were inspired to build a lightweight operating system that uses memory in all the necessary places to maximize computer performance. Since Smiggles weighs in at 1.44 MB, we've so far accomplished that.
What it does
Smiggles is a 32bit x86 operating system that boots via GRUB Multiboot2 and runs a custom kernel. It's written mostly in C and includes a command interpreter, a custom filesystem, a text editor and BASIC interpreter, user/group privilege support, process management, and a networking stack.
How we built it
We coded it using mostly C, Assembly, and a bit of Python for the package installer. The OSDev wiki was pretty helpful in getting started.
Challenges we ran into
We had trouble adding persistent storage and a networking stack.
Accomplishments that we're proud of
We're pretty proud of getting persistent storage working, since it was the biggest roadblock we've faced and took over a month to figure out.
What we learned
We learned a lot about low level computer architecture, OS development, Assembly, and C.
What's next for Smiggles
Hardening up the codebase, improving the networking stack and process management features, possibly switching to 64bit, eventually adding a GUI.
Log in or sign up for Devpost to join the conversation.