That is not something that you traditionally do with managed languages. So far I have had a look at Sharp OS source code, which seems nice, although I am taken aback by the amount of unsafe code that is there. Of course, it is not like there is much choice in the matter.
I was particularly amused by the implementation on inline assembly:
But other pieces of the code are make me feel that I am looking at some... other language:
You can take the kernel out of C, but you can't get the C out of the kernel, I would say.
I took a brief look at the Cosmos code as well, and it is not significantly different. The way both projects go about building kernels with managed languages is to do IL -> assembly translation at some point, and then run that.
Very interesting concept, although one that I have an academic interest at only. At least until they both get a viable TCP/IP stack and I can start using them as embedded systems. Until then, I think that a stripped down Linux + Mono would do the trick fairly well.