9 ms·
The Sortix Operating System
- ra1n85 12y agoThat logo...
- fit2rule 12y ago.. is lovely: https://users-cs.au.dk/~sortie/sortix/screenshots/sortix-needs-a-better-shell.png https://users-cs.au.dk/~sortie/sortix/screenshots/sortix-nee...
- charliefg 12y agoVery cool. I love seeing these home made operating systems. Nice to see an in-house C implementation! The feature list is very impressive. Screen shot of GCC running in the terminal is straight up smooth!
- bjackman 12y agoCool! Why? (I have also spent the last year working on a homebrew OS kernel, so please trust that my "why" isn't intended as an attack! For me, the answer was simply "to see if I can", and I really enjoyed the project, but I'd love to know what motivated you in particular - especially as you seem to have achieved a very impressive amount)
- loudmax 12y agoYes, is there any particular niche this OS is targeting? What are these traditional design mistakes that are being avoided? If the purpose of creating Sortix is simply the challenge of writing an operating system, that's all good too. Best of luck.
- me2you 12y agoFirst mistake to avoid; writing it in C.
- nine_k 12y agoWhat would you use, then? D? C++? (Rust is not ready yet, alas.) For a POSIX-compatible operating system, more exotic choices are probably not available.
- rtpg 12y agoIs Rust not ready? Maybe part of the challenge is writing it in Rust
- nine_k 12y agoImagine that you used std::thread::scoped for a few months in some critical places of your project. If you use a stable language, you can concentrate on the challenges of the actual OS design.
- tshepang 12y agoIn some cases, especially new projects (like a new OS), I think the pain of using an immature-and-powerful language is less than using a mature-and-weak one.
- zokier 12y ago> Rust is not ready yet, alas Was C ready when Ritchie & Thompson wrote Unix with it? > For a POSIX-compatible operating system, more exotic choices are probably not available Why limit to POSIX compatibility?
- nine_k 12y agoRitchie and Thompson also sort of wrote C, at least, some parts of it. I fully understand when Mozilla writes Rust and Servo using Rust. No need to limit things to POSIX compatibility, but merely achieving it is no mean feat — and POSIX is seriously C-oriented. Some people invent a new OS architecture, then implement POSIX on the top of it (see NT) — but this is an order of magnitude harder, I suppose. When you implement a POSIX-compliant OS, you suddenly have a lot of ready-made open-source software that both serves its primary purpose and as an "integration test suite". For a new OS, you have to write most basic userland things yourself. This is again a lot of effort.
- bitwize 12y agoTo paraphrase Cave Johnson, OS dev isn't about why, it's about why not!
- sortie 12y agoAlso to get your OS into space. That's definitely on the bucket list.
- sortie 12y agoSortix is because I want to write a good operating system that I like myself. I do like if it's generally useful.
- moron4hire 12y ago>> There's a lot of technical debt that needs to be paid, but it's getting better. You should just leave these sort of statements out of your introduction. It's generally assumed all projects have some degree of technical debt, and you'll lose more users (i.e. most) than you'd gain (i.e. 0) by trying to treat the subject with candor. In other words, don't sell yourself short. Speak directly to why someone would want Sortix right away. In your intro, speak as if Sortix exists, fully formed, and complete. Let people come to their own conclusions about the quality. For example, I'd rewrite the opening sentence from Sortix is a small self-hosting Unix-like operating system developed since 2011 aiming to be a clean and modern POSIX implementation. To Sortix is a clean and modern POSIX implementation. Believe me, I've never released a project that I thought was complete. That's not because I've never released a project, it's because I'll probably never consider any of my projects "complete". There will always be more to add, more to take away, more to do. It adds nothing to my description to call my projects incomplete. The game is thus figuring out when to cut my engineering-self off and engage my sales-self.
- g1236627 12y agoI highly doubt the target audience care about that..
- moron4hire 12y agoThere is nothing about niche audiences that make them particularly forgiving consumers. Quite the opposite, actually. Niche audiences tend to be the most critical. Don't readily hand them ammunition to dismiss a project early. A niche audience might look past silly logos, or even adopt them wholehearted as part of their "other" identity. But they are still consumers and still need to be marketed to. In this case, a bad logo is better than no logo. But bad copy is just bad copy. Most people won't actually use any particular project they read about. Most of early-stage marketing (and posting links like this to link-share sites like HN) is about gaining mind-share. You're investing time now in getting your name out so that--6 months from now--people who will eventually become your core users will say to themselves, "yeah, I remember hearing about that." And when they say that to themselves, they are going to retain that mental picture of the project from when they first heard about it. If that picture is "incomplete, pie-in-the-sky", then they will continue to think of it as that. You now have to fight against the long-tail of converting people over to the new normal of your project being "complete". Granted, if Jonas Termansen has no interest in having users, then he should just ignore my post completely. But then, why did he prop up a website for his project, a project he's labored on for 4 years now? If you put that kind of effort into something, you owe it to yourself to not sell it short.
- chipsy 12y agoWhy does the logo critter have trapezoid feet?
- breakingcups 12y agoVery cool that it managed to become self-hosting.
- zupa-hu 12y agoIt's amazing how far you got alone. Respect. I'm also too curious on the "why". While I greatly respect the achievement, I'm sad to think it's wasted effort. I deeply wish you have a secret strategy - while I doubt.
- TheCraiggers 12y agoIt's not a wasted effort if the idea was to play and learn. No need to have a marketing strategy for that.
- sortie 12y agoMy utility function is to write a good operating system that I like. Any effort towards that goal is not wasted. If I can use it on my computers, which I can, I'm happy. Note the existence of secondary benefits. Sortix libz is a cleaner fork of zlib, and other portable replacement libraries are underway. Other hobbyist OS developers learn from my work and advise. I make third party projects more portable and file upstream bugs. These things benefit all of us, regardless of the market share of my OS.
- zupa-hu 12y agoI see, cool. Thank you for explaining, I think I didn't get the point. Last point of the Roadmap [1] is hilarious. [1] https://gitlab.com/sortix/sortix/wikis/home#roadmap-to-0-9-release https://gitlab.com/sortix/sortix/wikis/home#roadmap-to-0-9-r...
- bshimmin 12y agoI'm always disappointed when I see a new operating system on here if being able to talk directly to God isn't one of its core features. (But seriously, purely from the feature list, this looks like an incredible achievement.)
- ChikkaChiChi 12y agoI write to /dev/null all the time. You should try it.
- oscargrouch 12y agoSo in the beginnings of time it was /dev/null, but /dev/null felt so empty and lonely; so he created init... but init was envied by his brother systemd, that killed him..
- ChikkaChiChi 12y agoCareful. This story is plagued with daemons and forks.
- bshimmin 12y agoThis comment has been up and down like a yo-yo! For anyone confused, I was referring to TempleOS, which is periodically mentioned in these very halls. Long-form article here http://motherboard.vice.com/read/gods-lonely-programmer http://motherboard.vice.com/read/gods-lonely-programmer (and discussed here https://news.ycombinator.com/item?id=8658283 https://news.ycombinator.com/item?id=8658283).
- zer0rest 12y agoMassive respect for doing this but it saddens me to see that operating systems aren't thinking of anything new. As Rob Pike said, operating systems research is dead. FUCK POSIX.
- TaterJack117 12y agoI always see the person who made this post on OS dev wiki. They are brilliantly helpful and a champion of the hobby OS community.
- ape4 12y agoOff topic, I always thought libm was a bit too brief a name for the math library.
- zokier 12y agoI have always wondered why so many hobby operating systems seem to be so POSIX focused? Why not explore other designs or make your own?
- sporkenfang 12y agoBecause the POSIX standards are laid out and ready to be picked up and implemented. If I were going to learn about operating systems by building an operating system, the first place I would look for a checklist of what is needed would be the POSIX standards. After implementing something similar, I'd start iterating my project into something unique. If you don't know what you're doing, a rulebook is a great place to start.
- mreiland 12y agoexactly. It's a well understood problem which means you can focus on other things.
- sortie 12y agoI assure you there are plenty of room for designing your own operating system even if you implement POSIX. POSIX is a pretty reasonable minimal system interface for C programs. I osdev for fun and to challenge myself and I find a very ample supply of interesting things to work on. If I went and did something different, perhaps in another language, it would likely be equivalent to the POSIX system concepts largely, except custom and probably worse. If I really wanted a custom design, I would want it to be at least a magnitude better.
- hga 12y agoThere's plenty of good prior art to look at, e.g. Multics, ITS (not sure that's at all accessible) and Lisp Machines are my favorites. Even plenty of good stuff in the base Windows 32 API, which was designed with threading in mind.
- zupa-hu 12y agoSortie, would you share what POSIX reference you used for the implementation? I wanted to read and understand it for a while, but I never made through the only one I found [1]. Maybe there are alternative sources? [1] http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html
- heywire 12y agoI've been watching your posts for quite a while at osdev.org, sortie. Great job sticking with this! So many people (myself included) start on an OS dev project only to get bored or give up a few months in. For anyone interested in hobby OS development who isn't familiar with osdev.org, check it out! They have a great wiki with tutorials, as well as discussion forums.
- FreeFull 12y agoI haven't been able to get chvideomode to work under Virtualbox. The OS itself is rather cool, I think I will try to write a simple graphical demo to try it out.
- sortie 12y agoI appreciate you actually trying my OS and leaving a comment. chvideomode really should work under VirtualBox. If there's a bug on my end, I would really like to fix it. Could you show up in #sortix on Freenode IRC for a debugging session?
- zyngaro 12y agoIn C++!. that's cool! But I laughed by just thinking at what Linus Torvalds would say lol.