Quais sistemas operacionais são usados em aviões e em quais linguagens de programação eles são desenvolvidos? [fechadas]

108

Eu queria saber se alguém sabe qual é o sistema operacional usado em aviões comerciais (por exemplo, Boeing ou Airbus).

Além disso, qual é a linguagem de programação em tempo real (preferida)? Ouvi dizer que Ada é usada na Boeing, então minha pergunta é - por que Ada? Quais são os critérios que os Boeing tiveram para escolher esta linguagem? (Eu acho que o Java não seria uma ótima escolha se exatamente no lift-off o coletor de lixo acordasse).

    
por adhg 18.06.2012 / 05:00
fonte

4 respostas

154

Aviônica

Para sistemas de controle de aeronaves, não falamos de sistemas operacionais, mas de aviônicos , aviônica integrada ou sistemas aerotransportados de computador em geral. E eles são na verdade uma combinação de uma infinidade de sistemas independentes ou interdependentes, para diferentes funções ( controle de vôo , evitar colisões , clima, comunicações, blackboxes ...).

Cada controlador é geralmente um módulo independente (hardware e software) por motivos óbvios de segurança: eles são sistemas críticos de controle e monitoramento e se um deles falhar ou ficar danificado, é um "inconveniente" bastante grande para o pessoas que dependem da aeronave. Confiabilidade assume todo o seu significado quando você está em a máquina voadora. Então geralmente é

  • personalizado construído para o propósito de sua missão,
  • criado para funcionar de forma independente e interagir com outros sistemas,
  • criado para ser tolerante a falhas para suas próprias falhas E para falhas de outros sistemas com os quais ele faz interface ( porque você não quer que o sistema de som do piloto abaixe os controles do motor, por exemplo).

Não é um grande computador que executa tudo. Se você pensar na perspectiva de uma aeronave militar em vez de comercial (embora seja semelhante a esse respeito, a imagem pode ajudar): se uma peça sofrer um tiro, você preferiria pelo menos que algumas outras partes fossem capazes para continuar (a parte que controla os sistemas de comunicação e segurança pode ser interessante para se manter vivo ...). Daí também o grande monte de botões que você vê nos jatos, para acompanhar o status de diferentes sistemas.

Eles geralmente são construídos como componentes personalizados operando seu próprio sistema, ou são executados e programados por um micro-kernel (na maioria dos casos, com suporte para em tempo real ).

Depende de fornecedores e países, obviamente, mas eles geralmente precisam seguir pelo menos conjuntos rígidos de regulamentos, requisitos de design e especificações de protocolo, que permitem:

  • o controle de sua estrita conformidade com os padrões de segurança e segurança,
  • a inter-comunicação com outros sistemas (muito melhor se o avião que você decolou em Reykjavik puder "falar" com aquele equipamento de controle de solo em Tóquio ...)

Esforços de padronização

O DO-178B (revisado em 1992) e seu sucessor DO-178C (revisado em 2012) (e vários documentos associados) são exemplos de certificações de referência para tais níveis de conformidade e são reconhecidos pelo FAA (EUA), EASA (EU) e Transport Canada, entre outros. Várias outras organizações estão envolvidas na criação de tais documentos, como o EUROCAE .

Tais sistemas aerotransportados são geralmente softwares sob medida, mas os seguintes sistemas são conhecidos por serem usados em alguns aviões:

Para dar uma ideia vaga dos elementos incorporados em um sistema aviônico, esta lista de siglas de aviônicos aponta para alguns deles (com alguma sobreposição).

Idiomas notáveis usados em aviônicos comerciais e militares

Além dos suspeitos usuais que conhecemos no mundo da programação "mainstream", você encontrará alguns nomes frequentemente referenciados como Ada , e alguns idiomas menos conhecidos como o (datado e agora" aposentado "desde 2010) JOVIAL .

Perguntas relacionadas ao StackExchange relacionadas:

por 18.06.2012 / 05:21
fonte
22

A maioria das aeronaves modernas usa um RTOS de uso geral (sistema operacional em tempo real) praticamente a mesma coisa que é usada em automação de fábrica, estações de energia, navios, etc.

Airbus usa alguns, incluindo INTEGRITY da Northrop-grumman e programa em C / C ++, a Boeing usa o VxWorks entre outros

    
por 18.06.2012 / 05:22
fonte
12

Por que vale a pena: Para naves espaciais (satélites e interplanetários), C e C ++ ainda são dominantes (e com uma conformidade muito estrita aos padrões ISO), geralmente executando o VxWorks. Os laboratórios geralmente usam o C ou o C ++ com base na familiaridade do desenvolvedor, na confiança na cadeia de ferramentas do compilador e nos padrões internos de codificação. Existem razões convincentes para ambos os idiomas para o software de voo em tempo real, mas cada organização tende a ficar com um ou outro. Instrumentos auxiliares, por outro lado, são comumente programados em Forth, C e linguagens de script cada vez mais modernas, como Lua.

    
por 18.06.2012 / 17:32
fonte
8
Vale a pena notar que os sistemas de controle são frequentemente desenvolvidos usando o design baseado em modelo usando o Simulink. O design é então convertido em código C automaticamente. Os humanos ainda leem e validam o código.

    
por 19.06.2012 / 21:16
fonte