ROCKER 是一个在线解压和进程沙箱实现, 针对的是基于 Linux 的资源受限的(即使是 docker 这样的容器实现自身的资源占用都是不能容忍的) IOT 系统, 旨在提高其资源利用率和系统安全性, 并且避免产生额外的性能开销.
在线解压
进程沙箱
即使是 docker 这样的容器实现自身的资源占用都是不能容忍的
通过将 App 程序文件及其它合适的文件压缩成squashfs包, 通常可以带来超过 60% 的磁盘空间节省, 这对于资源受限的 IOT 系统来说是非常有意义的. 与此同时, 由于 Linux 内核原生提供了动态按需解压支持, 相对于常规的 App 运行模式, 并不会产生额外的内存开销.
squashfs
沙箱功能的安全性保证, 来自于Linux namespaces/cgroups, overlayfs, Rust 等基础设施, 以及大量的测试用例. 感谢 linus 大神 , Rust 团队 创造出这些伟大的基础设施.
Linux namespaces/cgroups
overlayfs
Rust