浅谈SylixOS 实时操作系统中Go语言应用

嵌入式技术

1330人已加入

描述

翼辉在最新发布的 SylixOS 3.0 版本中已完成对 Go 语言的适配,目前 SylixOS 是全球首个完整支持 Go 语言的大型实时操作系统,二者的结合将会给 SylixOS 用户带来全新的开发体验。

Go 语言的特点

Go 语言也称 Golang,是一门开源编程语言,其特点是兼具编译型语言的高性能以及动态语言的开发效率。

Go 语言是一门编译型语言,继承了编译型语言的高性能、类型安全以及对计算机底层的高可控性等特点,其运行性能可与C/C++媲美。Go 语言自带编译器,安装使用极其方便,编译效率高,能够轻松实现跨平台交叉编译。Go 语言编译器采用静态链接,因此 Go 应用程序不依赖任何第三方库,部署极其方便,对运行环境的依赖很低。

Go 语言同时具备动态语言的诸多优势,如支持自动垃圾回收、模块化管理,集成丰富的标准库等。Go 语言产生于互联网时代,对互联网与云计算有着天然的亲和性,目前已成为最流行的互联网与云计算开发语言之一。Go 原生支持高并发,无须引入第三方库,不依赖开发者的编程技巧和开发经验。Go 的高并发和网络特性以及高度的可移植性使其非常适合构建云原生和分布式应用,事实上,Go 已被用于构建云原生计算的多个基石,包括 Docker 和 Kubernetes。

全新的 SylixOS 技术栈

SylixOS 是全球顶尖的大型实时操作系统,现已大批量部署运行在各行各业的嵌入式设备上。长久以来嵌入式与互联网就如同IT的两极,其工程师技术栈大相径庭,无法互通。而今这一现状将彻底改变,依托于 SylixOS 对 Go 和 JavaScript 等业务开发语言的完备支持,翼辉将互联网与云计算技术栈引入到嵌入式领域,实现开发模式的巨大升级。先进的开发方法可以实现更高的开发效率、更灵活的软件设计、更丰富的产品功能、更少的软件缺陷以及更加可控的产品生命周期管理方法。同时由于 Go 语言具备轻量化、高性能等特点,嵌入式应用不会丧失原有的高效率、高可靠性与高安全性。

目前 SylixOS 支持 Go 运行时和标准库的所有功能,Go 内置的 7000 多个功能测试用例全部测试通过。翼辉发布与社区版 Go 完全兼容的工具包,Go 语言工程师可以专注业务开发,无需关心操作系统类型。未来 SylixOS 版 Go 及其开发工具也将合并到 Go 语言主线。

下面用一个简单的高并发 Web 服务器实例展示 Go 语言在 SylixOS 中的运行情况。

操作系统

以上代码可以看出,Go 语言代码非常简练,功能强大的标准库以及轻量级协程使得开发人员无需考虑底层 Web 通信以及高并发实现。下图展示 Go 应用程序的编译以及在 SylixOS 下的运行效果。

操作系统

Go 语言 SylixOS 开发入门教程可参考翼辉“任务关键型云原生”文档《Golang开发示例》 章节。

ECS 容器生态全面升级

SylixOS ECS 实时容器是基于 SylixOS 打造的新一代轻量级实时容器技术,是翼辉面向 “任务关键型云原生架构” 推出的系列产品之一。相比 Docker 容器,ECS容器具备极轻量化、启动速度快、高实时性等特点。

SylixOS 对 Go 语言的支持意味着Go 应用可以运行在 ECS 容器中,所有 Go 语言编写的云原生应用都可以平滑迁移到 ECS 容器,丰富的 Go 语言生态能够帮助 ECS 容器用户快速搭建稳定高效的业务系统,提高业务开发效率。

操作系统

ECS 容器启动速度比 Docker 容器快10倍以上,磁盘空间消耗以及运行内存消耗低于 Docker 的10%,也就是说同样的硬件资源将能够承载更多的容器应用,并发运行更多服务。ECS 容器的特点意味着其相比 Docker 容器更加适合嵌入式系统。Go 的加入能够使 ECS 容器既拥有轻量、高效、高实时性等优点,又能支撑先进高效的业务开发技术体系。

Go 应用在 ECS 容器中的部署和打包可参考翼辉“任务关键型云原生”文档《打包 Golang 微服务》章节。

VSOA

VSOA 是⼀个轻量级的适用于任务关键领域的微服务架构,其主要特点为架构简洁、资源占用小、服务响应速度快、支持多种编程语言、多处理器架构及多操作系统平台。VSOA 目前支持 JavaScript、C/C++、Java 开发语言,随着 SylixOS 对 Go语言的全面支持,翼辉将发布 Go 语言版 VSOA。使用 Go 语言开发的微服务通过 VSOA 可以方便地接入业务系统,Go 开发者只需专注业务逻辑开发,无需关心平台和运行环境差异。VSOA 丰富的开发语言支持及统一的通信协议使得用户可以最大程度集成现有技术组件,构建更加多元化的云原生业务系统。

VSOA 开发详细介绍可参考翼辉“任务关键型云原生”文档《基础开发》章节。

RealEvo 6.0

RealEvo 6.0 将在近期发布,其将集成 SylixOS 3.0 内核,除新增 Go 语言支持外,RealEvo 6.0 还将新增多体系架构编译、SDK 制作等新功能,支持更丰富的调试与图形化分析工具,更容易分析整个系统各方面性能指标与潜在的性能瓶颈,同时支持更多的基础组件。RealEvo 6.0 将成为翼辉发布的最强技术基座!

未来展望

随着 IT 技术的高速发展,分布式计算、云原生等技术在开发中被广泛使用,嵌入式等设备开发领域也急需进行技术栈升级,以提高开发效率,降低开发难度。翼辉围绕任务关键型云原生架构提供了整套产品方案,包括 Go语言在内的多种开发语言支持将大大提速任务关键型云原生系列产品的推广,进而助力整个产业的技术升级。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分