4 ms·
C#, Go, and Java all go in the same category (roughly)—they wouldn't work for kernel code. Rust will be a valid replacement for C++ kernel code in the near futu
by snazz 6y ago
C#, Go, and Java all go in the same category (roughly)—they wouldn't work for kernel code. Rust will be a valid replacement for C++ kernel code in the near future, I'm sure.
- deleted 6y ago[deleted]
- saagarjha 6y agoWriting the majority of a kernel in those languages is certainly possible.
- pfundstein 6y agoPossible, perhaps, but feasible? Microsoft certainly had a go at it with the likes of Midori and Singularity, but these were met with the same fate that will likely befall any managed code kernel. While it's an honorable pursuit with certain merit, to produce a fully featured OS in this way -- without serious concessions -- is just not feasible.
- pjmlp 6y agoThose projects died due to management politics from WinDev, nothing to do with capabilities. So much that many of the System C# features are now in .NET 5 and other ones will eventually land on .NET 6.
- yencabulator 6y agoHere's a POSIX kernel in Go, written explicitly to prove your point wrong: https://github.com/mit-pdos/biscuit https://github.com/mit-pdos/biscuit https://pdos.csail.mit.edu/projects/biscuit.html https://pdos.csail.mit.edu/projects/biscuit.html
- fulafel 6y agoWhere do you get that? Those have all been used in kernels, they work. Also on another front Apple seems to have already enabled device drivers in user space: https://developer.apple.com/system-extensions/ https://developer.apple.com/system-extensions/
- bitcharmer 6y agoYes, you can use them to play around and experiment with OS-level stuff and even have some fun with it. But you definitely cannot build a performant and robust kernel from scrtach with these languages.
- fulafel 6y ago> you definitely cannot build a performant and robust kernel from scrtach with these languages. I think this is irrelevant (and less importantly, false). Its's fine to use eg se4l as a foundation, or as a incremental step even just have a safety focused driver runtime inside the kernel proper.
- pjmlp 6y agoSure they would, so much that there people doing it right now. https://www.wildernesslabs.co/ https://www.wildernesslabs.co/ https://labs.f-secure.com/blog/tamago/ https://labs.f-secure.com/blog/tamago/ https://www.ptc.com/en/products/developer-tools/perc https://www.ptc.com/en/products/developer-tools/perc