探索虚拟机构的ai、物联网软件开源!

网络新闻 3年前 (2022) admin
0

11 月 22 日,Toit 编程言语结合开创人 Kasper Lund 正式宣布 Toit 编程言语开源。Toit 是一种面向对象的物联网编程言语,它具有现代、简单、易了解、声明性和静态可剖析性等理想特性。

探索虚拟机构的ai、物联网软件开源!
前几年,基于对智能小工具和支持互联网设备的功用性和稳健性的挫败,Toit 编程言语的开创团队决议开端思索为物联网(IoT)开发软件,特别是嵌入式网络衔接设备。

其中结合开创人 Kasper Lund 在 Google 工作了 12 年,担任高级工程师和站点担任人,是一位编程言语和虚拟机老手。他在 Google 任职期间和团队共同创立了 V8 和 Dart 项目,并作为 Crankshaft 项目的技术担任人为 JavaScript 带来了自顺应优化,最终让网络变得更快。正由于 Kasper 团队在 Google 为 Flutter 构建 V8 JavaScript 引擎和 Dart 言语的项目中积聚的丰厚经历,他们开端为了衔接到互联网的嵌入式设备构建、部署和维护软件,研发最佳平台。

探索虚拟机构的ai、物联网软件开源!

当 Kasper 团队开端构建平台时,他们认识到他们需求一种高效的、特地为满足物联网的需求而设计的高级编程言语。但这种高级编程言语不存在,于是 Kasper 团队开端探寻处理计划。在研讨了 Python 和 JavaScript 两种编程言语后,发现这两种言语在微控制器上的编写速度不够快,存在性能不佳的障碍。随后团队开启紧缩形式,几个月后开发出了一种将内存分配笼统出的高级言语:Toit 编程言语。

Toit 言语在 ESP 32 上执行代码的速度比 MicroPython 快 30 倍以上,且 Python 开发人员能够在几个小时内学会。Toit 平台允许在像 ESP 32 这样的小型微控制器上并排装置独立开发的应用程序。虚拟机内置支持基于比特流和重定位信息在闪存中构建应用程序映像。重定位信息至关重要,由于它允许设备在闪存中自在选择装置应用程序的位置。Kasper 团队没有朴素地运用虚拟内存让系统置信应用程序总是从内存中的特定位置运转,因而他们必需使应用程序映像顺应它最终存储在闪存中的实践位置。

Toit 平台经过 CoAP 到 TLS 流式传输应用程序图像完毕,设备一次接纳 32 个字,并在它们写入闪存之前重新定位它们。Kasper 团队设计了它,所以他们永远不用将完好图像保管在 RAM 中。一旦他们完成了一切应用程序图像位,他们就运用校验和机制考证它们,最后提交标头,将应用程序转换为有效且可运转的功用块。

典型的 Toit 应用程序映像总共约为 30 KB。其中绝大多数是以易于解释的方式描绘各个办法的行为的字节码。Kasper 团队从程序的层次构造、类和接口中提取根本信息,并以紧凑的方式存储它们。相似地,Kasper 团队经过将办法作为一个扁平的字节序列集中存储在相似于 ELF 文件的 .text 段的东西中来俭省空间。图像中独一的构造化对象是应用程序附带的编译经常量。

Toit 虚拟机最终就像一个基于闪存的文件系统,带有动态重定位链接器,用于装置、晋级和卸载能够直接从闪存运转的应用程序映像。应用程序是完整独立的,仅共享设备上虚拟机提供的内容。

Kasper 团队表示一开端就认识到在某些时分 Toit 编程言语必需开源,“一切主要的编程言语都是开源的,你能够从开源中取得充溢生机的生态系统,这样才干大范围采用一种编程言语。”

经过屡次迭代和在实践环境中运用 Toit 的大量经历,Kasper 团队运用 Toit 言语为微控制器编写了强大软件十分有用的构建块,他们也希望更多的开发人员可以从中受益。他们等候这一天曾经很久了,因而很快乐能开源分享 Toit 言语,并经过 GitHub (https://github.com/toitlang/toit)来提供它。

探索虚拟机构的ai、物联网软件开源!

Toit 言语的开源,也为编程言语届再添新锐,其不论是对编程言语届、开源届,还是物联网届都是一大利处,众多编程言语争宠,而你最喜欢谁呢?

参考链接:
https://docs.toit.io/language
https://medium.com/@kasper.lund?p=71dc6e2d8f5c
https://blog.toit.io/the-toit-language-is-now-open-source-14bdcb1604d9?gi=170695569ed0

版权声明:admin 发表于 2022-06-28 15:31:27。
转载请注明:探索虚拟机构的ai、物联网软件开源! | 火资源软件