检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:柴艳娜[1] CHAI Yanna(Information and Network Management Office,Chang’an University,Xi’an 710064,China)
机构地区:[1]长安大学信息与网络管理处,陕西西安710064
出 处:《电子设计工程》2021年第13期34-37,42,共5页Electronic Design Engineering
摘 要:现代操作系统的内核均由诸如C等低级语言进行开发,虽然C语言的底层操作能力对内核很有帮助,但是也因此带来许多缺陷和漏洞。用高级语言开发的内核可以规避很多潜在风险,但是可能付出的代价是性能的降低。文中用Go语言实现内核的网络堆栈子系统,与用C语言开发的子系统进行对比,设计实验场景测试其各种性能参数,用以评估用高级语言开发内核的优势和缺点,从而得出使用高级语言开发内核模块是切实可行的。该文主要实现的网络协议包括Ethernet、ARP、IPv4、ICMP、UDP和TCP。The kernels of modern operating systems are implemented by lower-level language such as C.Although the low-level functionalities of C are helpful within kernels,they also give rise to many classes of bugs.Kernels written in higher level languages avoid many of these potential issues,at the possible cost of decreased performance.This research evaluates the advantages and disadvantages of a kernel written in a higher-level language.To do this,the network stack subsystem of the kernel was implemented in Go and compared to a representative network stack written in C.Modules for the major networking protocols,including Ethernet、ARP、IPv4、ICMP、UDP and TCP,were implemented.
关 键 词:内核 网络堆栈 TCP/IP协议栈 Go语言 LINUX
分 类 号:TP309[自动化与计算机技术—计算机系统结构]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.7