Solo por interés, sabemos que hay una gran cantidad de programación involucrada en la fabricación de un satélite. ¿En qué idiomas están escritos?Idiomas utilizados para escribir programas para misiones satelitales?
Respuesta
Puedo decirle que el Mars Rover had at least some C++ code (Enlace PDF); Utilizaron Tools.h++ library de Rogue Wave.
Al igual que con cualquier otro esfuerzo de software, el idioma utilizado para realizar algunas funciones en un satélite será el idioma más apropiado dados los diversos controladores de negocios y de TI vigentes.
Encontrará ejemplos de diferentes idiomas que se utilizan en la industria aeroespacial si mira a su alrededor. Dada tu pregunta, probablemente quieras echar un vistazo a Ada, que a menudo se conoce como "sistemas en tiempo real", un artículo de noticias por lo que el efecto es here, algunos usuarios que no son de defensa se enumeran here.
ya que tienen una arquitectura personalizada conectado a los periféricos miscelánea de E/S que se deben programar en C/C++ o directamente en ASM para un mejor rendimiento y optimizaciones ..
Están totalmente personalizado, de modo que no creo hay otros enfoques para el problema, piense también que tienen que usar muy poca energía (y deben ser cargados por el sol) por lo que tienden a no tener un hardware tan poderoso y deben REALMENTE optimizarse (es por eso que ASM es el camino). ¡No debería desperdiciar ningún ciclo de CPU!
Por último, el tipo de dispositivos conectados a un satélite son muy poco frecuentes, así que creo que es difícil de usar cualquier tipo de API estándar para la interfaz (como RS232 o así sucesivamente), creo que son diferentes para cada caso.
No me sorprendería encontrar muchas virutas viejas como Z80s haciendo el trabajo sucio en un satélite solo porque son lo suficientemente potentes como para realizar tareas simples, ¡aunque su bus de 8 bits!
Aparte de las posibilidades que ya se han mencionado, al menos one spacecraft fue controlado por software escrito en Lisp durante parte de su vuelo.
Las misiones de satélites de la NASA en las que participé utilizaron el lenguaje ensamblador para el software integrado. Hay una fuerte preferencia en la NASA para usar software de vuelo con herencia - reutilizando componentes (tanto hardware como software) con una historia probada de éxito en misiones anteriores. Entonces, en lugar de usar código compilado en los últimos y más poderosos procesadores, , a menudo terminamos usando un ensamblado codificado a mano en wimpy, pero procesadores probados. Por ejemplo, el proyecto THEMIS, construido en 2003 y lanzado en 2007, se ejecuta en procesadores Intel 8085, con módulos de ensamblaje codificados a mano con herencia de misiones anteriores como WIND, CLUSTER y STEREO.
La mayoría de los lenguajes operativos utilizados en la NASA y Lockheed se centran en las estadísticas y el cálculo. Por lo tanto, significa MATLAB, haskell, Erlang y Scala. MATLAB y Erlang son los grandes que se solicitaron para el aprovisionamiento.
Mientras que el hardware al final de las cosas se centrará en Assembly, C y Verilog.
La NASA utiliza muchos idiomas y varía en función de sus usos y dónde se usa.Los programas escritos para algunos cálculos y para algunas secuencias de comandos están escritos en su mayoría usando Python. Los programas para instrumentos de tierra y control de tierra se escriben usando C, C++, Ada, etc. Los programas críticos escritos para los instrumentos y hardware de a bordo son principalmente en lenguaje ensamblador, ya que le da el mayor control sobre el hardware y algunos idiomas antiguos también son Si el hardware utilizado en el satélite es de tecnologías antiguas (no significa que estén desactualizadas porque algunas funciones son imposibles sin ellos) y otros lenguajes como MatLab, Visual Basic también se usa para cálculos científicos.
- 1. ¿Es UTF-8 aceptable para leer/escribir idiomas asiáticos?
- 2. Idiomas no C++ para programación generativa?
- 3. Procesamiento de imagen de imágenes satelitales
- 4. Idiomas específicamente diseñados para facilitar la verificación estática
- 5. Múltiples idiomas utilizados en un proyecto de eclipse
- 6. StyleCop para otros idiomas
- 7. Aprendiendo a escribir programas organizados y modulares
- 8. ¿Puedo hacer programas C++ para BlackBerry (ejemplos?)
- 9. Programas gráficos DIFF para Linux
- 10. Pruebas unitarias apropiadas para programas cortos
- 11. js ¿Adelante para otros idiomas?
- 12. Uso de IPC para combinar varios idiomas
- 13. ¿Puedo combinar recursos locales en ensambles satelitales?
- 14. No permitir misiones y paso por valor
- 15. Tutorial completo para principiantes sobre cómo escribir programas de Windows GUI
- 16. Para escribir robustos programas en C, ¿cómo evitar demasiadas combinaciones libres()?
- 17. Crear Windows Installer para programas Java
- 18. ¿Funcionará valgrind para los programas de Daemon?
- 19. Cómo deshabilitar VirtualStore para programas C++?
- 20. visualizador de código para programas de Raqueta
- 21. Usando python para ejecutar otros programas
- 22. Cómo liberar parches para programas Java
- 23. Tabla hash persistente para programas de Ruby?
- 24. Tutoriales para escribir un analizador con Javascript
- 25. C# Creando una configuración para varios idiomas
- 26. Idiomas funcionales y soporte para la memoria
- 27. ¿Existe un Modelo Universal para Idiomas?
- 28. colación Mysql para todos los idiomas
- 29. Diferentes idiomas para me gusta botón
- 30. Idiomas fuertemente tipados para programación web
¿Qué hay de los idiomas utilizados para controlar los sistemas de freno y acelerador de Toyota? – DOK
@DOK Un comentario que escribí en un hilo de discusión relacionado en lwn.net: http://lwn.net/Articles/374618/ –
Gracias a todos, fue realmente interesante :) – trinity