TockOS

维基百科,自由的百科全书
TockOS
作業系統家族实时操作系统
運作狀態活跃
源码模式开放原始码
当前版本
  • 2.1.1 (2023年1月6日)[1]
編輯維基數據鏈接
市場取向嵌入式设备
支援平台ARM (Cortex-M0, Cortex-M3, Cortex-M4)
内核类别单内核
许可证Apache 2.0
官方網站[1]
仓库 編輯維基數據鏈接

TockOS是一款较新近的专用于无线传感器网络节点的一款开源实时操作系统。和其他实时操作系统不同,它使用类型安全而性能接近于C语言Rust语言编写内核,而且也是第一个这样做的小型实时操作系统。[2]这样一来,TockOS的大部分接口都是类型安全且模块化的。由于Rust语言本身提供类型安全性,因此可以使用Rust扩展内核态功能而不至造成信息安全问题。[3] [4][5]


内核特性[6]

  • 合作性调度的实时内核;
  • 支持类型安全的Rust胶囊(Capsule)内核扩展;
  • 支持互相硬件隔离的C语言进程(Processes);
  • 支持系统调用接口;
  • 支持硬件内存保护[7]
  • 对常见芯片外设(如GPIO、ADC、串口等)均有框架支持;
  • 具备低功耗支持;
  • 具备网络协议栈支持;
  • 具备USB协议栈支持。

芯片组支持

Tock支持下列架构:

  • TI CC26X2
  • Nordic nRF51、nRF52、nRF5x
  • Atmel SAM4L[8]
  • TI TM4C129x

版本发布

  • 2016年5月9日,TockOS的OSDI会议版本发布。这是TockOS的第一个版本。
  • 2018年2月13日,TockOS 1.0 发布。这是第一个滚动发布,增加了nRF系列和TM4C系列芯片支持,并且包括了一些支持1.0版本系统调用接口的驱动库。
  • 2018年4月25日,TockOS 1.1 发布。这个版本解决了1.0以来的一些问题,并且增强了低功耗能力。
  • 2018年6月14日,TockOS 1.2 发布。这个版本修复了一些问题,并支持了NRF52840等带USB接口的芯片。


另请参见

参考资料

  1. ^ Release 2.1.1. 2023年1月6日 [2023年1月26日]. 
  2. ^ Inderpreet Singh. BAREMETAL RUST ON THE HORIZON. 2018-03-12 [2018-10-22]. (原始内容存档于2018-10-23). 
  3. ^ Amit Levy, Michael P Andersen, Bradford Campbell, David Culler, Prabal Dutta, Branden Ghena, Philip Levis and Pat Pannuto. Ownership is Theft: Experiences Building an Embedded OS in Rust (PDF). PLOS. 2015 [2018-10-22]. (原始内容存档 (PDF)于2018-10-23). 
  4. ^ Amit Levy, Bradford Campbell, Branden Ghena, Daniel B. Giffin, Pat Pannuto, Prabal Dutta, Philip Levis. Multiprogramming a 64 kB Computer Safely and Efficiently (PDF). OSDI. 2017 [2018-09-17]. (原始内容存档 (PDF)于2017-11-29). 
  5. ^ Filip Nilsson, Sebastian Lund. Abstraction Layers and Energy Efficiency in TockOS, a Rust-based Runtime for the Internet of Things (PDF). 2017 [2018-10-22]. (原始内容存档 (PDF)于2018-10-23). 
  6. ^ TockOS 官方网站. (原始内容存档于2019-07-10). 
  7. ^ Daniel Stefanus Maria Verhaert. An Architecture-Agnostic Memory Protection Interface for the Tock Operating System. 2018. 
  8. ^ CNXSOFT. Tock Open Source OS for Secure IoT Systems Runs on Arm Cortex-M Microcontrollers. 2018-02-13 [2018-10-22]. (原始内容存档于2018-10-23).