计算机研究与发展2023,Vol.60Issue(7) :1514-1532.DOI:10.7544/issn1000-1239.202220772

openEuler中C标准库替换的兼容性分析

Compatibility Analysis of Standard C Library Substitution for openEuler

吴亦泽 于佳耕 郑晨 武延军
计算机研究与发展2023,Vol.60Issue(7) :1514-1532.DOI:10.7544/issn1000-1239.202220772

openEuler中C标准库替换的兼容性分析

Compatibility Analysis of Standard C Library Substitution for openEuler

吴亦泽 1于佳耕 2郑晨 2武延军3
扫码查看

作者信息

  • 1. 中国科学院软件研究所 北京 100190;中国科学院大学 北京 101408
  • 2. 中国科学院软件研究所 北京 100190
  • 3. 中国科学院软件研究所 北京 100190;计算机科学国家重点实验室(中国科学院软件研究所) 北京 100190
  • 折叠

摘要

当前大多数Linux发行版使用功能强大的glibc(GNU C library)作为C标准库(简称C库),但glibc的LGPL协议存在商用不友好条款,制约了商业Linux发行版的推广.一种可行的解决方案是选择某个与glibc相比尚有功能缺陷但适宜商用的C库加以补全,从而制成新的C库以替代glibc.开源欧拉(openEuler)操作系统社区以MIT协议的musl libc作为新的C库选型.新C库对已有应用软件的兼容是成功替换的关键,而精确的兼容性分析算法不仅可以定位缺失API,还可以量化计算兼容性和API补全的优先级.为此,提出兼容性分析算法来研究openEuler的 4种主要软件生态中的musl libc兼容性和缺失API优先级.基于应用软件包之间的依赖关系和谷歌PageRank算法的思想,提出了PackageRank算法和APIRank算法,分别用于软件包兼容性度量和优先级计算.这2种算法提供了系统个性化兼容分析的方法,所需信息易于获取,适用于缺乏用户数据统计的、尚不完整而仍有开发需求的系统及构件.这 2种算法在musl libc上的分析结果清晰准确,与软件生态的特点和现状相符,与musl libc的国际社区开发者的观点接近,为openEuler的新C库补全工作提供了有效指导.

关键词

兼容性/C标准库/应用程序编程接口/musl/libc/开源欧拉

引用本文复制引用

出版年

2023
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
参考文献量1
段落导航相关论文