Announcement

Collapse
No announcement yet.

Redox OS Exploring Coreboot Payload, Other Improvements

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

  • #11
    Originally posted by kaprikawn View Post

    The stated goal of Redox is to have an OS written in Rust. X11 isn't written in Rust, it has a massive codebase, and it is legacy now. So porting it would be a mammoth task and be incredibly dumb. Whereas Wayland is a relatively small protocol, they could easily write something in Rust that could use it. I'm not saying they should, but Wayland is at least an option.
    Not to mention that XWayland is essentially the same idea as "implement OpenGL on top of Vulkan". Have a relatively small API that follows modern best practices for performance, then provide an implementation of the old API on top of it that everyone can share.

    Comment


    • #12
      Originally posted by cl333r View Post

      My issue with Rust is parent-child relationship which can't be implemented "natively", either use Rc<RefCell<>> + Weak<RefCell<>>, or a third party library that does God knows what under the hood. I wonder how Redox implements its parent-child logic if any.
      If you mean Graph-Structures with parent-child relationship than there is a pattern that is very common in the rust eco system. The "naive" approach – often used in C/C++ – is not working at all in Rust, as you already mentioned. What many people adopting in Rust is a pattern that is often used in game programming/engines that is called ECS. Various variations can be found either with third party libs or simple one time implementations (of course you want a better way to generate the IDs such as generational indexes and mind you, the example is not really a ECS). These structures are often faster than the approaches one is used to because of better memory layout which was the reason to use it with C/C++ in games engines in the first place and it turns out very useful in Rust, too.
      Last edited by lordnaikon; 23 February 2019, 08:00 PM.

      Comment


      • #13
        Originally posted by cl333r View Post

        My issue with Rust is parent-child relationship which can't be implemented "natively", either use Rc<RefCell<>> + Weak<RefCell<>>, or a third party library that does God knows what under the hood. I wonder how Redox implements its parent-child logic if any.
        Do you mean classic inheritance? In such case Rust prefers composition.

        https://en.wikipedia.org/wiki/Compos...er_inheritance
        Last edited by shmerl; 24 February 2019, 02:56 AM.

        Comment


        • #14
          And here go two pages of the (off-topic?) comments at coreboot-releated thread that do not mention the coreboot opensource BIOS :P

          In order for Redox OS to succeed as coreboot's internal part, they should somehow fit it (maybe with LZMA compression) to about 3MB - so that, together with almost 1MB coreboot, this Redox OS would be able to fit to a standard 4MB BIOS chip. If they can do this, then it could succeed

          Comment

          Working...
          X