Domanda

Questa domanda mi ha infastidito da molto tempo, ho provato a cercare online ma non ha avuto alcuna risposta.Capisco la differenza tra un sistema operativo normale e un RTOS.Volevo capire quali sono i vincoli aggiuntivi (se presenti) imposti su un programmatore di applicazioni per un RTOS?

Ad esempio ho alcuni requisiti e ho bisogno di implementare una soluzione che funziona su un sistema operativo normale e su un RTOS.Quali aspetti dovrei fare attenzione quando sto implementazione della soluzione per gli RTO?Se dovrei profilare il mio codice per verificare la memoria esatta, i requisiti di elaborazione che dovrei dare allo scheduler RTOS che eseguirà qualche analisi di fattibilità e determinerà se può includere la mia applicazione nel programma esistente?

Alcuni possono darmi esempi pratici di come questo è fatto in RTO come OSE, Windriver ecc?

È stato utile?

Soluzione

La maggior parte dei RTOS è pianificatore di filettature anziché scheduler di processo, quindi c'è solo una "applicazione" come tale, realizzata con file multipli in un processo singolo .In tale contesto, il problema della pianificabilità della tua "applicazione" è disattivato, poiché c'è solo una applicazione .

Se hai un compito non in tempo reale (ed è forse implicito che questo è il caso se è anche in grado di eseguirlo su un sistema operativo generale (GPO), quindi su un RTOS che potresti eseguirlo a Abassa priorità a un livello condiviso da altri compiti non in tempo reale con abilitato a temperature round-robin abilitato - quei thread pianifica quindi in modo simile a quello di un GPOS. Si noti che se uno o più di questi thread mai I rendimenti, devono essere eseguiti al livello di priorità più basso possibile, e in ogni caso tale comportamento sarebbe generalmente indesiderabile - essenzialmente tali discussioni diventano attività inattiva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top