Con esto del 40 aniversario de la llegada del hombre a la Luna no hacen más que sacar sorpresas relacionadas con el evento. Gracias a la colaboración de Google y de la NASA se ha publicado el código fuente del módulo de mando y del módulo lunar de la misión Apollo 11. Tienes la posibilidad de comprobar cómo se hacían las cosas antes. No es que vaya a acabar con la crisis o con el cáncer pero como curiosidad tecnológica no tiene precio.
-
-
La Luna está de moda, de eso no cabe la menor duda. El bombardeo constante por parte de los medios no admite réplica, ni las exigencias del guión tampoco, por tanto, aquí nos encontramos de nuevo ofreciendo una curiosa información referida a la misión del Apollo 11. Se trata de la publicación del código fuente de los programas del Módulo de Comandos(comanche054) y Módulo Lunar (Luminary099) utilizados en la famosa nave que todos estamos hartos de nombrar ya. Los más graciosos seguro que esperan ver algo de Microsoft oculto entre las líneas de código pero la prueba de que Bill no metió las manos en el diseño la tenemos en el hecho de que la misión concluyó con éxito. En eso y en que el código ha sido lanzado de manera pública para que cualquiera pueda verlo sin cobrar por ello. El código transcrito ahora se encuentra en los repositorios de Google Code y se puede ejecutar sobre Virtual AGC (Apollo Guidance Computer), un emulador del AGC que veréis en el video y que puede correr sobre Linux, MacOSX y Windows entre otros. La computadora y su software fueron desarrollados por el Laboratorio de Instrumentación de la MIT, también conocido como los Draper Labs.
Por restricciones de memoria no convenía escribir el código directamente en lenguaje ensamblador del AGC, razón por la cual se diseñó un intérprete que funcionaba algo más lento pero cumplía con las condiciones especiales de estas máquinas. El código interpretado contenía instrucciones para manejar vectores y funciones trigonométricas, algo de crucial importancia en sistemas de este tipo. Otra peculiaridad de este código fuente es que se grababa como firmware y sólo se le podían realizar modificaciones en caliente, aunque eso sí, las variaciones se podían ejecutar desde la Tierra y desde la propia nave por mano de los astronautas si lo consideraban necesario. Si alguno de vosotros entiende el lenguaje ensamblador de procesadores antiguos como el MOS6502 (Atari, Commodore, Apple) o Z80 (Spectrum, MSX) no tendrán problemas en entender el del Apollo.
Código Fuente: AquíEste código no tiene mucha utilidad a día de hoy pero resulta muy interesante observar cómo se programaba en aquellos sistemas considerados críticos y de alto riesgo. La calidad del código debía estar fuera de toda duda y depurado hasta el extremo. Fijarse en la limpieza conceptual del diseño y en la optimización de las instrucciones. Apenas necesitan 300 líneas para el Módulo de Comandos y 1400 líneas para el Módulo Lunar. Cualquier error hubiera sido catastrófico para la mision, sin embargo, la prueba de que todo se hizo correctamente la tenemos hoy en forma de 40 aniversario de la llegada del hombre a la Luna. La digitalización en PDF de todos los códigos la puedes encontrar haciendo click aquí.
Un pequeño paso para las noticias de Neoteo, pero un gran paso para el código fuente público. -
¿Y tú, qué opinas?
-
#1
-
#2
-
#3
-
#4tres miércoles, 22 de julio de 2009, 12:07
#3El significado de la palabra lo conozco. Pero no veo la ironía por ningún sitio en ese párrafo. ¿Serías tan amable de indicarme dónde está?
-
#5Vikingo miércoles, 22 de julio de 2009, 12:13
"Los más graciosos seguro que esperan ver algo de Microsoft oculto entre las líneas de código pero la prueba de que Bill no metió las manos en el diseño la tenemos en el hecho de que la misión concluyó con éxito"
Ya tardabais en hacer una broma en contra de Ms, ¿cuánto ha pasado desde la última? ¿5 horas? Vas a necesitar pastillas para dormir, ya veo lo contento que estás con tu sistema operativo y lo obsesionado que estás con Windows; el cúal es tan malo y tan insignificante que provoca que de cada 10 palabras que escribes una sea "Microsoft".
Te aconsejo una terapia anti odio y otra anti cruzadas Ms.
Vive y deja vivir. -
#6AAA miércoles, 22 de julio de 2009, 14:39
Que sensibles son algunos! Lo de MS es broma, todos sabemos que el Microsoft Windows se usa, lo usamos (no siempre legalmente) y creo que el solo hecho de haberlo hecho (yo por lo menos desde el 1992, Linux lo uso desde el 1996) nos da derecho a criticarlo y hablar mal de el, asi como del primo vago que todos tenemos...
Menos sensibilidad y mas bromas...y es obvio que el Apolo logro llegar (??? aun tengo dudas) por tener un buen programa y no uno que se bloqueara facilmente como por ejemplo...Windows ME!!! Bien ya hice la mia ahora un sensible que me critique... -
#7Vikingo miércoles, 22 de julio de 2009, 15:19
Linux es una mierda,
no soporta gran número de periféricos, es un coñazo actualizar ciertas aplicaciones ya que suele haber dependencia con otros paquetes teniendo que al final actualizar medio sistema, tiene un gran nº de xploits, root kits, troyanos, desbordamiento de buffers, reza para que te funcione en ciertos portátiles al 100% de compatibilidad, cada distro va a su bola, tiene una interfaz de ventanas copiada (tanto criticar a Ms porque ellos copiaron de Apple) que por cierto a un servidor se le ha quedado colgado el gnome más de una vez, no sirve para juegos.
Pero no sean sensibles, es solo una broma, tengo derecho a hablar mal de él, asi como del primo vago q... Leer más -
#8Mr X miércoles, 22 de julio de 2009, 15:31
#2Hola, ¿me puedes aclarar eso del "nivel básico del 8086"?
Hace poquitísimo he estado programando en el ensamblador del 8086 que dices... y no se me parece en nada, aunque he de reconocer que soy nuevo en esto del ensamblador de dicha máquina.
Mirando el código fuente, no encuentro ni siquiera la instrucción "mov" que es la "reina de las instrucciones" por así decirlo. La única coincidencia que veo es alguna linea comentada en la que se menciona AX y BX, pero nada más. No veo que se manipulen esos registros directamente. -
#98L1nD miércoles, 22 de julio de 2009, 15:41
¿Alguna vez has explotado alguna de esas vulnerabilidades de las que hablas? Yo creo que no...
Cualquier tonto abre la boca, pero no cualquier tonto hace las cosas...
A leguas se ve que eres de esas personas que se dedican a criticar en vez de resaltar las virtudes de algo o de alguien, creo que la mayoría de los problemas que se presentan en Linux para el usuario promedio se resuelven investigando un poco, la mayoría de las veces tienes que modificar una o dos líneas de un archivo para que funcione de manera adecuada.
Creo que tardas más tiempo en hacer un análisis con un Antivirus en Windows, que ejecutar un sudo y modificar unas cuantas líneas de configur... Leer más -
#10hector miércoles, 22 de julio de 2009, 16:05
Entonces todos los sitemas operativos son mierda.
Pues hay condiciones para que asi lo sean
Todos son vulnerables, todos tienen errores, a todos les han hecho virus, espias,
todos tienen en alguna ocasion incompatibilidad con cierto hardware.
La pregunta es cual es el mas mierda?
HAGAN SUS APUESTAS SEÑORES -
#11Vikingo miércoles, 22 de julio de 2009, 16:48
#7¿Es que necesito explotar una vulnerabilidad para saber que existe? menudo argumento!
¿Has pisado alguna vez en la luna? ¿no? pues emepezaría a dudar de su existencia, tal vez sea una ilusión óptica. Linux está petada de xploits y si no sabes eso es que no sabes una mierda de administrar un servidor Linux.
Y encima te excusas en que los problemas se resuelven investigando un poco!!! jajaja! si señor toda una solución, investiguen señores! que es gratis... que seriedad.
Que pena de Linux fan boys. -
#12cuatro miércoles, 22 de julio de 2009, 17:02
#2Si te lo tengo que indicar, entonces es que no lo vas a entender nunca.
Mejor quedate con la duda. Es mas excitante. -
#13
-
#14
-
#15Mr X miércoles, 22 de julio de 2009, 19:30
#12@cuatro: No sé si de verdad eres argikt o te haces pasar por él. Si de verdad lo eres (o si se pasa por aquí el verdadero), ¿por qué no te atreves a dar aunque sea algunas nociones sobre el tema? No hace falta contarlo todo.
Respecto a si lo entiendo o no, es problema mío ;-) -
#16josedaivd miércoles, 22 de julio de 2009, 19:50
Hombre, pues el mejor OS es el que me puedo diseñar yo mismo, asi si explota la compu será mi culpa xD.
Un OS no es una salida al parque diversiones, en una PC falla muchisimo por la gran variedad de perifericos que existen, una Mac no falla tanto y un Linux/GNU fabricado por uno mismo nunca tendra errores.
Asi como las rutinas de programación que demostraron los Apollo, el código debe estar programado explicitamente para el hardware. -
#17Anibal7000 miércoles, 22 de julio de 2009, 23:15
Bueno ya entendi lo que paso, ellos creyeron llegar a la luna, porque eso les decia el poderoso mainframe que tenia menos memoria que mi celular, Me queda la duda de porque Neil Armstrong siempre al preguntarle sobre las estrellas dice que "no se acuerda", que farsa por Dios
-
#18Cienfuegos jueves, 23 de julio de 2009, 01:20
#17Una farsa, ¿porque? ¿Por decir que no se acordaba de las estrellas? Eso es patético, señor Anibal.
Digame, si hubiera dicho que sí, que vio estrellas, a caso la gente como tu no diria: Vio las estrellas y no se ven en la foto, ¡¡FRAUDE!!
Al decir que no probó que fue a la Luna. -
#19
-
#20
-
Cargando...
-
nuevo comentario
Nombre Campo obligatorio
Email Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.
Campo obligatorio
-



