Earlier quoted context omitted.
> I vaguely remember hearing about someone trying to use .Net in the Windows kernel. Microsoft did that, it was called Longhorn. That release cycle was long delayed and they abandoned most of its ambitious projects, especially C# in the kernel, and the result was Windows Vista. GC was not the only reason for the failure of that project. Someone could write a book about it. A lot of it was actually more about the orga…
> I think it's possible to write a kernel with GC, and to still be judicious about memory usage with a GC language. ... but I will still afford that it is technically possible. I need to split some hairs for a bit: Do you mean what is colloquially referred to as "GC", as in the dotnet / Java / Javascript / golang "mark-and-sweep", fully-automatic style? Or do you mean other automatic memory management systems, which…
The latter is pretty much the status quo in terms of the state of the art. Most kernels aren't built with automatic reference counting, reference counted objects are plentiful even if more manual, but the automatic part is trivial to add to a C++ code base using smart pointers for example, and things like rust or apple ARC can also do it.
I think the former (a "true" GC that can resolve cycles) could be done in a kernel, it's just not common.
I'm not well versed in this historical example, did the "lisp machine" not have a GC in its OS?