5 ms·
very interesting. I would have thought that any practical kernel written in a language with a GC would either have unpredictable slowdowns or be exceedingly com
by cft 9y ago
very interesting. I would have thought that any practical kernel written in a language with a GC would either have unpredictable slowdowns or be exceedingly complex.
- pjmlp 9y agoBlue Bottle OS, the last Oberon OS iteration done with Active Oberon had a video player as part of the standard set of applications. Just because there is a GC doesn’t mean it is the only way to allocate memory.
- jstewartmobile 9y agoWe already sacrifice some silicon for TLBs and other memory management features. Many older architectures sacrificed bits for tag information as well. Perhaps one day we will sacrifice a little more silicon to get performant hardware-assisted GC? Or not.
- pjmlp 9y agoThat is one area RISC-V guys are looking into, with Jikes RVM. "Grail Quest: A New Proposal for HW-Assisted Garbage Collection" (PDF) https://people.eecs.berkeley.edu/~maas/papers/maas-asbd16-hwgc.pdf https://people.eecs.berkeley.edu/~maas/papers/maas-asbd16-hw... Also Intel did have hardware GC with i432, but the chip suffered from many design errors that made it quite slow.
- _ph_ 9y agoI don't think that is a necessity. You can write Go code which doesn't heap-allocate at all - the Go GC is written this way in Go. In any case, you would have very little heap allocations in the kernel space and the GC should be well integrated with the kernel operations.