TockOS是一款較新近的專用於無線傳感器網絡節點的一款開源實時作業系統。和其他實時作業系統不同,它使用類型安全而性能接近於C語言Rust語言編寫內核,而且也是第一個這樣做的小型實時作業系統。[2]這樣一來,TockOS的大部分接口都是類型安全且模塊化的。由於Rust語言本身提供類型安全性,因此可以使用Rust擴展內核態功能而不至造成信息安全問題。[3] [4][5]

TockOS
作業系統家族實時作業系統
運作狀態活躍
源碼模式開放原始碼
當前版本
  • 2.1.1(2023年1月6日)[1]
編輯維基數據鏈接
市場取向嵌入式設備
支援平台ARM (Cortex-M0, Cortex-M3, Cortex-M4)
內核類別單內核
許可證Apache 2.0
官方網站[1]
倉庫 編輯維基數據鏈接


內核特性[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).