Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-10-2008, 09:58   #1
jugo
Junior Member
 
Iscritto dal: May 2006
Messaggi: 8
[C++] Gestione task da C Dos a Visual C++

Salve a tutti!
devo fare un porting di un programma da C sotto Dos a Visual C++ Windows per il controllo di apparecchiature medicali.
Il core del programma sono 5 task (gestione tastiera, gestione allarmi, gestione processo, ecc.) che girano insieme (tempo ciclo totale 2,5 secondi) l'esecuzione dei task è gestita da rutine in assembler, inoltre c'è un WatchDog.
Sono problematiche per me nuove. Qual'è il modo più semplice e sicuro per gestire i task in VisualC? Ho visto che nella casella degli strumenti ci sono i componenti Process (per i task) e Timer (per il Watchdog) posso usare quelli? Grazie.
jugo è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2008, 14:40   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da jugo Guarda i messaggi
Salve a tutti!
devo fare un porting di un programma da C sotto Dos a Visual C++ Windows per il controllo di apparecchiature medicali.
Il core del programma sono 5 task (gestione tastiera, gestione allarmi, gestione processo, ecc.) che girano insieme (tempo ciclo totale 2,5 secondi) l'esecuzione dei task è gestita da rutine in assembler, inoltre c'è un WatchDog.
Sono problematiche per me nuove. Qual'è il modo più semplice e sicuro per gestire i task in VisualC? Ho visto che nella casella degli strumenti ci sono i componenti Process (per i task) e Timer (per il Watchdog) posso usare quelli? Grazie.
Non dico nulla di nuovo affermando che il Dos non era multitasking. Infatti dici che l'esecuzione dei task era (e') gestita da routine in assembler.
Ovviamente servirebbe sapere qualcosina di piu' su questo punto, anche perche' i task devono comunicare fra di loro. Come?

Siccome sei impegnato in un porting, vorresti farlo nella maniera piu' "indolore" possibile, cercando di utilizzare anche un modo di comunicazione fra processi che sia simile a quello originale.

Immagino che una architettura a thread sia quella piu' simile a quella originale: non ho sottomano l'implementazione ma posso immaginare (grazie anche ai nomi dei "gestori" che hai scritto) che queste routine in assembler siano piuttosto limitate nei servizi che possono offrire, limitandosi a rischedulare delle funzioni a mo' di thread. Posso anche immaginare che la comunicazione avvenga tramite variabili globali condivise (si usava implementare delle code) che portassero i vari "eventi" da tastiera, allarmi, processo... al "thread" principale.

Suggerimento: comincia a guardare la CreateThread() su MSDN....

PS - modifica il titolo del tuo thread, prima che lo chiudano
__________________
In God we trust; all others bring data

Ultima modifica di sottovento : 09-10-2008 alle 14:41. Motivo: PS
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v