当前大多数Linux发行版使用功能强大的glibc(GNU C library)作为C标准库(简称C库),但glibc的LGPL协议存在商用不友好条款,制约了商业Linux发行版的推广.一种可行的解决方案是选择某个与glibc相比尚有功能缺陷但适宜商用的C库加以补全,...当前大多数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库补全工作提供了有效指导.展开更多
Linux内核提供了灵活的内核配置项机制,便于针对不同的应用场景进行个性化定制.但内核配置项的数量巨大且增长快速,配置项的默认值在不同内核版本中经常改变,即使专业的内核团队设置配置项也面临很多挑战.针对上述问题,提出基于多标签...Linux内核提供了灵活的内核配置项机制,便于针对不同的应用场景进行个性化定制.但内核配置项的数量巨大且增长快速,配置项的默认值在不同内核版本中经常改变,即使专业的内核团队设置配置项也面临很多挑战.针对上述问题,提出基于多标签的内核配置图,该图包含内核配置项间的依赖关系、功能标签、性能标签、安全标签和配置项使能率.此外,该图提供了可视化功能,更加直观、高效、人性化.该内核配置图在内核配置项异常值检测、内核启动优化、内核裁剪、内核安全增强、内核性能优化、内核配置项智能问答等场景均可应用.且将内核配置图应用到检索场景,实现了面向内核配置项的检索框架KCIR(kernel config information retrieval),该框架基于内核配置图对查询语句和内核配置项描述文本进行了扩展,实验评估表明KCIR和传统检索框架相比,检索效果有显著提升,验证了内核配置图在实际应用中的有效性和实用性.展开更多
文摘Linux内核提供了灵活的内核配置项机制,便于针对不同的应用场景进行个性化定制.但内核配置项的数量巨大且增长快速,配置项的默认值在不同内核版本中经常改变,即使专业的内核团队设置配置项也面临很多挑战.针对上述问题,提出基于多标签的内核配置图,该图包含内核配置项间的依赖关系、功能标签、性能标签、安全标签和配置项使能率.此外,该图提供了可视化功能,更加直观、高效、人性化.该内核配置图在内核配置项异常值检测、内核启动优化、内核裁剪、内核安全增强、内核性能优化、内核配置项智能问答等场景均可应用.且将内核配置图应用到检索场景,实现了面向内核配置项的检索框架KCIR(kernel config information retrieval),该框架基于内核配置图对查询语句和内核配置项描述文本进行了扩展,实验评估表明KCIR和传统检索框架相比,检索效果有显著提升,验证了内核配置图在实际应用中的有效性和实用性.