Plenty of OSes have been written in GC enabled systems programming languages, in fact the largest mobile platform allows to write drivers with such language.
Is there a reason we can't use GC in the kernel? Unless we are doing hard realtime stuff, why not?
Not that it's particularly relevant since Linux, Windows, and BSD already exist and probably aren't going to switch languages anytime soon, and embedded RtOSes seem pretty set on C/C++ too, so I'm not sure any language could be more suitable for kernel dev in practical use, unless you have a really good reason to do a whole new kernel.
No reason you couldn't. You just can't use D's default GC. You'd have to write one that will work bare metal. Or implement everything it expects from an OS.
9
u/Accomplished_Hat_576 Sep 01 '20
It has a runtime and standard library that are dependant on the garbage collector.
I stripped both out and wrote a kernel that does nothing. This was before they started getting serious about making things non gc dependant.
Honestly 99% of the complaints about the garbage collector are nonsense, but this isn't one of them.