操作系统都是现成的。就拿好奇号火星车来举例吧,250万行的代码,是运行在著名的vxWorks系统上的。NASA 的JPL实验室共有30名左右程序员做为开发的主力,另外还有一个十几个人组成的测试团队。VxWorks操作系统与128MB的RAM一起嵌入在每个火星漫游车上的特别辐射强化过的20MHz PowerPC CPU中。
xWorks(很多人没听过)是微内核的,它是操作系统中的极简派,是只提供必要服务的操作系统内核。它的根本思想就是要保持操作系统的内核尽可能小,因为内核是直接与计算机硬件相关的,内核越小,就越便于在不同的硬件系统间进行移植。同时需要的内存也最少。
VxWorks是由Wind-River公司开发的,大量的嵌入式系统都用它,支持市场上几乎所有的处理器,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
早在好奇号之前,已经有很多火星探测器(旅居者号、精神号、机遇号)和火星侦察轨道器都选择使用VxWorks,甚至是SpaceX龙飞船也不例外。
VxWorks还被许多产品选用,比如宝马的iDrive、波音787、长弓阿帕奇直升机、F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,还有像Linksys WRT54G这样的路由器,甚至连苹果公司的Airport Extreme路由器用的都是vxWorks。vxWorkds现在已经支持C++ 17了。开发人员可以使用Python和Rust来为VxWorks开发应用程序,这样可以有效的帮助开发人员提高工作效率,以便他们能够花更多的时间进行创新。
另一方面,使用已认证软件可以大大减少安全认证所需的大工作量和成本。但即便如此,好奇号火星车的250万行代码中,仍有超过100万行是NASA(及外包公司)写出来的,以针对火星车的特殊需求。目前,vxWorks所属的Wind-River公司已经归在英特尔麾下,按英特尔内部的说法,目前有多达15亿台设备由VxWorks控制着,是“世界上使用最广泛的实时操作系统”。
vxWorks操作系统贵不贵?它本身其实是开放源代码的,但它的开发工具workbench却很贵,三个license的授权费50万。
毅力号
vxWorks称霸NASA的太空探测器,但现在有了一个例外。那就是毅力号带到火星上的直升机,它在高通Snapdragon 801处理器(对,就是手机芯片那个)上用了一个Linux驱动的软件框架。这是人类第一次在火星上启动Linux。
未来的太空有可能是去军事化的,换句话说,将是越来越商业化的。而商业化的系统软件将保证太空电子商品化的顺利推进,因为这将进一步降低研发成本。目前遥感行业已经出现了这种情况。以后将越来越普遍,未来有一天,可能MacOS也会成为一种外太空常用系统呢,
参考:
^一种软件开发方法,旨在通过快速迭代持续交付可以工作的软件项目^https://www.forbes.com/sites/thomasbrewster/2015/09/10/vxworks-remote-code-vulnerability/?sh=7168aa061e78
本站内容未经许可,禁止任何网站及个人进行转载。