Thanks to visit codestin.com
Credit goes to github.com

Skip to content
forked from tock/tock

用于微控制器的安全嵌入式操作系统

License

Notifications You must be signed in to change notification settings

yuanxiaoming8899/tock-cn

 
 

Repository files navigation

托克操作系统

托克西 松弛 书

Tock 是一款嵌入式操作系统,设计用于在基于 Cortex-M 和 RISC-V 的嵌入式平台上运行多个并发、互不信任的应用程序。Tock 的设计以保护为中心,包括潜在恶意应用程序和设备驱动程序的保护。Tock 使用两种机制来保护操作系统的不同组件。首先,内核和设备驱动程序是用 Rust 编写的,Rust 是一种提供编译时内存安全和类型安全的系统编程语言。Tock 使用 Rust 来保护内核(例如调度程序和硬件抽象层)免受平台特定设备驱动程序的影响,并将设备驱动程序彼此隔离。其次,Tock 使用内存保护单元将应用程序彼此隔离以及与内核隔离。

2024 年世界博览会!

加入由行业专业人士、操作系统开发人员、学者和感兴趣的开发人员组成的社区,参加年度TockWorld 会议。该活动将于 2024 年 6 月 26 日至 28 日在加利福尼亚州圣地亚哥举行。立即获取门票

托克2.x!

Tock 现在推出第二个主要版本!Tock 2.x 相对于 Tock 1.x 进行了重大更改,包括:

  • 改进的系统调用接口。
  • 支持 11 个新硬件平台。
  • 更新了内核类型。
  • 许多新的和改进的 HIL。

有关最新功能和改进的摘要,请查看 变更日志

了解更多

您想如何开始?

了解 Tock 的工作原理

Tock 记录在Tock Book中。通读那里的指南,了解 Tock 的概述和设计、其实现等等。

使用托克

按照我们的入门指南设置您的系统来编译 Tock。

前往硬件页面了解 Tock 支持的硬件平台。另请参阅Tock Book,了解如何安装和运行 Tock 的分步介绍。

关于如何将 Tock 与micro:bit v2Raspberry Pi Pico板结合使用的书是《安全嵌入式系统入门》

查找在使用RustC编写的 Tock 内核之上运行的示例应用程序 。

开发库存

阅读我们的入门指南以获取正确版本的 Rust 编译器,然后浏览/kernel/capsules/chips/boards目录。还有生成的源代码文档

我们鼓励向 Tock 做出贡献,并很乐意接受从小型文档修复到全新平台的任何拉取请求。有关详细信息,请查看我们的贡献指南。首先,请立即提交 PR。我们很乐意指导您完成任何所需的更改。

不断更新

查看博客,其中Talking Tock 帖子系列重点介绍了 Tock 的新增功能。另外,请在 Twitter 上关注 @talkingtock

您还可以浏览我们的电子邮件组和我们的Slack ,查看有关 Tock 开发的讨论。

行为守则

Tock 项目遵守 Rust行为准则

所有贡献者、社区成员和访客都应熟悉行为准则,并在所有 Tock 附属环境中遵循这些标准,其中包括但不限于存储库、聊天和聚会活动。对于审核问题,请联系 @tock/core-wg 的成员。

引用这个项目

Tock 在 SOSP'17 上发表

阿米特·利维、布拉德福德·坎贝尔、布兰登·吉纳、丹尼尔·B·吉芬、帕特·潘努托、普拉巴尔·杜塔和菲利普·李维斯。2017。安全高效地对 64kB 计算机进行多道编程。第 26 届操作系统原理研讨会 (SOSP '17) 论文集。计算机协会,美国纽约州纽约市,234-251。DOI:https://doi.org/10.1145/3132747.3132786

比布泰克斯
@inproceedings{levy17multiprogramming,
      title = {安全高效地对 64kB 计算机进行多道编程},
      booktitle = {第26届操作系统原理研讨会论文集},
      系列 = {SOSP'17},
      年 = {2017},
      月 = {10},
      ISBN = {978-1-4503-5085-3},
      位置 = {中国上海},
      页数 = {234--251},
      页数 = {18},
      网址 = {http://doi.acm.org/10.1145/3132747.3132786},
      doi = {10.1145/3132747.3132786},
      acmid = {3132786},
      发布者 = {ACM},
      地址 = {美国纽约州纽约},
      会议网址 = {https://www.sigops.org/sosp/sosp17/},
      作者 = {Levy、Amit 和 Campbell、Bradford 和 Ghena、Branden 和 Giffin、Daniel B. 和 Pannuto、Pat 和 Dutta、Prabal 和 Levis、Philip},
}

这是描述 Tock 设计注意事项的主要论文。

其他 Tock 相关论文

有两篇较短的论文探讨了 Rust 语言在嵌入式软件开发中的潜在局限性。早期的 PLOS 论文列出了挑战,后来的 APSys 论文列出了潜在的解决方案。一些描述编程语言和类型论工作的人可能会从这些参考文献中受益,但一般来说,大多数工作应该引用上面的 SOSP 论文。

@inproceedings{levy17rustkernel,
	title = {用 Rust 编写内核的案例},
	booktitle = {第八届亚太系统研讨会论文集},
	系列 = {APSys '17},
	年 = {2017},
	月 = {9},
	ISBN = {978-1-4503-5197-3},
	位置 = {印度孟买},
	页数 = {1:1--1:7},
	文章编号 = {1},
	页数 = {7},
	网址 = {http://doi.acm.org/10.1145/3124680.3124717},
	doi = {10.1145/3124680.3124717},
	acmid = {3124717},
	publisher = {ACM},
	address = {New York, NY, USA},
	conference-url = {https://www.cse.iitb.ac.in/~apsys2017/},
	author = {Levy, Amit and Campbell, Bradford and Ghena, Branden and Pannuto, Pat and Dutta, Prabal and Levis, Philip},
}
@inproceedings{levy15ownership,
	title = {Ownership is Theft: Experiences Building an Embedded {OS} in {R}ust},
	booktitle = {Proceedings of the 8th Workshop on Programming Languages and Operating Systems},
	series = {PLOS 2015},
	year = {2015},
	month = {10},
	isbn = {978-1-4503-3942-1},
	doi = {10.1145/2818302.2818306},
	url = {http://dx.doi.org/10.1145/2818302.2818306},
	location = {Monterey, CA},
	publisher = {ACM},
	address = {New York, NY, USA},
	conference-url = {http://plosworkshop.org/2015/},
	author = {Levy, Amit and Andersen, Michael P and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat},
}

There is also a paper on the Tock security model. The threat model documentation in the docs/ folder is the source of truth for the current Tock threat model, but this paper represents a snapshot of the reasoning behind the Tock threat model and details how it compares to those in similar embedded OSes.

@inproceedings{10.1145/3517208.3523752,
	author = {Ayers, Hudson and Dutta, Prabal and Levis, Philip and Levy, Amit and Pannuto, Pat and Van Why, Johnathan and Watson, Jean-Luc},
	title = {Tiered Trust for Useful Embedded Systems Security},
	year = {2022},
	isbn = {9781450392556},
	publisher = {Association for Computing Machinery},
	address = {New York, NY, USA},
	url = {https://doi.org/10.1145/3517208.3523752},
	doi = {10.1145/3517208.3523752},
	booktitle = {Proceedings of the 15th European Workshop on Systems Security},
	pages = {15–21},
	numpages = {7},
	keywords = {security, embedded systems, operating systems, IoT},
	location = {Rennes, France},
	series = {EuroSec '22}
}

执照

已获得以下任一许可

由您选择。

除非您另有明确说明,否则您有意提交的包含在作品中的任何贡献(如 Apache-2.0 许可证中所定义)均应获得上述双重许可,没有任何附加条款或条件。

About

用于微控制器的安全嵌入式操作系统

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 97.1%
  • Python 1.8%
  • Makefile 0.7%
  • Shell 0.3%
  • C 0.1%
  • Nix 0.0%