Ho lavorato su VxWorks 5.5 molto tempo fa ed è stata la migliore esperienza di lavoro sul miglior sistema operativo in tempo reale del mondo. Da allora non ho mai avuto la possibilità di lavorarci di nuovo. Ma una domanda continua a saltarmi addosso, ciò che rende è così veloce e deterministico?Cosa rende VxWorks così deterministico e veloce?
Non sono riuscito a trovare molti riferimenti per questa domanda tramite Google.
Così, ho solo cercato di pensare ciò che rende un normale sistema operativo non-deterministico:
di allocazione della memoria/de-allocazione: - Wiki dice RTOS utilizzo fisso blocchi di dimensioni, in modo che questi blocchi possono essere indicizzati direttamente ma ciò causerà la frammentazione interna e sono sicuro che questo non è affatto auspicabile nei sistemi mission critical in cui la memoria è già limitata.
Paging/segmentazione: - Il suo tipo di legato al punto 1
gestione degli interrupt: - Non sono sicuro di come VxWorks lo implementa, in quanto questo è qualcosa di VxWorks gestisce molto bene il passaggio
Contesto: - credo in VxWorks 5.5 tutti i processi utilizzati per eseguire in kernel spazio di indirizzamento, quindi la commutazione di contesto abituato a coinvolgere solo salvare i valori del registro e niente di PCB (blocco di controllo di processo), ma ancora non sono sicuro al 100%
processo algoritmi di schedulazione: - Se Windows implementa la pianificazione preventiva (priorità/round robin), allora la pianificazione della elaborazione sarà veloce come in VxWorks? Non lo penso. Quindi, in che modo VxWorks gestisce la pianificazione?
Si prega di correggere la mia comprensione ovunque richiesto.
Qualsiasi acquirente per questo ?? –