TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Redox: A Rust Operating System

194 pointsby mfinchamover 9 years ago

9 comments

acconstaover 9 years ago
I know this is a young project, but right now it looks like a terrible waste of Rust&#x27;s features. Raw pointers everywhere, most allocations unchecked, and <i>264</i> unsafes in just the kernel.<p><i>unsafe</i> is a necessary escape hatch, but the temptation to use it to write C-style code is strong.
评论 #10300520 未加载
评论 #10300441 未加载
k__over 9 years ago
Rust really seems like the next step in system programming.<p>Would it be possible to have this lifetimes&#x2F;borrowing stuff in a scripting language?<p>Like, I care about who owns something, but I don&#x27;t care about what something is?
评论 #10296769 未加载
评论 #10296411 未加载
评论 #10297208 未加载
nickpsecurityover 9 years ago
The blog was a good read. I agree with acconsta that the description doesn&#x27;t seem to utilize Rust&#x27;s better attributes. Plus, that it&#x27;s &quot;starting to look like Linux&quot; (author) may or may not be good. I&#x27;d look at Wirth&#x27;s Oberon or A2 Bluebottle for a simpler start: type-safe, memory-safe (mostly), GC&#x27;d OS with good documentation, source available, and a simplicity focus for easy re-implementation. Rust, in theory, can do whatever it did and faster.<p>Additionally, if doing clean-slate, might be worth looking into alternative models for constructing or securing OS&#x27;s. EROS security OS, SPIN OS&#x27;s type-safe linking for acceleration, Minix 3&#x27;s reliability scheme, JX OS&#x27;s architecture, Microsoft&#x27;s verified VerveOS scheme, maybe even Amoeba distributed OS just for kicks to see what it could do today. Lot of stuff that might be better than Linux model with a Rust implementation in terms of reliability, security, extensibility, or developer productivity.<p>Just a thought for Redox author or someone else wanting to try an OS in Rust. However, best thing to come out of Redox project, imho, isn&#x27;t the OS so much as this article:<p><a href="https:&#x2F;&#x2F;redox-os.org&#x2F;index.php?controller=post&amp;action=view&amp;id_post=5" rel="nofollow">https:&#x2F;&#x2F;redox-os.org&#x2F;index.php?controller=post&amp;action=view&amp;i...</a><p>Great write-up on an equally great strategy of developing with hardware that&#x27;s well-supported by both native OS&#x27;s and virtualization. That&#x27;s worth copying and expanding in other projects. Maybe worth a dedicated list like the HCL&#x27;s where there&#x27;s a list of computer builds that are easiest to develop on with or without virtualization. Or list it one piece of hardware at a time.
评论 #10301583 未加载
评论 #10300568 未加载
jackpot51over 9 years ago
I am Jackpot51, I wrote Redox and would be able to confirm with a master push.<p>To start, this wasn&#x27;t supposed to be public yet. I was preparing cleanup before release, and I hope it is not seen as complete.<p>I am excited to see how much attention this has gotten, and I would be willing to answer any questions about Redox, how to use it, and how to contribute.<p>I have a blog at <a href="https:&#x2F;&#x2F;redox-os.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;redox-os.org&#x2F;</a> where I recently posted screenshots.<p>We can IRC at irc.mozilla.org #redox
nojaover 9 years ago
&quot;Redox is not correct, secure, or documented. It does a lot of things in a cavalier, leave it up to the application, manner. Applications can malloc and forget to free, Redox will not clean this up. Applications can access missing memory or kernel memory, Redox does not care. All applications run in Ring 0, and have all permissions. Some syscalls use vtables that rely on exactly the same struct defintions in userspace as kernel space. Syscalls cannot return values, except by writing them into a passed pointer. Memory allocation is done in the application, and uses a global memory allocation table that applications directly modify. None of its functionality is documented, outside of example source files.&quot; -- <a href="https:&#x2F;&#x2F;redox-os.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;redox-os.org&#x2F;</a><p>Yikes!!!
评论 #10296162 未加载
评论 #10296382 未加载
评论 #10297659 未加载
评论 #10296130 未加载
评论 #10296104 未加载
Jhstoover 9 years ago
I do not understand much about low level languages or operating systems, but could someone explain why does this project need C in its codebase?
评论 #10296193 未加载
评论 #10296273 未加载
评论 #10298254 未加载
评论 #10300553 未加载
tallesover 9 years ago
&gt; Redox is a Rust based operating system, designed to be modular and well documented.<p>How does one <i>design</i> something to be well documented?
评论 #10298473 未加载
评论 #10297975 未加载
评论 #10298095 未加载
评论 #10300549 未加载
评论 #10298059 未加载
评论 #10297734 未加载
brianclementsover 9 years ago
Can someone clarify, but it looks like it&#x27;s going to be a monolithic approach here correct?
评论 #10299819 未加载
cghover 9 years ago
Judging by the syscall implementation, seems to be 32 bit only? Apologies if I missed something in the docs, such as they are.