Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Sistemi Operativi Embedded - Quale scegliere?


Messaggi consigliati

Inserito:

Salve a tutti , qualcuno ha esperienza con i sistemi operativi Embedded come Windows CE o Windows XP Embedded?

Sapreste dirmi quali sono le differenze sostanziali con le versioni di windows da Desktop, per quanto riguarda il funzionamento e la programmazione?

Vorrei realizzare un semplice sistema SCADA che però ha tempistiche abbastanza stringenti : ho una buona conoscenza di VB6 , dite che in una settimana posso riuscire a cavarmela per passare da XP a XP Embedded?

Sono graditi link a siti e materiale in italiano sui S.O. Embedded in generale.


Federico Milan
Inserita:

salvo smentite su WinCE5.0 non è ancora presente l'"interprete" basic, quindi VB non lo si può attualmente utilizzare ...

Non ho esperienza sui sistemi embeded, ma credo che 1 settimana sia molto ottimistico implementare un scada seppur semplice...

link .... sicuramente Microsoft ...

ciao

ifachsoftware
Inserita:

XP Embedded e' esattamente XP solo che puoi scegliere i componenti per piazzarlo in un disco FLASH.

WIN CE e' un'altra cosa ossia e' un sistema operativo real-time e lo puoi programmare con NET , non so le tue capacita' e non ho mai usato il WIN CE ma ritengo che 1 settimana sia impensabile.

Ciao :)

Inserita:
WIN CE e' un'altra cosa ossia e' un sistema operativo real-time
ifachsoftware
Inserita: (modificato)

Un sistema operativo real-time e' un sistema operativo che lavora a task e quando gli imposti che un task va eseguito SEMPRE in xx ms quello lo esegue sempre in quel tot di ms.

Il dos e' un sistema operativo che non gestisce i task , QNX , VXWORKS , MicroC/OS-II , WIN CE si.

Ciao :)

Modificato: da ifachsoftware
Inserita:

Dunque, essendo il DOS monotasking, vi si possono srivere appliazioni definibili real-time! É così?

Inserita:

Primo definire Real Time, secondo Real Time e multitasks non devone essere necessariamente contemporanei. Si puoò avere un multitask non real time e viceversa.

Se per real time intendiamo tempo reale per operare nel campo dell'automazione industriale e controllo di processo, si dovrebbe escludere Win ed i suoi derivati WinCe compreso. DOS invece può operare con buoni risultati in tempo reale, specie se si ha l'accortezza di usare driver di periferiche a basso livello, costruiti ad hoc (embedded). In compenso DOS non è multitask, anche se è possibile costruire applicazioni multitask che girano sotto DOS. WIN e derivati sono multitask, anche se non di eccelsa sicurezza (XP-Pro è un po' megli), ma assolutamente inadatti al real time. Idem per LINUX nelle versioni PC. Derivando da Unix, Linux è più robusto di Win, ma non sufficientemente sicuro.

Veri Real Time Operating Systems ed anche multitasking robusti, sono alcuni sitemi embedde quali, ad esempio, RTOS Siemens (molto robusto e performante) di derivazione Intel, infatti è molto simile al MTRTOS. Di RTOS che girano su PC il più conusciuto è senzaltro QNX, di cui ne esistono varie versioni, di cui una free.

Inserita:

Sul fatto che Windows CE 5.0 (a partire dalla versione 3.0) sia veramente real-time, vi rimando ad una serie di test fatti da:

Dedicated Systems Expert

About Dedicated Systems Experts:

Dedicated Systems Experts delivers best-of-class expertise and services, to a world-wide client base, in system validation consulting and dedicated systems engineering support. DS-Experts is most often called upon by its customers to assist in projects that are overdue or even deadlocked due to performance, debugging or other problems.

Additional information about Dedicated Systems Experts or the Windows CE 3.0 evaluation report is available at:

http://www.dedicated-systems.com/Experts/

mailto:info[at]dedicated-systems.com

l'articolo lo potete trovare:

http://www.ddj.com/documents/s=1782/ddj0112f/

Lo stesso non si può dire per Win XPe.

Inserita:
Se per real time intendiamo tempo reale per operare nel campo dell'automazione industriale e controllo di processo, si dovrebbe escludere Win ed i suoi derivati WinCe compreso.
Inserita:

A quanto pare Livio mi conferma quanto già mi aspettavo. In cima alla mie preferenze il Dos rimane imbattuto in fatto di affidabilità (sempre nell'ambito delle distribuzioni ad ampia utenza). Fatto sta che mi piacerebbe evolvere questa lista...

...e allora, scusate l'insistenza ma ritorno sul mio quesito iniziale, ovvero, in base a quale principio posso riconoscere se un sistema operativo è real time oppure no.

1- mi metto difronte alle porte I/0, ci butto dentro un bit e cronometro quanto tempo impiega ad uscirne.

2- mi fido di chi mi propone il SO che mi racconta che si tratta di un Real-Time.

3- se ne ho la possibilità mi informo su come è scritto il codice.

...in quest'ultimo caso quale è il criterio di giudizio? In quale istanza il codice del kernel definisce se si tratta di un Real time o no? Ad esempio, portare un processore IAx86 in modalità protetta della memoria compromette un buon rendimento come Real-Time?

Ciao a tutti

Inserita:

Caro Colombani un Real Time Opetarating System (RTOS) è un sistema operativo i cui ritardi sono ininfluenti sul sistema controllato e/o sull'interfaccia. Se l'interlocutore è un essere umano anche WinXX si può considerare real time o quasi. Se mi serve per controllare un interpolatore circolare su 3 assi... è tutta un'altra cosa. Se devo richiamare un task ogni 0.5 ms ed il task dura <50us è evidente che un tempo di latenza di 35us è un'enormità inaccettabile.

Altro parametro per valutare la bontà din un multitask è il time slice minimo da dedicara ad ogni task. Cerco di spiegare meglio, se ci riesco. Ad ogni task, indipendentemente dalla durata, viene assegnato un tempo di CPU, detto time slice. Trascorso questo intervallo, se i l task è ancora attivo lo scheduler lo sospende d'imperio e la CPU è riassegnata al task in attesa a maggior priorità.

Ogni RTOS che sia degno di questo nome lavora in questo modo, e permette di determinare la lunghezza di time slice tra un minimo ed un massimo. Più piccolo è l'intervallo minimo di tempo assegnabile, più performante dovrebbe essere il sistema.

Per tutti gli RTOS professionali vengono dati dei banch mark sui tempi massimi di latenza dei task e della rispostaagli interrupts. Ovviamnete più corti sono i tempi di latenza migliori sono le prestazioni.

Ovviamnete si hanno anche i valori minimi e quelli medi e/o tipici. però un buon progettista (oserei dire un progettista) considera solo il caso pessimo per le valutazioni del suo sistema.

Inserita:

Livio, hai esperienza pratica di sistemi real time? se si quale hai utlizzato?

Se non ho capito male, utilizzi QNX con quali applicativi?

Ciao

Omar

Inserita:

Non utilizzo QNX, anche so l'ho preso in considerazione per applicazioni di controllo.

Ho usato RTOS su micro embedded ed anche su schede PC like, sempre per applicazioni di controllo.

Inserita:

Caro Livio, ora le mie idee cominciano ad essere un po' più chiare. In base a quanto dici evinco che il concetto di Realt-Time è relativo alla funzione, o al processo, che si vuole assicurare. Non si tratta cioé di un attributo intrinseco al sistema, in base al quale si possa definire se un sistema operativo è di tipo "Real Time" oppure no.

Sulla stessa linea anche Giorgio Buttazzo, esperto di sistemi operativi real-time, ricercatore e docente all'università di Pavia nonché membro del EEEI Computing.

Ecco cosa scrive nel cercare di definire il concetto:

La differenza principale tra un processo real-time e un processo non real-time è che un processo real-time deve terminare entro una scadenza temporale prefissata, che prende il nome di deadline. La deadline è il tempo massimo entro cui un processo deve terminare la propria esecuzione.
Inserita:
...membro del EEEI Computing
Inserita:
Idem per la protezione delle aree di codice e di dati. Se proteggi tutte le aree è impossibile che un applicativo possa "sporcare" lo stack, p.e.. Questa è un'evento che su Win capita abbastanza spesso..

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...