24小时新闻关注

gp,出轨的味道,婴儿体温-第二视角新闻

作者 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

封图 | CSDN下载于视觉我国

1969 年 7 月 20 日,“阿波罗 11 号”飞船登月,宇航员尼尔·阿姆斯特朗(Neil Armstrong)成功踏上月球外表,标志着人类榜首次踏上月球,完结重要的一步:“这对个人来说是一小步,对人类来说却是一大步。

2019 年 7 月 20 日的今日,正是人类登月 50 周年。

这两天,Apollo-11的源码项目一向占有 GitHub 热榜榜首,到发稿,已取得 37,000+ 个Star。

其实 Apollo-11 并非是冲着在这 50 周年才开源,早在 2014 年便有榜首次的代码 commit,并在 2016 年开源。现在已累计超越 300 次commit,有近5000 个 Fork。

这些代码是阿波罗11号制导核算机(AGC)中指令模块(Comanche055)和登月模块(Luminary099)原始代码,这个项意图意图是存储阿波罗 11 号原始代码。

不重要的登月代码才开源?

或许会有人以为,能开源的登月代码应该不算是重要的代码。实际上并不是的。那么 AGC 终究是什么?

阿波罗制导核算机(AGC)于上世纪 60 时代由美国国家航空航天局(NASA )开发,首要用来操控阿波罗宇宙飞船上的导航与制导体系。

阿波罗号太空船实际上是两种不同的航天器,分为指挥舱(CM)和登月舱(LM)。指挥舱是用来让三名宇航员登上月球,然后再接回来。登月舱是用于承载两名在月球行走的宇航员,而第三名宇航员则留在指挥舱中,绕月球轨迹运转。

所以说在人类榜首次登月的三位宇航员里,只要前两位宇航员阿姆斯特朗和巴兹·奥尔德林(Buzz Aldrin) 真实地在月球行走,第三位迈克尔·科林斯(Michael Collins)则是坐在飞船里履行使命。

不管是否有宇航员的帮忙,每个航天器都需求可以在太空中飞翔,因而需求有一个“制导体系”。该辅导体系由麻省理工学院的仪器实验室开发,这个制导体系的一个重要部分是阿波罗制导核算机——“AGC”。

在阿波罗使命中,有两个 AGC,一个用于辅导舱,一个用于登月舱。这两个AGC 是相同且可交换的,但它们运转不同的软件,因为航天器履行的使命是不同的。

此外,由 AGC 运转的软件跟着时间的推移而开展,所以在后来的使命中运用的AGC 软件(如 Apollo 17)与前期的使命(如 Apollo 8)略有不同。

所以说,这份源码仍是很重要的。

在该项目里,还列出其时参加编写这些代码的程序员:

正因为有了这些程序员,咱们才完结在科学上重要的“一大步”!

触目惊心的登月时间,

这位女程序员拯救了一切!

阿波罗 11 号登月的进程并不如阿姆斯特朗登月时那“轻松”的一步,而是惊险万分!假如没有这位女程序员,或许就阿波罗就无法成功登月了。

她便是玛格丽特·希菲尔德·汉密尔顿(Margaret Heafield Hamilton),在美国媒体 IT World 评选“在世的世界上最巨大程序员”中,玛格丽特排名榜首。

一开始为了贴补家用,玛格丽特成为实验室暂时编码员,后因作业超卓,被引荐去了 NASA。

其时她带领团队为阿波罗登月方案做后备方案,因为咱们是奔着成功去的,所以她担任是最不受注重的部分:如果使命失利之后的后备方案。

但玛格丽特仍然认真地用模仿器模仿飞翔状况,查看体系漏洞。

可没想到阿波罗 11 号飞船预备正式登陆月球前几分钟,雷达发来的很多的数据涌入核算机存储区,让体系近乎溃散,飞船将在月球坠毁,宇航员已做好献身的预备。

幸好有玛格丽特编写的后备方案软件抗住了压力:在很多过错数据忽然涌入,核算机不堪重负是因为进行了一系列不必要的核算,事实上最重要的资源应该用在安全登录上,其他不重要的使命将停止。

这便是她后来提出的“异步处理”概念。

正因为有了这样优异谨慎的程序员,人类才干完结榜首次登月。后为了赞誉她在登月方案中的奉献,奥巴马颁发她“自在奖章”。

所以在咱们留念人类登月 50 周年之际,别忘了给咱们优异的程序员点赞!(趁便也给小编点个在看呗~)

GitHub 传送门:

https://github.com/chrislgarry/Apollo-11

参阅:

http://www.ibiblio.org/apollo/ForDummies.html

https://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/

相关文章