SylixOS 常见问题
本章主列出 SylixOS 常见问题。
SylixOS是什么?
SylixOS 是翼辉信息原创的大型嵌入式实时操作系统。SylixOS 诞生于 2006 年,经过多年迭代更新,已具备卓越的实时性和可靠性,并提供丰富的功能,可为不同行业的嵌入式设备提供理想的软件开发平台。
TpsFs是什么?
TpsFs 是 SylixOS 针对大容量存储设备集成的文件管理系统,在任何异常掉电情况下,保证文件完整无损,具有以下特点:采用 B+tree 存储结构,空间管理效率高,文件访问速度快;掉电安全,对文件系统元数据的操作使用事务提交;64 位文件系统,支持 EB 级别文件长度;接口简单,便于移植;支持硬链接,软链接,文件锁等操作;拥有便捷的图形化访问工具;使用多种技术保证文件系统故障恢复能力。
SylixOS是否是国产操作系统?
SylixOS 内核自主化率达到 100% (依据工信部评估报告), 拥有完全自主可控的技术能力,满足国产化需求。
SylixOS SMP调度器有哪些特点?
SylixOS SMP调度器特点:天生满足负载均衡;任务调度时间与负载无关,时间复杂度为O(1);优先级抢占调度,满足硬实时要求;支持亲和度调度;
SylixOS支持哪些体系结构?
SylixOS具备跨处理器平台能力,支持 ARM、MIPS、PowerPC、x86、SPARC、DSP、RISC-V、C-SKY、LoongArch 等架构处理器,便于用户在升级硬件平台的时候,进行应用程序的移植,减少移植的工作量。
SylixOS支持哪些哪些国产处理器?
SylixOS支持飞腾、龙芯、中天微、兆芯、全志、瑞芯微、M78 、复旦微等主流国产处理器。
SylixOS都通过了哪些第三方评测?
工信部赛普评测中心自主代码率评估,工信部赛普评测中心实时评测,清华大学实时性对比测试,飞航软件评测中心国家军用标准 GJB7718-2012评测,北航软件测评实验室国家军用标准 GJB7718-2012评测。
RealEvo-IDE是什么?
RealEvo-IDE 是翼辉信息研发的嵌入式软件开发环境,其集设计、开发、调试、仿真、部署、测试功能于一体,是一套针对翼辉操作系统打造的一站式嵌入式开发解决方案。RealEvo-IDE 支持 SylixOS 和 Matrix653 操作系统,提供全图形化操作界面,使用智能化开发流程,可最大程度避免重复劳动,节约开发成本,提高研发效率。用户可以使用 RealEvo-IDE 实现操作系统内核、BSP、驱动程序、应用程序的设计开发和调试。
RealEvo-Simulator是什么?
RealEvo-Simulator 是翼辉推出的计算机硬件系统仿真软件,可运行 SylixOS 及其应用软件。用户可以在脱离硬件平台的情况下使用 RealEvo-Simulator 开展项目预研、项目可行性评估、程序调试和测试等工作,降低 SylixOS 使用门槛和前期研发成本。RealEvo-Simulator 支持多种主流处理器架构模拟,包括: ARM32/ARM64、 MIPS、 PowerPC、 x86、 SPARC、RISC-V。
RealEvo-Compiler是什么?
RealEvo-Compiler 是翼辉信息推出的基于新版本 GCC 开发的工具链。支持翼辉旗下 SylixOS、MS-RTOS、Matrix653 等操作系统产品开发 。同时支持所有基于上述操作系统的衍生产品开发,如:风云翼辉,海鹰翼辉等。RealEvo-Compiler 支持多种目标文件格式,可用于操作系统内核,BSP 驱动程序和应用程序的编译、调试和分析。RealEvo-Compiler 在原生 GCC 的基础上针对翼辉操作系统产品做了大量优化工作,对翼辉操作系统更具亲和度,能够编译出更加稳定高效的目标文件,同时能够与 RealEvo-IDE 配合完成功能强大的调试和分析任务。
SylixOS是否开源?
sylixos内核是开源的,bsp部分开源,中间件部分开源,其中QT源码不提供,QT在各平台的共享库已提前编译好,直接部署即可。
SylixOS 版权是什么形式, 是否开源收费?
SylixOS 为双协议授权:开源版许可为GPLv3协议,用于学习交流,可自由使用。商业版受国家法律保护,个人或企业商业应用需要得到翼辉授权,不得随意使用、传播、破解。具体详见《RealEvo许可证协议》。
SylixOS 环境变量是怎么样的?
SylixOS 拥有一整套环境变量的算法,它定义在 shell 中。系统上电时,从 /etc/profile 中获取这些系统的全局环境变量模板。系统全局环境变量可以通过 shell 来修改,然后通过 varsave 命令保存到 /etc/profile 文件中。
SylixOS进程资源回收机制是什么?
SylixOS 中使用 t_reclaim 线程回收进程资源。t_reclaim 线程在系统启动时创建,优先级较低,为 253。线程执行流程非常简单,即接收消息队列值并执行 vprocReclaim() 进行回收,消息队列数据位待回收的线程控制块指针。vprocReclaim() 执行流程如下:等待所有线程被彻底删除;回收线程全部资源(打开的文件、信号量、时间、定时器等);释放模块资源;回收进程控制块资源。
SylixOS 每个进程的堆栈大小是多少?
SylixOS 进程虚拟空间以页 ( 典型大小为 4KB ) 为单位进行分配,每一个进程在装载时预分配 32MB 的虚拟页面,通过 shell 命令 env 可以查看到( 空间的大小将通过环境变量 SO_MEM_PAGES 决定 )。
可以在 APP 里面加入 SHELL 命令使用吗?
SylixOS 系统规定了在进程里面不可以进行注册 shell 命令,只可以在 BSP 或内核模块中进行注册。
SylixOS如何设置开机自动运行程序?
在 SylixOS 的 /etc/startup.sh 脚本添加需要自动运行的程序。
如何在 SylixOS 中执行脚本文件?
在 SylixOS shell 下执行“shfile xxx.sh”,即可执行脚本文件内容。
如何导出 BSP 驱动中的 API 给到用户使用?
BSP 驱动导出 API 给用户使用,可以通过 API_SymbolAdd 导出符号表功能,建议统一在 bspBoardSymbolInit() 中调用。
SylixOS是否支持重定向串口回环测试?怎么使用?
使用 cat 获取串口信息、 echo XXX >/dev/ttys 重定向信息。
SylixOS 根文件系统的目录如何理解?
SylixOS 启动后自动挂载的第一个文件系统称为根文件系统。这里不同于 Linux 系统,SylixOS 根文件系统是一个虚拟文件系统,掉电后不会保存对此文件系统的修改,所以 SylixOS 可以工作在没有非易失性存储器(通常为硬盘或其他磁盘存储器)的机器上。在此文件系统上,SylixOS 会自动建立 dev 、 media 、proc、 mnt 等目录,其他标准目录则需要 BSP 在初始化阶段做挂载或者符号链接。
如何配置网卡的默认网关到附加的 IP 地址上?
使用 ifmip 命令给指定网卡添加 IP 地址后,会生成 "mi" 开头的虚拟网卡。若只用 ifconfig 配置 "mi" 网卡的网关地址,SylixOS 是无法通过配置的网关,访问外部 IP 地址的。需要再进行路由表配置,将默认网关切换至 "mi" 网卡。
SylixOS如何配置ip?
使用 ifconfig 命令进行配置(临时配置,重启无效);可手动创建 shell 脚本 /etc/startup.sh,并写入 ifconfig 配置。
系统配置宏 LW_CFG_PATH_AUTO_CONDENSE 有什么作用?
LW_CFG_PATH_AUTO_CONDENSE 可以使系统在处理 io 路径时, 首先进行路径压缩, 也就是说处理掉路径中的 . 和 ..
为什么加入一些标准 C 库头文件会与 SylixOS 内部数据结构冲突?
SylixOS 为了提高兼容性与稳定性, SylixOS 提供了一套最适合自身多线程操作系统特点的标准 C 库(暂不包含数学库). 这套 C 库相关代码是从其他开源项目中演变而来. 当然为了配合 SylixOS 系统, 很多地方做出了修改.这些库中相关的定义会随着 #include <SylixOS.h> 一同引入用户程序, 当用户引用其他辅助 C 库时, 可能产生一些重复定义问题.这里推荐使用 SylixOS 提供的 C 库, 以保持多线程系统最大的可靠性(除非 SylixOS 没有提供的部分)。 (推荐引用头文件时, 所有头文件使用 “” 方式而不是 <> 因为 SylixOS 已经包含 C 库, 并且在编译器中也设置了相关的查找目录, 使用 “” 将不会产生使用错误的库造成的问题)
SylixOS 内核模块, 动态链接库或应用程序是否支持 C++ ?
SylixOS 内核提供基础的 C++ 运行时支持, 他不仅支持将 C++ 程序与 SylixOS 镜像一起运行, 也支持将 C++ 程序作为动态模块来装载运行, 注意: SylixOS 暂不支持 C++ 异常处理. (如果为应用程序, 链接时加入 -lstdc++ 即可兼容标准C++)