挺有意思的一个talk https://www.youtube.com/watch?v=ETgNLF_XpEM&list=WL&index=10
里面说到了很多在太空环境下面计算机系统的问题
飞船下面的系统是由很多独立分工的嵌入式系统组成的起来的,并且这个数据总线不是类似以太网这类总线,因为以太网这类数据总线一旦出现数据冲突的话,会以不可确定的方式造成延迟。确定性对太空系统至关重要。
很多和非太空环境下面的差别:
- 远程控制延迟很高,所以要求系统有自治性以及可恢复性
- 系统要求有很高的可用性以及预测性
- 实时操作系统
- 性能开销确定的编程语言
- 避免动态开辟内存以及避免递归
- NASA有专门的 coding style
- 发射成本非常高,所以硬件配置上肯定不能和laptop/phone相比
- 这些硬件必须抗辐射以为可以自我纠正,比如内存如果出现bitflip可以纠正回来
下图是三次太空计算机系统的配置对比。可以看到进步很大了但是依然没有办法和laptop/pc相比。