In the era when system research is dying [1], the only saving graces are the Nix/Guix for OS management improvement and perhaps eBPF for OS performance enhancement. The Winix OS is a breath of fresh air in term of potential OS directions.<p>Like they have always said, timing is everything and probably this is the project similar to Apple's Newton project that have many goods in it but just born several years too early.<p>Winix targets RISC architecture and with RISC-V taking off exponentially at the very moment, having RISC biased OS will definitely provide edges and advantages for the platform, similar to x86 quirks to Linux, and Linux taking advantages when x86-32 and x86-64 took off.<p>This year when Linus was asked for the best Linux achievement compared to other OS, Linus has pointed out the innovative Linux based lock-free filesystem [2]. Winix has built-in innovative POSIX compatible in-memory file-system (IMFS) by default. Imagine an OS with IMFS that's also natively compatible with the increasingly popular Arrow and TileDB in-memory format. With Terabyte (TB) RAM computers becoming the norm in the near future this can easily be the fastest OS with the state-of-the-art filesystem around. Fuschia is another latest OS on-the-block but by focusing on the mobile rather than desktop it will probably optimized for the former, unlike Winix.<p>[1]<a href="https://tianyin.github.io/misc/irrelevant.pdf" rel="nofollow">https://tianyin.github.io/misc/irrelevant.pdf</a><p>[2]<a href="https://www.tag1consulting.com/blog/interview-linus-torvalds-linux-and-git" rel="nofollow">https://www.tag1consulting.com/blog/interview-linus-torvalds...</a>
I'm curious about the hardware it runs on, and didn't immediately find answers on Google. Could you talk about what hardware is on a usual system and what device drivers need to do for screen, serial port, disk drives, etc.? Does the CPU use floating point?<p>The reason I ask: for the past six months I've been dipping my toes in OS development for x86 with BIOS, SVGA and ATA interfaces: <a href="https://github.com/akkartik/mu" rel="nofollow">https://github.com/akkartik/mu</a> And I'm <i>way</i> out of my depth. I have this suspicion that x86 might be one of the more difficult environments for device drivers, so I'm curious to hear what other hardware looks like.
I shared a co-working space with a guy who had written a distributed OS for rendering; it was quite neat - but about 1000 man years from being usable.<p>I felt sad for him - he'd poured his heart into it for more than 10 years (he said) and had no idea of how to turn it into anything other than a hobby project. He hadn't open sourced it, his aspiration was that "Facebook will buy it". I haven't seen him since the pandemic kicked in.
Hey, another Kiwi!<p>The about section says "A UNIX-style Operating System for the Waikato RISC Architecture Microprocessor (WRAMP)". Did you study at Waikato?<p>I'm curious what you think about tech in general in NZ as well. Compared to the US it feels like there's practically no community :/.
Congratulations. I did the same thing in the early 90's and I still think it is the project that I learned by far the most from. I never released it because I think its time has passed but it was a fun exercise. Debugging the early stages of such development is super hard, especially if you are doing it on bare metal instead of on a VM.<p>Do you have a plan behind this or was it just to scratch an itch?
Request:<p>Make a blog post on the experience. What does the heatmap of changes look like over 5 years? I cant imagine you burnt the candle on both ends for that whole time.<p>What is the final lines of code?<p>What blockers did you not anticipate that killed a lot of time? Hardest problem?<p>I think you've got a treasure of interesting retrospectives to share :)
I just generally have tremendous respect for someone who even attempts to build an OS from scratch. You kept at it and didn't give up. Great work.
5 years is a long time. If I recall correctly, Linus took one year to churn out his first usable Unix clone. I wonder why this project took so much more time.<p>PS: This is not a criticism but genuine curiocity why basic OS projects are so expensive given so much already out there. Also, Linus spent majority of hours each day for a year while this might be just a side gig for you.
That's great! Thanks for sharing it.<p>I'll probably never have a use for it, myself, but I am always in support of passion projects.<p>Good luck!
Oh my. Minix1. That predates me and my gray hairs.<p>I at least got Minix 2 with the printed source code in AST's book. Minix 2 was so annoying on real PC hardware that I had to stick a keyboard repeat rate and delay patch whenever I used it. It was all straightforward and the lab assignments on it were easy because it was built for tinkering rather than efficiency.<p>My uni replaced FreeBSD as the teaching operating system of choice. They also go rid of Oracle DBMS# for Postgres.<p># Many, many moons ago I nearly got Aaron Swartz'ed. This is because I tried browsing "proprietary" docs using a Java-based internet proxy to bypass IP ACLs from my "off-campus" location. It was clearly located in North Korea. Then, the browsing was so slow (like Tor but even worse), I figured: <i>Why not mirror it locally instead?</i> And, what kind of documentation "toilet-paper" police are going to sit there watching interactively or SNORT monitor what happens to "precious" corporate documentation they forced me to use?
Ok, I'll ask - why?<p>You have made it POSIX-ish but wouldn't one goal be to create something new ? I imagine that you just wanted to use a bunch of POSIX tools but won't that limit you in some way?