"In kernel development, debugging is very hard for several reasons:
- Documentation is often hard to find, and BIOS implementations may be flawed (more often than you would think)
- On boot, the kernel has full access to the memory and is allowed to write where it should not (its own code, for example)
- Troubleshooting memory leaks is not easy. Tools such as valgrind cannot be used
- gdb can be used with QEMU and VMWare, but the kernel may have a different behaviour when running on a different emulator or virtual machine. Also, those emulators may not support gdb (example VirtualBox)
- Some features in the support for gdb in QEMU or VMWare are missing and gdb might even crash sometimes
All those issues are reasons for using a memory-safe language, to avoid them as much as possible.
Overall, the use of Rust in the kernel allowed for the implementation of a lot of safeguards. And I believe that it is, to this day, the best decision I have made for this project.
asdfasdfasdf@lemmy.world 1 year ago
Contributing to Linux can be extremely daunting. Refactoring can be as well. Rust makes both of those a LOT easier. If a project is written in Rust instead of C there will be many more potential contributors and flexibility.
Adanisi@lemmy.zip 1 year ago
And Rust has a restrictive trademark policy which could theoretically cause problems.
Just, why, Mozilla?