一台4分钟死机5次的电脑,让人类第一次登上月球
- Nick
- crazymove好文分享
iOS fly ~ - wangxt瞎编的吧?
晶体管时代的电脑,可靠性好多了。就是电子管,也不可能4分钟死机5次。 - antidoom
- woodoh谢谢分享,这大概就是先驱的意思了
- jeffrey_mys
- jeffrey_mys
- qiuike回复4#wangxt
是程序的逻辑错误,处理器能力不足,溢出了,1202就是溢出错误。
那个处理器的能力非常非常弱,稍微多一点任务就会导致一个周期内无法完成所有的处理任务,但是好在任务有优先级别。 iOS fly ~ - zhenyue这不是家用电脑, 这是个实时系统 RTOS,被阻塞之后就算死机了。
现代实时操作系统/硬件的设计已经非常极端了,假设各种极端情况必然发生,然后强迫操作系统每多少毫秒内完成一次定期重启,这样就算阿波罗机载实时飞行控制电脑发生的这种案例,也能及时清除掉上一个周期内的故障,完成下一个周期的计算任务。 - cattery现在计算能力大增 所以登月危险性也大增
- flying2010不好意思,当年的电脑启动一次要5分钟
- timrabin很厉害
- wilburt梦游太空,运气要超过中一百个乐透吧。
难怪今天的美国想要登月还瑟瑟发抖。也只有中国印度日本这几家无知者无畏。 - yayaaiyali美帝登月这件事,一直以来都说是假的么
- Nick
- pokerface仙童公司,太传奇了,筚路蓝缕的先驱,创造了整整两个时代。 iOS fly ~
- 刀丛中的诗
- Nick2N1613是世界上第一颗平面硅晶体管,它的问世具有划时代的意义。1960年的时候,仙童半导体在一片晶圆上集成了四个晶体管,这是世界上第一个硅集成电路(1958年德州仪器的Jack Kilby发明了锗集成电路)
左:1960年仙童半导体生产的第一个硅集成电路
右:Robert Noyce与其设计的集成电路版图 iOS fly ~ - Xiaoqiang788888iOS fly ~
- wangxt这篇文章的硬伤之一: 她们的工作要一点点完成:导线穿过磁芯是 1 ;导线在磁芯外面是 0。
磁芯存储是靠电磁信号存储信息的,导线都在磁芯里。 - wangxt硬伤之二: 每个芯片包含一对逻辑门,每个门是一个简单的电子开关,对三个输入进行监测,如果其中有输入为“开”,输出便为“关”。约 5600 个这样的原始集成电路按顺序排列,组成了计算机“大脑”中的数字级联。
cpu可不是这么简单的门电路。 - samsonlin看似慌得一笔,实则稳如泰山
- zscsky真是伟大的一代人小尾巴~
- samsonlin回复26#wangxt
并没有错吧,翻了英文原文,没有翻译错误,遂查阅磁芯存储器的百科,有如下文字描述。。。。。分割线。。。。。。另一种称为核心绳索内存的核心内存提供了只读存储。在这种情况下,具有更多线性磁性材料的磁芯仅用作变压器;没有信息实际上存储在各个核心内。这个词的每个部分都有一个核心。读取给定存储器地址的内容在对应于该地址的导线中产生电流脉冲。每条地址线都穿过一个核心来表示二进制,或者在该核心的外部,以表示二进制。正如所料,内核比读写内核的内核要大得多。这种类型的内存非常可靠。一个例子是用于月球着陆的阿波罗指导计算机。。。。。。分割线。。。。。我的理解是,这是一个只读存储器,并非读写存储器,所以跟你的认识不一样 - 都市乖乖宝应该说那时的人对电脑的依赖还没有现在这么严重,即便对于登月来说这个电脑很重要,但人工微操的能力,至少应该比那时的电脑处理能力要强的吧。
- 都市乖乖宝人在某些方面,有很多潜质应该还有待开发。特别是在一些极端情况下就会迸发。
- samsonlin
- iloven900
- 14783139
- jeffrey_mys回复20#刀丛中的诗
当年的程序员大都是女的,因为没人愿意干那些琐碎的事情,但是架构师和软硬件工程师大多是男的,电影幕后人物对此有过描述,至于到底是谁想出来的优先级这个主义,那就是笔墨官司,后人估计很难搞清楚了 - Nick
虚拟AGC和麻省理工科学博物馆将阿波罗导航计算机(AGC)中的指令模块Comanche055、登月模块Luminary099的原始代码公布在了GitHub上,任何人均可自由查阅、编译。
如果你想编译这些原始代码,可以查阅虚拟AGC的文档。 下载地址:https://github.com/chrislgarry/Apollo-11
这个AGC程序又叫做Colossus 2A,由美国航空航天局载人航天中心、麻省理工、仪器实验室、剑桥大学、MASS等机构共同完成,最早提交于1969年3月28日。
- Nick偶尔会有人开玩笑,说AGC更像是一个计算器,而不是一台计算机。但要说这是严重低估了AGC的复杂性。例如,AGC是多任务的,因此它看起来可以同时运行多个程序。
导航系统的另一个重要部分是显示器/键盘单元,或者简称为“DSKY”。自动增益控制系统本身就是一个带有电气连接的盒子,没有任何内置方式供宇航员进入。DSKY为宇航员提供了一个接口,通过该接口可以访问AGC。
月球舱只有一个DSKY,位于两名宇航员之间,任何一名宇航员都可以操作它。命令模块实际上有两个DSKY。CM的一个DSKY只是主控制面板,而另一个则位于用于标记恒星或其他地标位置的光学设备附近。
该GitHub项目与虚拟AGC项目的网站关联,项目提供一个虚拟机,用于模拟AGC、DSKY和导航系统的其他部分。换句话说,如果我们称之为yaAGC的虚拟机被赋予了最初由真实的AGC运行的相同软件,并且在阿波罗任务期间反馈真实的ACG遇到的相同输入信号,那么它将以与真实的ACG相同的方式响应。
当前版本的虚拟AGC软件设计用于Linux、Windows XP/Vista/7和Mac OS X 10.3或更高版本(但最好是10.5或更高版本)。它至少在一些版本的FreeBSD中也能工作。作者主要发力的是Linux版本,因此有感兴趣的小伙伴,可以尽量选择Linux版本。
运行起来大概是这样子的——
GitHub地址:https://github.com/virtualagc/virtualagc
---------------------
作者:不脱发的程序猿
来源:CSDN
原文:https://blog.csdn.net/m0_38106923/article/details/86751068
版权声明:本文为博主原创文章,转载请附上博文链接! - Nick
据23日《每日快报》报道,1969年7月16日,阿波罗11号载着3名美国宇航员第一次成功登月。但鲜为人知的是,这个举世闻名的登月行动并非一帆风顺,而是险象环生,甚至差一点毁于灾难。最惊人的是,当宇航员结束2小时的月球行走之后,竟然发现登月舱引擎开关损坏,他们将因此永远留在月球上。庆幸的是,宇航员用圆珠笔成功化解危机,逃出生天。
“探索”频道将于31日播出的最新纪录片《第一次登月》首次披露了这一惊人内幕。
起飞之前燃料泄漏逃生计划形同虚设
第一个危机出现在飞船起飞之前。1969年7月16日,起飞前4小时,宇航员尼尔-阿姆斯特朗、巴斯-奥尔德林和麦克-科林斯在吃发射前的最后一餐。但他们不知道的是,此刻在发射台上,土星5型火箭却出现了燃料泄漏,技术人员正在紧急排除故障。当时火箭装有100万加仑液氢燃料,此时一个火星就会摧毁火箭和所有工作人员。
3名宇航员对燃料泄漏这一危险事实并不知情。宇航员们被告知,如果燃料泄漏导致引擎在点火时失效,他们的座舱会被弹射到远离火箭的安全地点。当时,宇航员奥尔德林说:“我觉得我们生还的可能性有99%,我们会遇到很多危险,但也有很多机会中断任务。”然而惊人的是,在宇航局官员看到的备忘录中,并没有什么逃生计划。备忘录表明,发射中断系统在探测到灾难性故障后,需要两秒钟来启动逃生系统,如果在发射初期火箭的引擎熄火,箭体会在半秒钟内解体,宇航员根本无法获救!宇航员对此一无所知。
泄漏问题终于在下午1时32分解决。飞船起飞了。UFO跟随飞船浮动船舱出现神秘闪光
在火箭升空后的48小时里,飞船安全飞行,没有发生任何意外。但在第3天,一个奇怪的现象发生了。奥尔德林和科林斯称,他们看到飞船外大约6000英里的地方似乎有一个不明飞行物一直跟随着飞船浮动,但它显然并非是飞船抛弃的火箭舱。奥尔德林说:“这实在让人困扰。飞船外有个东西,近得可以观察到。科林斯可以通过望远镜看见它,它呈L形状。”与此同时,飞船内也出现了神秘闪光。奥尔德林回忆说:“突然间我看到一道闪光。我吓了一跳,想到可能有东西进了飞船。我问他们两个,尼尔说他看到了,而且是上百次。”这些闪光让人担心。在没有空气的太空里,任何东西把飞船穿透都会造成灾难。奥尔德林向控制中心报告了这一情况,宇航员们被告知,那些是高速重粒子,能够穿透飞船甚至人体。只有长期暴露在这种粒子下,人体才会出现损伤。阿波罗11号在重粒子不断轰击下继续飞行。
奇怪的是,当飞行员睡了一觉醒来之后,飞船后面的神秘物体已经消失了。用手能把舱壁戳穿 关键时刻电脑死机
飞船进入环月轨道后,宇航员开始为这次旅行中最危险的部分做准备。阿波罗11号在月球上空80英里处盘旋。阿姆斯特朗和奥尔德林进入“鹰号”登月舱,科林斯留在主控舱里。为了减轻重量,登月舱的舱壁非常薄,因此宇航员们要相当小心。阿波罗11号主管吉恩-克兰兹说:“如果你用指头用力戳,你甚至可以把舱壁刺穿!它只相当于2层铝板的厚度。”
问题出现了。就在飞船着陆月球关键时刻,飞船上的计算机突然死机,不断显示错误代码。奥尔德林回忆说:“无论我们怎么调整,计算机都不断发出警告。”原来,着陆雷达提供的信息超过了飞船计算机的承载量,过多信息进入了计算机里。这一意外让登月舱里的宇航员惊得目瞪口呆。庆幸的是,他们最终解决了这一问题。引擎燃料严重不足15秒时间完成降落
登月继续,但引擎的燃料严重不足。宇航员必须在15秒内登月,但在以往的训练中,宇航员们通常需要至少10分钟完成降落。两人决定立即降落,最终引擎熄火,登月舱安全着陆。地面控制中心里很多人已经紧张到脸色发青。准备开始月球漫步舱门竟然无法打开
奥尔德林和阿姆斯特朗马上穿上宇航服,准备开始创造历史的月球漫步。整个世界都在等待着阿姆斯特朗走下来,可他们迟迟没能如愿。很多人都不知道,宇航员走出舱门的一刻被耽搁了——他们无法打开舱门!两人顿时陷入恐惧中。奥尔德林说:“我们没有意识到舱内的压力会大大降低。一般情况下,我们打开阀门的时候,为了调整压力,不应该把所有空气放掉,但这次我们放了。我们想拉开下面的舱门,但打不开。”
绝望的奥尔德林进行最后一次尝试,舱门奇迹般打开了。阿姆斯特朗踏上月球,然后发表了著名的“个人一小步,人类一大步”演说。15分钟后,奥尔德林也离开登月舱,他要确保没有犯下简单而致命的错误。他说:“我把舱门虚掩上,不能让它锁上,想从外面把舱门打开将非常困难。”险些在月球上安息圆珠笔救了宇航员
一份保存了30多年的机密文件显示,当时尼克松总统对宇航员可能被困月球的情况非常担心,并曾准备了一份备用演讲稿。其中称:“命运注定这些和平探索月球的人,永远安息在月球上。”但不为人知的是,他的这一“备用悼文”差点成为现实。
完成了两小时的月球行走后,宇航员在月球的尘埃里发现了一个让人震惊的物品——一个电路开关断裂的一头。原来,在狭小的登月舱里,宇航服刮断了启动引擎的极为关键的一个电路开关。没有开关,他们将真的“永远留在月球上”!最终奥尔德林在登月舱内找到了圆珠笔,他成功地用笔接好电路,随即启动登月舱离开了月球。奥尔德林称,他至今仍珍藏着挽救了他们生命的圆珠笔。AGC代码其实早已公之于众,最初是由技术研究员罗恩·伯基(Ron Burkey)在2003年上传到网络。他根据MIT在网上发布的原始硬拷贝的扫描件进行了转录,也就是一行一行地手动打出来。
“扫描的人是一名叫做加里·内夫(Gary Neff)的飞行员,”伯基在电子邮件中写道,“MIT得到了扫描件,把它们以网页图片的形式放上网。但不幸的是,在此过程中,那些图片遭到损坏,有些地方无法看清。”伯基利用其工程知识查漏补缺,恢复了无法看清的部分。
“一段时间过后,我从加里·内夫那里拿到了备用扫描件,对无法看清的部分进行了核实,幸运地发现我恢复的部分完全正确!”他说。
这使那些想要探究AGC代码的研究员和爱好者如获至宝。伯基本人甚至利用AGC代码创造了一个模仿品。
尽管伯基付出了巨大的努力,成功地重现了无法看清的部分,但对于当今的很多软件开发者来说,AGC代码本身仍然有点晦涩难懂,直到7月7日那天,曾在NASA实习的克里斯·加里(Chris Garry)将AGC代码完整地上传到代码共享网站GitHub。如今,光顾该网站的程序员数不胜数。
几小时内,程序员们开始研究AGC代码,尤其是AGC原始编程者撰写的代码注释。代码注释是用简单直白的语言描述某个特定时刻执行的任务。Reddit网站程序员吐槽栏目的读者们在找乐子方面一向敏锐,他们发现AGC代码的很多注释并不是对代码本身的枯燥解释,其中充满了有趣的笑料和讯息,以及上世纪60年代的很多人和事。
例如,一份源代码文件名为“BURN_BABY_BURN--MASTER_IGNITION_ROUTINE”(燃烧吧,宝贝,燃烧吧——控制点火程序),开头的注释(下图)这样写到:“燃烧吧,宝贝,燃烧吧”可追溯到1965年的洛杉矶骚乱,当时著名DJ、电台所有者“伟大的蒙塔古”(Magnificent Montague)在打碟时使用了这句话。伟大的蒙塔古是上世纪50年代中期至60年代中期,在芝加哥、纽约和洛杉矶极富感召力的灵歌代表人物。
以下这段代码也出自控制点火程序,第一行写着“你好啊”,最后一行写着“拜拜,欢迎再来哦”。从中可以体会到AGC原始编程团队有多爱玩。
在名为“LUNAR_LANDING_GUIDANCE_EQUATIONS.s”(月球着陆制导等式)的文件中,程序员希望其中的两行代码是暂时的,结果却成了永久的。
也是在那份文件中,出现了让宇航员“转动那个蠢东西”的注释。
“那是指转动着陆雷达的天线,”伯基解释说,“我觉得那是在提醒宇航员调整天线。”
在被描述为“AGC和计算机操作员之间的键盘和显示系统交互程序”的“PINBALL_GAME_BUTTONS_AND_LIGHTS.s”(弹珠游戏按钮和显示)文件中,甚至出现了莎士比亚名著《亨利六世》中的一段话:“我要径直向你指出,你任用了许多人,让他们大谈什么名词呀,什么动词呀,以及这一类的可恶字眼儿,这都是任何基督徒的耳朵所不能忍受的。”
Reddit网站的一位用户指出,这可能是在吐槽AGC的编程语言。这种编程语言利用预先确定的“名词”和“动词”来执行操作。例如,动词37代表“运行程序”,名词33代表“点火时间”。
既然AGC代码已经在GitHub网站上公布,程序员们现在能够提出问题和修改建议了。他们当然不会错过机会。一位程序员提出了一个问题,说“低温贮罐发生了非常严重的电路故障”,并列出了再现这个问题的步骤。他补充道,“要小心,这可能对测试者造成危险。”回复非常热烈。
一位用户说,问题可能不在于代码,而在于其他方面:
“是不是只发生在月球转移轨道(sol-3-a)上?还是在所有的月球轨道上都会发生?问题可能出在月球。试着缩小问题的范围。”
另一位用户谈到了基本操作:
“你有没有试过关闭后重启?”
一位程序员认为可能只是软件需要更新:
“阿波罗14号解决了这个问题。”
翻译:于波
来源:Quartz
- 熊王登月导航计算机是第一批集成电路计算机。
- hgy85714我估计再过50年地球上都没有第二家能登月。
- Nick
iOS fly ~ - connors王安的技术
iOS fly ~