Domanda:
I sistemi avionici critici per la sicurezza eseguono Linux?
traducerad
2017-04-04 05:39:23 UTC
view on stackexchange narkive permalink

Ho sentito diverse cose su questo. Alcune persone affermano che eseguire Linux su sistemi avionici critici per la sicurezza è una pessima idea. D'altra parte alcune persone (che non hanno familiarità con l'avionica) hanno detto che questo non è vero.

Quindi vorrei sapere, gli aerei oggigiorno girano su una distribuzione Linux? È una buona idea incorporare Linux in aereo? In caso contrario, perché?

[Correlato] (http://aviation.stackexchange.com/q/28009/62)
Probabilmente funzionano su sistemi operativi in ​​tempo reale di proprietà. Linux è una scelta piuttosto improbabile, poiché è complessa, non in tempo reale e molto probabile che abbia difetti a causa della complessità.
L'avionica critica per la sicurezza di solito ha un unico scopo. Probabilmente non eseguono nemmeno un sistema operativo nel senso normale.
Non vorresti che il tuo sistema avionico funzioni su _qualsiasi_ sistema operativo che possa dire: "Ehi, sai una cosa, penso che eseguirò quest'altro processo per un po '."
Ex ingegnere avionico. L'unico posto in cui troverai sistemi operativi standard è in * alcuni * sistemi di intrattenimento in volo (ad esempio alcuni utilizzano Android o Windows CE). Anche allora, la maggior parte dei grandi fornitori utilizza le proprie piattaforme personalizzate. Le cose critiche per la sicurezza funzionano solo su sistemi operativi proprietari a scopo singolo. Linux, Windows e così via non sono progettati per uno scopo e sono semplicemente troppo buggati per l'uso avionico. Le persone che dicono che è una cattiva idea non stanno fingendo, è vero.
@Simon come si può dimostrare che Linux è troppo bacato e non è l'opzione migliore?
non provi che è troppo pieno di bug, presumi che sia tutto pieno di bug, e se vuoi davvero usare qualcosa, dimostri che NON è fottuto bug.
@traducerad Certificare un kernel Linux per l'uso in avionica sarebbe un'attività incredibilmente complessa che costerebbe di più del semplice utilizzo di un RTOS specificamente progettato, documentato e testato con DO-178 in mente.
Un po 'correlato: alcuni dei rover della Nasa che inviano su Marte usano un RTOS (Real Time OS) proprietario: [VxWorks] (https://en.wikipedia.org/wiki/VxWorks). Ma non posso dire che possa essere utilizzato per l'avionica.
@kebs: Può, e lo è. VxWorks è certificato DO-178 e utilizzato sia da Boeing che da Airbus.
@MSalters: In che modo VxWorks gestisce il tempo reale su x86? (Apparentemente supporta x86 ?!)
Non ci vuole molto per dimostrare che Linux è troppo bacato. Mia moglie ha bloccato uno dei giochi su un sistema di intrattenimento in volo e abbiamo visto un pinguino scorrere oltre mentre la cosa si riavviava.
Cinque risposte:
#1
+40
Gerry
2017-04-04 18:01:28 UTC
view on stackexchange narkive permalink

Nessuno dei sistemi avionici su cui ho lavorato ha utilizzato Linux o qualsiasi sistema operativo di tipo consumer. Ci sono alcuni problemi principali.

Il primo è il pratico. La maggior parte dell'avionica critica per la sicurezza coinvolge un circuito di controllo e quindi ha un requisito in tempo reale. Ciò significa che non è solo importante eseguire un processo e ottenere una risposta, ma è necessario ottenere la risposta entro un vincolo di tempo strettamente controllato. Ogni processo software critico su un aereo è programmato per garantire un ciclo di controllo stabile. Per farlo, hai bisogno di un sistema operativo in tempo reale e Linux non lo è.

Il secondo è la necessità della certificazione. Il software utilizzato su un aeromobile deve essere sviluppato per soddisfare il livello di garanzia di sviluppo (DAL) appropriato per il livello di pericolo associato. I sistemi critici per la sicurezza devono soddisfare il livello DAL "A". Qualsiasi sistema operativo utilizzato deve soddisfare lo stesso DAL della funzione in esecuzione su di esso. Questi requisiti sono definiti in RTCA DO-178C. Linux non è stato sviluppato secondo questo standard. Esistono solo poche piattaforme di sviluppo di sistemi operativi / software che possono essere certificate. Green Hills, Wind River e LynxOS sono i pochi sistemi che conosco che soddisfano i requisiti.

C'è anche un altro vincolo in quanto la certificazione richiede un controllo della versione molto rigoroso. L'avionica esisterà sul campo per molti anni e anche qualsiasi modifica ad essa dovrà essere certificata. In generale, non c'è alcun motivo valido per aggiornare il sistema operativo su una vecchia unità e in molti casi non è possibile senza aggiornare l'hardware (che è una spesa maggiore che nessuno vuole). Quindi, nell'aggiornamento di una vecchia unità, devo creare il "nuovo" software da eseguire su qualsiasi versione del sistema operativo attualmente presente nel prodotto. Potrebbe essere una piattaforma di 15 o 20 anni (o più vecchia). Un sistema operativo in rapida evoluzione come Linux avrebbe un impatto negativo sul supporto del prodotto a lungo termine.

Potrebbe essere stupido ma ... Linux ha una patch in tempo reale. Cosa ne pensi di questo? Ciò renderebbe invalido il tuo primo punto?
@traducerad, Per quanto ne so, la patch / progetto RTLinux è rivolto a un target diverso, come l'elaborazione audio o alcuni calcoli ad alte prestazioni: non si ottiene un sistema operativo veramente in tempo reale (come Integrity, per esempio).
Il motivo per cui Linux non sarebbe stato utilizzato è a causa dell'onere di certificazione posto su qualsiasi software che esegue funzioni critiche per la sicurezza su un velivolo certificato di tipo.Ora non tutto il software deve soddisfare DAL A, il software deve soddisfare il livello di criticità più alto per la funzione che esegue.
Inoltre, Linux sarebbe eccessivo per quel tipo di sistemi. Ogni componente esegue solo una funzione definita in modo piuttosto ristretto, quindi il sistema operativo può essere molto più semplice (il che rende anche più facile la certificazione).
D'altra parte, Linux potrebbe essere in esecuzione su altri sistemi dell'aereo. Viene utilizzato in alcuni sistemi di intrattenimento di volo e potrebbe essere utilizzato nella "borsa da volo elettronica" integrata, anche se non so se lo sia effettivamente.
Correlati: [The Linux Scheduler: a Decade of Wasted Cores] (http://www.ece.ubc.ca/~sasha/papers/eurosys16-final29.pdf) e [Linux scheduler latency] (http: // www. eetimes.com/document.asp?doc_id=1200916) (per single core).
@JanHudec Linux potrebbe essere utilizzato in una Classe 1 o Classe 2 [EFB] (https://en.wikipedia.org/wiki/Electronic_flight_bag) ma è più probabile che sia un iPad o un laptop con Windows o MacOS. Si tratta di costi e semplicemente non si vedono molti laptop Linux in giro (non dimenticare l'addestramento dell'equipaggio). Non sono a conoscenza di compagnie aeree che utilizzano EFB di Classe 3 poiché sono apparecchiature installate e soggette a requisiti di certificazione. Perché aggiungere tutta quella spesa e il mal di testa quando è possibile utilizzare un tablet o un laptop?
@Gerry, Vedo molti tablet Linux però (perché Android * è Linux * - solo non un * GNU / Linux *).
Le compagnie aeree @Gerry, non installerebbero EFB di Classe 3 su aeromobili che non ne hanno uno dal produttore, ma AFAICT A380, A350 e B787 lo fanno.
Dici "Wind River e LynxOS" ma dalla mia comprensione Wind River è un fornitore che produce LynxOS. Non sono due sistemi operativi separati.
Wind River produce VxWorks.
@MarcoSanfilippo cosa intendi per "tempo reale reale ... (come Integtrity)"? Il tempo reale è tempo reale, non c'è modo di aggirarlo
@traducerad Intendevo qualcosa come _hard_ real time vs _soft_ real time. Se un sistema sta eseguendo, ad esempio, un'attività di elaborazione audio in tempo reale, può ** tranquillamente ** saltare alcuni campioni. Se un sistema gestisce gli attuatori idraulici di uno stabilizzatore, ** non può ** saltare alcuni comandi di input. :-)
#2
+29
Cody P
2017-04-09 03:36:18 UTC
view on stackexchange narkive permalink

La risposta breve è che nessun sistema avionico critico per la sicurezza di cui sono a conoscenza usa Linux, e i sistemi con la più alta criticità spesso non usano affatto un sistema operativo commerciale. Tuttavia, Linux è utilizzato in altre applicazioni critiche per la sicurezza come Space X Falcon 9 e applicazioni mediche. Una spiegazione più dettagliata è difficile da fare senza entrare troppo in profondità, poiché la domanda è un po 'come chiedere "le cellule moderne sono realizzate con nanomateriali?", Dove una spiegazione dettagliata dovrebbe coprire i pro ei contro del materiale, luoghi dove il suo utilizzo ha più o meno senso, differenze nei produttori e una panoramica di ciò che viene utilizzato al suo posto, ecc. Cercherò di coprire tutti questi punti in modo succinto con collegamenti ad ulteriori informazioni.

Secondo questo rapporto FAA del 2001, alcuni dei principali sistemi operativi per l'avionica certificata erano VRTX, LynxOS, PSOS, VxWorks e l'OSE di Enea, sebbene l'avionica non critica a volte utilizzi altri sistemi come Windows NT. (Sì, LynxOS è basato su Unix e Linux è considerato "Unix-like", ma ci sono molte differenze tra i due, proprio come un Linux non è simile al Mac OS X basato su BSD). Tuttavia, i sistemi più critici non utilizzano affatto un sistema operativo commerciale. Notano "Con le prove disponibili oggi, in generale, si può affermare che i prodotti COTS in genere non soddisfano i requisiti per il software di criticità di livello A." In parole povere, ciò significa che la maggior parte dell'avionica sviluppata con software di terze parti, da VxWorks a Linux, non veniva testata e analizzata abbastanza da essere inserita in qualcosa di critico come un sistema di atterraggio, un'unità TCAS o un'unità di visualizzazione critica. Tuttavia, probabilmente è cambiato negli ultimi 10 anni da quando il rapporto è stato scritto. Ecco un articolo più recente sull'utilizzo del sistema operativo in tempo reale nell'avionica.

Cosa significano RTOS e COTS?

Un concetto importante qui è un sistema operativo in tempo reale, o RTOS. Un RTOS in poche parole fornisce garanzie che il software non esaurisca il tempo di elaborazione programmato, i messaggi tra le parti del software vengono passati in un breve lasso di tempo, la memoria non si esaurirà e altre attività importanti sono garantite invece di funzionare bene in condizioni normali, quindi rompersi in condizioni insolite. I normali sistemi operativi non possono fornire tali garanzie. Queste garanzie, o sostituti accettabili, sono necessari per la certificazione della maggior parte dei prodotti avionici.

Un altro concetto importante è la differenza tra i sistemi interni e quelli commerciali (COTS). I sistemi commerciali standard sono disponibili pubblicamente e non sono personalizzati molto per ogni produttore. Questo articolo fornisce un buon riepilogo dei pro e dei contro dei sistemi operativi commerciali e interni. Molti avionici ad alta criticità hanno ancora il software principale sviluppato internamente a causa dei vantaggi coinvolti.

Linux soddisfa i requisiti di certificazione?

Sì, Linux non è "certificato FAA" ma in realtà nessun RTOS è "certificato FAA" o "soddisfa DO-178C". DO-178C fornisce obiettivi che gli ingegneri del sistema avionico devono soddisfare per certificare il loro intero software avionico (gli obiettivi comprendono audit, test, analisi di sicurezza e scrittura dei requisiti, tra le altre cose). Quindi il meglio che il fornitore di sistemi operativi può fare è fornire software "pronto per DO-178C" o seguire le linee guida DO-178C. Si noti che DO-178C riconosce vari livelli di sicurezza, quindi ciò che è certificabile in DO-178C per un sistema di manutenzione potrebbe non essere certificabile in DO-178C per un'unità di visualizzazione critica. Il problema con Linux non è che Linux non sia "certificato sotto DO-178C", è che è difficile da certificare a causa delle sfide indicate di seguito. È possibile certificare un sistema usando Linux, ma farlo potrebbe essere proibitivamente difficile a causa dell'analisi extra, delle misure di sicurezza e della documentazione che sarebbero necessarie, specialmente per l'avionica più critica. Alcune di queste sfide e metodi alternativi di conformità sono delineati in questo rapporto FAA.

Vantaggi e svantaggi di Linux

Ci sono vantaggi nell'utilizzo di Linux, che sono in parte condivise con altri sistemi commerciali. Più dipendenti avranno già esperienza con Linux e il sistema operativo è stato progettato con più esperienza e tempo di quanto la maggior parte delle organizzazioni abbia a disposizione. I sistemi commerciali hanno anche un prezzo delle etichette molto più basso rispetto al software interno. I sistemi commerciali sono anche più adattabili e consentono modifiche all'hardware e spazio per la crescita futura senza tornare al tavolo da disegno. Gli strumenti per lavorare con il software sono più sviluppati e possono anche avere una cronologia di servizio più lunga che fornisce fiducia nel software.

Ecco alcuni dei problemi che Linux deve affrontare in un sistema avionico quando compete con un RTOS , da questo rapporto FAA:

  • partizionamento: se si suppone che due programmi vengano eseguiti in modo indipendente, è necessario provare che un programma non può interferire con un altro attraverso la struttura della memoria condivisa, le cache, il supporto della scheda e il firmware, gli errori, le interruzioni, ecc.

  • tempo di esecuzione nel caso peggiore: nel computer desktop va bene se impantanano il mio PC con troppe richieste o condizioni insolite contemporaneamente e il sistema rallenta o salta alcuni passaggi del programma. In avionica questo non è accettabile per ovvie ragioni. Il fornitore avrebbe bisogno di verificarlo tramite modelli di CPU, memoria, ecc. O rigorosi test di laboratorio e analisi dei tempi. Entrambi sono più difficili quanto più complessi sono l'hardware e il software.

  • Copertura MCDC: i test sull'avionica più critica (Livello A) richiedono l'esecuzione di righe di codice e condizioni decisionali sufficienti per raggiungere l'MCDC standard di copertura del codice, che rientra tra "eseguire ogni riga di codice" e test esaustivi di ogni combinazione di condizioni. Alcuni sistemi operativi come Linux possono essere estremamente difficili da testare in modo sufficientemente approfondito da soddisfare questo standard.
  • documentazione: analisi rigorose e stress test richiedono molta documentazione sul funzionamento interno del sistema operativo
  • considerazioni sulla sicurezza: Linux in base alla progettazione ha più problemi di sicurezza di un'applicazione snella e interna. Questi problemi di sicurezza stanno diventando sempre più importanti, specialmente nel codice militare
  • morto e irraggiungibile: disabilitare attentamente le molte funzioni inutilizzate di Linux e garantire che non possano interferire con il tuo software è solitamente richiesta per la certificazione

Altri settori critici per la sicurezza

Che dire di settori simili critici per la sicurezza? Lo Space X Falcon utilizza Linux in alcuni dei suoi computer di volo ( fonti). Sulla base di questa intervista, Space X sembra dare la priorità alla crescita futura, alla disponibilità, ai tempi di ciclo brevi e alle competenze rispetto alla semplicità e alla robustezza dello sviluppo interno in quest'area. Si noti che i computer di controllo del volo sullo Space X Falcon non sono direttamente analoghi a un LRU nella tipica avionica moderna, quindi è probabile che sia necessario un lavoro extra o un'architettura insolita per far funzionare Linux per le tipiche applicazioni avioniche.

Linux è utilizzato anche in molte applicazioni mediche critiche per la sicurezza, ma non senza problemi simili a quelli affrontati nell'aviazione. Ti consiglio di leggere "Choosing Linux for Medical Devices" di Wind River o questo articolo sugli svantaggi di Linux nelle applicazioni mediche critiche per la sicurezza.

Suppongo che tu stia parlando dei principali elementi avionici come la guida di volo, il pilota automatico, il fly-by-wire o i display. Altri sistemi di aeroplani potrebbero vagamente essere considerati critici per la sicurezza, ma non sono esempi tipici di dispositivi critici per la sicurezza, come borse di volo elettroniche certificate, soluzioni di connettività e software di manutenzione. A volte sono più adatti per un'applicazione Linux a causa dell'elevata complessità e di considerazioni di sicurezza meno rigorose.

Nota che non sono un esperto in questo campo e il mio consiglio non sostituisce il consiglio di uno specialista di certificazione.

Risposta molto buona e completa. Vorrei anche sottolineare che la maggior parte degli avionici non utilizza affatto un RTOS, preferendo eseguire direttamente sul processore.
Devo contestare la tua affermazione che "LynxOS è basato su Unix, proprio come Linux". Linux è "basato su Unix" più o meno allo stesso modo in cui Windows 8 è "basato su CP / M", in quanto condividono una piccola storia comune, ma sono implementazioni completamente separate. (Il fatto che i sistemi Unix abbiano assunto parte del software userland tipicamente visto sui sistemi Linux, in particolare GNU, è un'altra questione.) Sarebbe meglio dire che Linux implementa lo standard POSIX, a cui la maggior parte degli Unix (non so su LynxOS) * anche * conforme; ciò, tuttavia, non rende Linux "basato su Unix".
@MichaelKjörling Ho chiarito che Linux è "Unix like" e che ci sono molte differenze tra i due. Il punto principale qui è chiarire che LynxOS non è solo un altro tipo di Linux. Non penso che dovremmo entrare nelle sfumature del modo in cui le distribuzioni Linux sono per lo più conformi a POSIX e non certificate per POSIX.
#3
+3
h22
2018-03-12 00:48:14 UTC
view on stackexchange narkive permalink

Sembra che i piloti ora almeno a volte utilizzino i tablet per le liste di controllo.

Se questi tablet sono dispositivi Android ( la maggior parte), eseguono il kernel Linux. Android utilizza meno dello stack Linux standard ma utilizza ancora il kernel Linux. Le liste di controllo sono fondamentali per la sicurezza, credo. I tablet Apple e Windows utilizzano kernel diversi, non Linux.

Esistono molte app con elenchi di controllo per dispositivi Android. Presumo che qualcuno li usi.

Il kernel è il cuore del sistema operativo di un computer che mantiene il controllo completo su tutte le altre parti. Come il cablaggio di un aereo di linea.

Così come i programmi di mappatura.
Le liste di controllo sono importanti, ma non sono critiche per la sicurezza nello stesso modo in cui, ad esempio, lo è un sistema FBW, quindi non sarebbero soggette allo stesso livello di garanzia di sviluppo per le apparecchiature critiche per la sicurezza come altre avioniche.
#4
+2
Koyovis
2017-08-30 13:37:38 UTC
view on stackexchange narkive permalink

Linux viene utilizzato per applicazioni critiche per la sicurezza? No sì. Forse. Abbi pazienza ...

enter image description here

La USS Umwalt utilizza Linux per i suoi ampi requisiti di dati e LynxOS per applicazioni hard real-time incorporate , descritto in questo articolo.

Laptop standard Linux è un sistema operativo in spazio utente: attende che un utente faccia clic con il mouse, prema un tasto o generi un output, quindi agisce. Potrebbero essere aperti o meno molti programmi. L'input dell'utente è un evento statistico per quanto riguarda l'O / S: può o non può accadere nel prossimo minuto.

Confrontalo con un loop di controllo digitale. Funziona su un processore e utilizza la memoria, solo l'hardware standard del computer. Ma differiscono dal software desktop in quanto:

  • Sono incorporati;
  • Hanno una serie di attività predefinite;
  • Avere rigidi vincoli temporali;
  • Corri in un ciclo infinito. Alla fine del programma torna all'inizio e ripete la routine, questo sarebbe un frame di iterazione.

Il software deve leggere gli input e generare output, ogni iterazione e un frame di iterazione viene eseguito per un periodo di tempo fisso. Un sistema hard real time è un sistema in cui le risposte a tempo devono essere deterministiche: qualunque cosa faccia deve essere terminata in un'unica iterazione software. Se il ciclo di controllo viene eseguito a 100 Hz, un ciclo di iterazione richiede 10 msec e l'hardware deve essere abbastanza veloce da garantire che l'intero processo possa finire nel tempo, ogni volta.

Questi cicli di controllo sono generalmente non è enorme, e generalmente non ha un numero di finestre aperte compreso tra 1 e 100. Programmi piccoli e veloci e un numero limitato di finestre, ecco come vengono creati O / S per programmi critici per la sicurezza e loop in tempo reale. Il che è fantastico, ai vecchi tempi non c'era un O / S per questo e il codice doveva essere scritto in assembler o peggio. Le chiamate I / O erano specifiche dell'hardware e quindi non portabili da un chipset a un altro.

È qui che entrano in gioco gli O / S in tempo reale come VxWorks, LynxOS e pochi altri. Sono O / S basati su Unix e compatibili POSIX. Il livello hardware è reso invisibile per il programmatore, che dispone di una serie di strumenti di sviluppo per l'utilizzo di linguaggi per computer di alto livello con chiamate I / O standard e routine di temporizzazione. Sono scalabili: puoi iniziare con un O / S che si avvia e quindi esegue immediatamente il tuo file binario cross-compilato a una velocità impostata sull'interfaccia del timer. Oppure puoi riconfigurare il kernel e includere un paio di interrupt utente che guardano le tastiere oi dati RS-232 in arrivo, tutto fino al programmatore, che ha anche un ampio kit di strumenti per temporizzazione e I / O.

VxWorks può essere costoso (ma è ben supportato) e ora sono disponibili alcune alternative open source basate sul kernel Linux come Xenomai, RTLinux e Xilinx. Alcuni di questi tentano di avere tutti i servizi disponibili per le applicazioni desktop e hanno solo un timer di interruzione che fa del suo meglio per mantenere l'attività in esecuzione in modo uniforme, anche se un elaboratore di testi avvia un controllo ortografico. Altri sono scalabili in tempi difficili, proprio come VxWorks, ma sono open source e il supporto può essere una sfida. Per quanto ne so non sono ancora stati su Marte, VxWorks sì.

Può essere utilizzato per l'avionica critica per la sicurezza: sì, se scalabile in tempo reale e testato secondo gli standard applicabili a tutti gli avionici . Per quanto mi riguarda ora non c'è ancora niente a bordo di un aereo, ma potrebbe essere solo una questione di tempo.

* "L'hardware deve essere abbastanza veloce da garantire che il processo possa finire entro un ciclo." * Penso che tu stia mescolando cicli di clock e intervalli di tempo. Singole istruzioni, come recuperi e salti, possono richiedere più cicli di clock per essere completate, solo un cambio di contesto dentro e fuori da un interrupt è più di un ciclo di clock. Un "processo" non può essere completato fisicamente in un singolo ciclo di clock.
Sì, se miriamo alla correttezza tecnica, @RonBeyer è corretto. Durante la modifica, potresti anche voler cambiare "sistema operativo spazio utente" in "sistema operativo orientato all'utente *". Nello sviluppo di software di basso livello, come quello in cui saresti coinvolto se stai lavorando su un sistema operativo, "spazio utente" in genere significa codice non privilegiato eseguito sotto la supervisione del sistema operativo; l'opposto viene spesso definito "spazio kernel" che, come avrete intuito, è il modo in cui viene eseguito il kernel del sistema operativo, senza supervisione. Si noti che questo è diverso dai privati ​​dell'account amministratore / utente normale.
@RonBeyer In effetti, non il clock del processore ovviamente.
@MichaelKjörling Non c'è codice senza privilegi in un O / S hard real-time.
Quello è *** NON *** la "USS Umwalt", è la *** "USS ZUMWALT" ***; nota l'ortografia del mio cognome. E sì, sono imparentato con l'ammiraglio Elmo Zumwalt, ora deceduto, da cui prende il nome questa nave e questa classe di navi.
Secondo te LynxOS è migliore o peggiore rispetto a RTOS più diffusi come VXWorks e QNX? Ho un paio di persone intorno a me che lavorano con LynxOS per vivere e lo odio assolutamente. Oltre a ciò, a quanto pare, l'assistenza clienti per LynxOS è un incubo assoluto.
#5
+2
tj1000
2017-08-31 20:28:13 UTC
view on stackexchange narkive permalink

Non c'è davvero bisogno di avere un sistema operativo commerciale sull'avionica.

Il software avionico tende ad essere progettato per hardware specifico: non esiste una piattaforma hardware generica realizzata in un mercato di massa da molti fornitori.

Gli avionici non interagiscono con molti altri sistemi o hardware.

L'avionica di solito viene eseguita come un'unica applicazione, quindi non è necessario il timesharing o, nel caso di RTOS, una pianificazione del ciclo di clock garantita.

Questi sono gli scopi principali di un sistema operativo rispetto a un semplice caricatore di bootstrap che carica e avvia un'applicazione: il sistema operativo facilita più piattaforme hardware, più driver e utilità per l'archiviazione su disco / flash, la condivisione del tempo con altre applicazioni e dispositivi periferici come il networking. Cosa deve fare l'avionica: interagire con il display, sensori esterni e pulsanti di controllo - non è necessario coinvolgere un sistema operativo.

Un sistema operativo incorporato è utile per un dispositivo dedicato, specialmente se l'applicazione incorporata pubblicherà servizi web per l'accesso e il controllo esterni. Tuttavia, è più lento da caricare (potrebbe essere un fattore per l'avionica) e consuma più risorse di un'app dedicata che viene avviata da un caricatore di bootstrap.

A causa dell'ampio ciclo di certificazione, l'avionica non tende a eseguire l'ultima e la migliore, né ha un breve ciclo di aggiornamento sull'hardware.

Non esiste un bus dati in esecuzione su un aereo, Arimc o Milbus, con più strumenti che funzionano a velocità di aggiornamento diverse, che hanno bisogno di ricevere ed emettere i propri dati a velocità determinate? Il tuo strumento funziona completamente da solo e l'applicazione non viene mai portata su un nuovo hardware?


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...