摘要

现代操作系统的内核均由诸如C等低级语言进行开发,虽然C语言的底层操作能力对内核很有帮助,但是也因此带来许多缺陷和漏洞。用高级语言开发的内核可以规避很多潜在风险,但是可能付出的代价是性能的降低。文中用Go语言实现内核的网络堆栈子系统,与用C语言开发的子系统进行对比,设计实验场景测试其各种性能参数,用以评估用高级语言开发内核的优势和缺点,从而得出使用高级语言开发内核模块是切实可行的。该文主要实现的网络协议包括Ethernet、ARP、IPv4、ICMP、UDP和TCP。

全文