6 ms·
I disagree with the suggested approach of gradual introductions of rust, this would require kernel developers to master both languages and introduce mismatch an
by Chyzwar 8y ago
I disagree with the suggested approach of gradual introductions of rust, this would require kernel developers to master both languages and introduce mismatch anyway.
I think before we jump into writing OS in rust we should first understand what wrong with current dominant Linux. I think we could make a major revision on how computers are built and how should be OS architected to last for another few decades.
- adamnemecek 8y ago> I think before we jump into writing OS in rust we should first understand what wrong with current dominant Linux. Lack of an async API. Bad IPC primitives (how many are there? They are all terrible). The whole "everything is a file" idea. Real time audio. Bash. File systems. The process vs thread distinction. Package management. Permissions. Security model. Scheduler. General cruft. X Server. Battery life. OOM killer. I would much rather hack on a Rust kernel than C.
- AnIdiotOnTheNet 8y agoThere is really just so much that could be done better now that we have decades of hindsight. Sadly, I doubt it'll happen because supporting even a reasonable amount of existing hardware has become an exercise in futility. Theoretically one could start with a well defined subset of hardware, but that would make growth extremely difficult unless that hardware was both inexpensive and common enough for anyone to acquire it easily while also being good enough to cover a lot of use cases (and your OS amazing enough that people would willingly sacrifice to use it). A Raspberry Pi fits this requirement pretty well, but you still don't see useful new OSs on it do you?
- adamnemecek 8y agoRaspberry Pi is a bad target because you are unlikely to make money with your OS and fundamentally you need that to turn the OS into anything serious. The advantage of Rust is that you can split things into modular code bases. Redox is split very nicely. I think that one could start a hosting company and write a hypervisor in Rust.
- AnIdiotOnTheNet 8y agoI guess that's why it hasn't been done. Like too many things people are much more concerned with making money than making things better, so we just keep building on the same pile of garbage we've had since the 70s. I'd hardly call Redox serious, it's a "research OS" with no explicit goals to actually be useful.
- adamnemecek 8y agoCorrect however Redox paves a way. The project is very modular, I can imagine someone coming along and using it as a starting platform and reusing parts of it.
- AnIdiotOnTheNet 8y agoI can imagine a lot of things that will never happen.
- adamnemecek 8y agoBreak down your reasoning to me. Don't look at what it doesn't have, look at what it has.
- AnIdiotOnTheNet 8y agoMy reasoning has nothing to do with what it has, it is about what it is: unambitious. It is unwilling to label itself as something that could ever potentially be a useful replacement for anything, probably because that means it can't be judged for failing to achieve it. Its developers are free to engage in academic exercises which amuse them without regard for practical applicability. And that's fine really, but it is representative of the larger problem: no one capable of pulling it off is willing to be so ambitious. No one is willing to commit to the hard work of making a usable and practical platform, which will undoubtedly involve distasteful compromises and uninteresting work sanding down the rough edges. I'd be glad to be proven wrong on this, but I just don't see it happening.
- iknowstuff 8y agoHow does macOS's kernel compare to Linux?
- blub 8y agoWell, I guess C's wrong with it :) But as nickpsecurity likes to point out, C projects can make use of good, if labour-intensive tools for ensuring safety, so that seems like the logical choice instead of rewriting to languages which haven't proven themselves at the target time and complexity scale.
- tatersolid 8y ago> C projects can make use of good, if labour-intensive tools for ensuring safety I think this has been repeatedly proven false over the last several decades. There really is no way to make C programs safe in practice. It’s time to move on.