4 ms·
Well, it's the first OS that isn't built on C/C++ (unsafe languages). That alone is a huge step forward for security and correctness. And it seems to improve on
by tormeh 9y ago
Well, it's the first OS that isn't built on C/C++ (unsafe languages). That alone is a huge step forward for security and correctness. And it seems to improve on Linux on most ways, which is nice. Sure, besides Rust there aren't any new big ideas going on in Redox, but is there anything better out there? Rust+microkernel sounds like state-of-the-art to me.
- busterarm 9y ago> Well, it's the first OS that isn't built on C/C++ (unsafe languages)... This isn't even remotely true, but we're in the age of short memories. There have been several operating systems built in Java within our (careers') lifetimes. And dozens of operating systems that predate C. https://en.wikipedia.org/wiki/Timeline_of_operating_systems https://en.wikipedia.org/wiki/Timeline_of_operating_systems There's nothing preventing other operating systems from being written in a safe way -- they just aren't. There are also multiple definitions of the word "safe". As in, "BSD or Linux are safe to bet the software architecture of my multi-million systems budget". No new ideas mean no reason for me to even consider adoption until it reaches critical mass. Maybe in a decade I'll give it a look. Edit: Multics was written in PL/I, which itself just had a new stable release this past September... Edit2: Redox isn't really that safe even. It's pretty cavalier and leaves a lot up to the application. It uses the unsafe parts of Rust a bit. An application can still malloc and forget to free -- so aren't you right where you started? Really every time this comes up, I would like to posit that "people evangelizing Redox don't even know what the f* they're talking about", but I honestly don't have time outside of my real work to dig into the thing. jackpot51 is fantastic at PR for his project though, and I don't want to discourage anyone from working on. It's good that it has an active community, I just don't need to hear about it. Edit3: Checking Redox' source shows that about 1.5% of the code invokes 'unsafe' and they cite this in their documentation, but what I really want to know is how frequently those lines of code are called.
- antpls 9y ago>Edit3: Checking Redox' source shows that about 1.5% of the code invokes 'unsafe' and they cite this in their documentation, but what I really want to know is how frequently those lines of code are called. I never used Rust but looked at it several times over the past years. Doesn't the 'unsafe' classification allow for future automated tools/theorem provers to challenge those specific lines? Looking for vulnerabilities/bugs in only 1.5% of the code instead of the entire code base sounds like a nice improvement.
- steveklabnik 9y agoNot today, but we hope tomorrow. We're working on it.
- verletx64 9y ago> An application can still malloc and forget to free -- so aren't you right where you started? The upside of invoking unsafe means that you were able to find out that 1.5% of the code is unsafe and you are able to focus in on it. Put another way, it makes the haystack significantly smaller.
- renox 9y agoOnly if you created a 'safe API' on top of the unsafe code otherwise the bug could be everywhere.. I remember a SSL bug which was really an API bug: it isn't always easy to create a 'safe' API..
- deleted 9y ago[deleted]
- pjmlp 9y ago> Well, it's the first OS that isn't built on C/C++ (unsafe languages). That was in 1961 at Burroughs, using ESPOL. There were plenty of OS being built in Algol and PL/I variants outside AT&T walls since the 60's. History is full of OS written in other languages that weren't either C or C++, including Apple's Lisa OS and the first editions of Mac OS.