¿Qué sistemas operativos se utilizan en los aviones y en qué lenguajes de programación se desarrollan? [cerrado]

108

Me preguntaba si alguien sabe cuál es el sistema operativo utilizado en los aviones comerciales (por ejemplo, Boeing o Airbus).

Además, ¿qué es el lenguaje de programación en tiempo real (preferido)? Escuché que Ada se usa en Boeing, entonces mi pregunta es: ¿por qué Ada? ¿Cuáles son los criterios que tuvieron los Boeing para elegir este idioma? (Supongo que Java no sería una buena opción si se levanta exactamente el despegador).

    
pregunta adhg 18.06.2012 - 05:00

4 respuestas

154

Aviónica

Para sistemas de control de aeronaves, no hablamos de sistemas operativos, sino de aviónica , aviónica integrada o sistemas aéreos de computadora en general. Y en realidad son una combinación de una multitud de sistemas independientes o interdependientes, para diferentes funciones ( control de vuelo , evitación de colisión , clima, comunicaciones, blackboxes ...).

Por lo general, cada controlador es un módulo independiente (hardware y software) por razones obvias de seguridad y protección: son sistemas críticos de control y monitoreo y, si uno de ellos falla o se daña, es un "inconveniente" bastante grande para el Personas que dependen del avión. Confiabilidad toma todo su significado cuando está en la máquina voladora. Por lo general es

  • personalizadas para el propósito de su misión,
  • diseñado para funcionar de manera independiente e interactuar con otros sistemas,
  • creado para ser tolerante a fallas a sus propios fallos Y a los fallos de los otros sistemas con los que está conectado ( porque no quiere que el sistema de sonido del piloto elimine los controles del motor, por ejemplo).

No es una gran computadora corriendo todo. Si lo piensas desde la perspectiva de un avión militar en lugar de uno comercial (aunque es similar en este aspecto, la imagen podría ayudar): si una parte recibe un disparo, al menos deberías tener otras partes capaces de hacerlo. para continuar (la parte que controla los sistemas de comunicaciones y seguridad puede ser interesante para mantener vivo ...). De ahí también el gran grupo de botones que ves en los aviones de pasajeros, para realizar un seguimiento del estado de los diferentes sistemas.

Por lo general, se construyen como componentes personalizados que operan su propio sistema, o son ejecutados y programados por un micro-kernel (en la mayoría de los casos, con soporte para en tiempo real capacidades).

Depende de los proveedores y los países, obviamente, pero por lo general, al menos deben seguir conjuntos bastante estrictos de regulaciones, requisitos de diseño y especificaciones de protocolo, que permiten:

  • el control de su estricto cumplimiento de las normas de seguridad y protección,
  • la intercomunicación con otros sistemas (mucho mejor si el avión con el que despegó en Reykjavik puede "hablar" con ese equipo de control de tierra en Tokio ...)

Esfuerzos de estandarización

El DO-178B (revisado en 1992) y su sucesor el DO-178C (revisado en 2012) (y un montón de documentos asociados) son un ejemplo de certificaciones de referencia para dichos niveles de cumplimiento, y son reconocidos por FAA (EE. UU.), EASA (UE) y Transport Canada, entre otros. Varias otras organizaciones están involucradas en la creación de dichos documentos, como EUROCAE .

Dichos sistemas aerotransportados generalmente son software a medida, pero se sabe que los siguientes sistemas se utilizan en algunos aviones:

Para darle una vaga idea de los elementos integrados en un sistema de aviónica, esta lista de acrónimos aviónicos apunta a algunos de ellos (con algunos solapados).

Idiomas notables utilizados en la aviónica comercial y militar

Además de los sospechosos habituales que conocemos en el mundo de la programación "general", aparecerán algunos nombres a los que se hace referencia a menudo como Ada , y algunos idiomas menos conocidos como el (con fecha y ahora" retirado "desde 2010) JOVIAL .

Preguntas relacionadas sobre StackExchange:

respondido por el haylem 18.06.2012 - 05:21
22

La mayoría de las aeronaves modernas utilizan un RTOS (sistema operativo en tiempo real) de propósito general más o menos lo mismo que se usa en la automatización de fábricas, centrales eléctricas, barcos, etc.

Airbus usa unos pocos, incluido INTEGRITY de Northrop-grumman y lo programa en C / C ++, Boeing usa VxWorks entre otros

    
respondido por el Martin Beckett 18.06.2012 - 05:22
12

Para lo que vale: para naves espaciales (satélites e interplanetarias) C y C ++ sigue siendo dominante (y con un cumplimiento muy estricto de las normas ISO), generalmente ejecutando VxWorks. Los laboratorios generalmente se apegarán a C o C ++ según la familiaridad del desarrollador, la confianza en la cadena de herramientas del compilador y los estándares de codificación internos. Existen razones convincentes para ambos idiomas para el software de vuelo en tiempo real, pero cada organización tiende a mantener uno u otro. Los instrumentos auxiliares, por otro lado, se programan comúnmente en Forth, C, y en lenguajes de script cada vez más modernos como Lua.

    
respondido por el B. VB. 18.06.2012 - 17:32
8

También vale la pena señalar que los sistemas de control a menudo se desarrollan utilizando un diseño basado en modelos utilizando Simulink. El diseño se convierte en código C automáticamente. Los humanos aún leen y validan el código.

    
respondido por el Ben Martin 19.06.2012 - 21:16

Lea otras preguntas en las etiquetas