带你读《2022龙蜥社区全景白皮书》——5.2.2 面向芯片研发和验证的操作系统SiliconFastOS

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《2022龙蜥社区全景白皮书》——5.2.2 面向芯片研发和验证的操作系统SiliconFastOS

5.2.2 面向芯片研发和验证的操作系统SiliconFastOS


背景介绍


随着ARM和RISC-V芯片研发的大爆发,越来越多的芯片设计、制造厂商甚至是云厂商都开始参与到芯片领域中来。面对芯片使用者 尤其是处理器芯片与日俱增的需求,且芯片研发研发和流片成本高,芯片制造厂商必须要提高芯片质量,并缩短芯片研发周期,迅 速对市场作出反应,实现产品的快速迭代。借着ARM和RISC-V架构更加开放的生态,业界陆续提出了了芯片敏捷开发方案。


技术方案


芯片验证时,软件运行在FPGA平台上。具有运行速度慢、硬件变化快且没有ROM等特点。造成了在基于OS的芯片验证过程中OS启 动速度慢、命令行工具不够丰富、却少芯片验证环境、灵活性差和使用成本高等困难。为了解决这些问题,龙蜥社区开发了芯片验 证操作系统SiliconFastOS。SiliconFastOS具有OS启动加速、丰富的命令行工具、原生验证环境、灵活的配置手段和开箱即用等特 点,可以帮助提高芯片验证效率,缩短芯片研发周期。


image.png


1. 最小化rootfs,SiliconFastOS尽可能去掉在开发过程中不会使用到的命令,从而减少内核解压rootfs和创建页表的时间。此外,SiliconFastOS内建build system,支持使用者选择单个软件包中的单个命令来构建最终的rootfs,可以在尽可能减小rootfs大小的前提下,提供丰富的命令行工具,兼顾启动速度和rootfs镜像大小。


2. 裁剪内核。SiliconFastOS去掉了在芯片验证阶段不会使用的内核驱动,裁剪内核镜像的大小。SiliconFastOS还使用了PCIe delay等方式进一步缩短OS。


3. 原生芯片验证环境。SiliconFastOS内部提供了轻量级内核异步单元测试框架Munit,帮助开发,管理、运行大量的内核单元测试用例。还提供了芯片验证测试框架Bee,可以和Munit搭配使用,同时管理内核和用户态的测试用例。此外,还包含了丰富的芯片验证工具集,帮助开发者快速定位和修复软硬件bug。


4. 一键编译,开箱即用。SiliconFastOS内部使用Kbuild搭建,和linux内核一脉相承,开发者可以快速上手,利用Kbuild灵活配置rootfs软件包和内核,一键生成最终OS镜像。



技术优势


基于OS的端到端芯片验证系统

传统的基于固件和硬件的芯片验证方案在芯片级仿真、调试、硬件固件交互方面有其特有的优势,但随着软硬件融合程度加深,需要更多的端到端验证方案来验证硬件设计对上层应用的影响。相比于固件和硬件方案,基于OS的芯片验证系统在灵活性、软硬件协同、对端到端真实场景的模拟、还有工具生态丰富度上面都有其得天独厚的优势。在此基础上,SiliconFastOS还提供了Bee + Munit组成的原生芯片验证环境,帮助使用者开发,管理和运行大量的端到端测试用例。使用SiliconFastOS + Bee + Munit的组合方案,可以帮助芯片在流片前评估硬件设计对上层应用的影响,大大降低了各种软硬件协同设计、硬件加速器和异构硬件设计的流片风险。



应用场景


Sliconfastos(开源链接:alibaba/SiliconFastOS (github.com),在倚天710上得到了很好的应用,作为端到端的验证系统与硬件验证协同配合,从而进一步提高了倚天710的研发效率。Sliconfastos作为通用的芯片验证系统解决方案,可以有效帮助提高芯片验证的研发效率,目前也支持了RISCV架构,可以在不同的平台和架构的芯片验证平台(如:仿真,FPGA)中使用。



相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
18天前
|
安全 Anolis
龙蜥社区落地开源生态发展合作倡议,构建开放兼容的操作系统生态
通过共同努力,三个社区基于服务器操作系统场景,在操作系统内核等关键共性技术链统一方面达成了一致。
|
15天前
|
人工智能 安全 Android开发
移动应用开发与操作系统的深度协同:构建高效、安全的移动生态####
【10月更文挑战第21天】 本文深入探讨了移动应用开发与移动操作系统之间的内在联系与相互影响,强调了两者在构建高效、安全移动生态系统中的关键作用。通过分析当前主流移动操作系统(如Android、iOS)的特性及发展趋势,结合移动应用开发的最新技术与挑战,本文旨在为开发者提供一套全面的理解框架,以促进更加协同高效的应用开发实践。 ####
49 18
|
8天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
35 4
|
2月前
|
机器学习/深度学习 人工智能 Android开发
移动应用开发与操作系统的协同进化:探索现代技术融合之道###
随着移动互联网的迅猛发展,移动应用已成为人们日常生活中不可或缺的一部分。本文深入探讨了移动应用开发的最新趋势、关键技术以及移动操作系统的发展如何相互促进,共同推动移动互联网的创新与变革。通过分析当前市场动态和技术挑战,本文旨在为开发者提供有价值的见解和指导,帮助他们在竞争激烈的市场中脱颖而出。
|
19天前
|
数据可视化 关系型数据库 MySQL
阿里云开发者社区12月更文特别活动分享:🌍PolarDB、🧹OS Copilot和🧰云效Flow深度体验
本文深入探讨了阿里云的三款核心产品:PolarDB MySQL、OS Copilot和云效Flow,分别聚焦于云数据库、系统运维和DevOps流程管理的功能、表现及优化建议。通过多场景评测与实验,展示了这些产品在提高效率、简化操作和增强系统稳定性方面的显著优势。
|
2月前
|
vr&ar Android开发 开发者
移动应用开发与操作系统的协同进化####
本文探讨了移动应用开发的最新趋势以及这些趋势是如何影响和推动移动操作系统发展的。通过分析当前市场上主流移动操作系统的特点,本文揭示了开发者在选择平台时需要考虑的关键因素,并展望了未来移动应用与系统之间可能的融合方向。随着技术的不断进步,两者之间的界限越来越模糊,合作与共生成为行业发展的新趋势。 ####
35 6
|
2月前
|
人工智能 前端开发 物联网
移动应用开发与操作系统的协同进化
本文探讨了移动应用开发与移动操作系统之间的相互影响和共同进步。随着技术的不断发展,两者之间的关系越来越紧密,推动了移动互联网行业的繁荣。文章从移动应用开发的历程、移动操作系统的发展以及二者如何相互促进进行了详细阐述,旨在为读者提供一个全面了解移动应用与系统协同进化的视角。
|
2月前
|
vr&ar Android开发 数据安全/隐私保护
移动应用与系统:探索移动应用开发与移动操作系统的协同进化####
本文深入探讨了移动应用开发与移动操作系统之间的紧密关系,揭示了两者如何相互促进、共同发展。随着智能手机的普及和移动互联网的飞速发展,移动应用已成为人们日常生活中不可或缺的一部分。本文分析了当前主流移动操作系统的特点,以及移动应用开发的最新趋势和技术挑战,旨在为开发者提供一个全面的视角,以理解这一领域的复杂性和机遇。 ####