如何在Go boot中编写内核?

如何在Go boot中编写内核?,go,kernel,Go,Kernel,看起来大多数内核都是用C语言编写的,但是昨天在Hackernews上有一个项目叫做 它声称是用Go编写的,尽管其中有一些汇编代码和C代码。所以我的问题是。如果系统可以启动,但它是用Go编写的,那么这样的东西是如何工作的呢?如果你环顾四周,你会发现这张纸()他们使用了一个可以支持Go运行的层,饼干就在这个层上运行 它包含了更多的详细信息,我建议你应该仔细研究一下。我不完全确定这个问题是什么;简洁的回答是“它的引导方式与用任何其他语言编写的内核的引导方式相同”(可能,我不是专家,也没有看过这个项目

看起来大多数内核都是用C语言编写的,但是昨天在Hackernews上有一个项目叫做


它声称是用Go编写的,尽管其中有一些汇编代码和C代码。所以我的问题是。如果系统可以启动,但它是用Go编写的,那么这样的东西是如何工作的呢?

如果你环顾四周,你会发现这张纸()他们使用了一个可以支持Go运行的层,饼干就在这个层上运行


它包含了更多的详细信息,我建议你应该仔细研究一下。

我不完全确定这个问题是什么;简洁的回答是“它的引导方式与用任何其他语言编写的内核的引导方式相同”(可能,我不是专家,也没有看过这个项目)。Go的运行时和标准库的某些部分确实依赖于操作系统,因此他们可能不得不重写其中的一些部分,但我不明白为什么不能在Go中编写操作系统。也许解释一下你对引导过程的理解,以及为什么它只限于某些语言,会帮助人们帮助你。谢谢