Announcement

Collapse
No announcement yet.

Rust-Written Redox OS Closer To Self-Hosting

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rust-Written Redox OS Closer To Self-Hosting

    Phoronix: Rust-Written Redox OS Closer To Self-Hosting

    The Redox operating system, the interesting original OS written around the Rust programming language, is closer to self-hosting as a result of this year's Google Summer of Code...

    http://www.phoronix.com/scan.php?pag...C-Self-Hosting

  • #2
    This OS keeps making impressive progress. Can't wait to test a stable release...

    Comment


    • #3
      I'm a bit concerned about the memory-related security issues in this project. Maybe they should rewrite it in Rust

      Comment


      • #4
        Why a microkernel when you're crash-safe at compile time? I understand that stable interfaces can be reasonable if you're not Linux, but if "micro-kernel" means address space isolation then I don't get it. If it just means _semantic_ microkernel as in compile-time isolation, stable API or software-isolation as in singularityOS then okay

        Comment


        • #5
          Originally posted by thechef View Post
          Why a microkernel when you're crash-safe at compile time?
          Who say its crash save? ofc, it can crash but it don't corrupt the memory.

          Comment


          • #6
            Originally posted by Nille View Post

            Who say its crash save? ofc, it can crash but it don't corrupt the memory.
            Agreed, but that's why we traditionally use microkernels - so modules don't corrupt each others memory, right?

            There sure are other isolation issues, but I'm pretty sure that those can be handled at compile time or other lean language-level mechanics while still maintaining expressive turing-completeness.

            Comment


            • #7
              I'm a fan of Rust but I wonder how do RedoxOS people dial with the continuous changes in the language and/or libraries, how do they keep aligned such big codebase ??

              Comment


              • #8
                Originally posted by man-walking View Post
                I'm a fan of Rust but I wonder how do RedoxOS people dial with the continuous changes in the language and/or libraries, how do they keep aligned such big codebase ??
                What continues changes? Rust is pretty stable and backwards compatible.

                Comment


                • #9
                  Originally posted by thechef View Post
                  Why a microkernel when you're crash-safe at compile time? I understand that stable interfaces can be reasonable if you're not Linux, but if "micro-kernel" means address space isolation then I don't get it. If it just means _semantic_ microkernel as in compile-time isolation, stable API or software-isolation as in singularityOS then okay
                  A kernel and drivers have to access hardware. That is, you have to use unsafe Rust on certain regions.

                  Comment


                  • #10
                    Redox OS's Ion Shell is also pretty amazing, even on Linux / BSDs. It has a ton of features that you won't find in any other shells, and executes scripts 30-50% faster than Dash. Supports a simpler shell syntax that has the ability to configure 24-bit colors, string/array methods to eliminate the need for external commands for text manipulation, the ability to load external plugins to add more namespaces and methods, using functions within pipelines, arrays as separate first class citizens rather than conglomerating them with strings, and a number of useful builtin commands -- such as regex-based string match evaluation with the matches builtin.

                    Code:
                    echo ${color::bold,red,whitefg}Bold red text with a white background.${c::reset}
                    echo ${color::0xF90}24-bit orange color${c::0x0090F0}24-bit blue color
                    echo $method1($method2(input, arg), arg)
                    for character in @graphemes("string"); echo $character; end
                    let file_as_array = [ @lines($read("file.txt")) ]
                    if matches Foo '([A-Z])\w+'; echo true; else echo false; end
                    function1 | function2 arg arg | builtin | external

                    Comment

                    Working...
                    X