Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Multithreading MS-DOS
Forum - C/C++ - Multithreading MS-DOS

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Visto che il precedente post è stato chiuso per 3 lettere in più nel titolo,
lo riapro.

durante alcuni esperimenti ho notato che, sotto linux ubuntu, è disponibile l'include thread.h (mi sembra si chiami così), che permette appunto di avviare e gestire più thread contemporaneamente (un pò come avviene in .net).

Esiste un include simile sotto C++ per MS-DOS (utilizzo freedos al momento)?

Se riuscissi a creare dei thread sotto MS-DOS (e quindi NON Win32 consolle blabla)
....eviterei di dover cambiare piattaforma (da ms-dos a win) senza lo sbattimento di dover riscrivere il programma in un'altro linguaggio

Grazie

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 17:30
Venerdì, 11/06/2010
il sistema operativo MS-DOS esegue solo programmi Single Task e Single Thread.

Se vuoi implementare un programma multithreaded in DOS devi scriverti il tuo personale thread-context-switcher o appoggiarti a librerie che implementano in maniera grezza il multithreading (se esistono).

E' fattibile, ma non è affatto una cosa semplice da fare, in pratica dovresti scriverti un pezzo di kernel per conto tuo...

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:37
Venerdì, 11/06/2010
temevo questa risposta..... diciamo che impiegherei di più a realizzarla che a rifare tutto da capo.... cavolo

Ironia della sorte non posso utilizzare il codice sotto linux perchè utilizzo l'include msdos.h per gestire le porte seriali! GRRRRRR :rotfl:

Grazie per il chiarimento comunque

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:42
Venerdì, 11/06/2010
Testo quotato

Postato originariamente da Neo1986:

Visto che il precedente post è stato chiuso per 3 lettere in più nel titolo,
lo riapro.




le regole valgono per te come per tutti :)


Testo quotato

Postato originariamente da Neo1986:

durante alcuni esperimenti ho notato che, sotto linux ubuntu, è disponibile l'include thread.h (mi sembra si chiami così), che permette appunto di avviare e gestire più thread contemporaneamente (un pò come avviene in .net).

Esiste un include simile sotto C++ per MS-DOS (utilizzo freedos al momento)?

Se riuscissi a creare dei thread sotto MS-DOS (e quindi NON Win32 consolle blabla)
....eviterei di dover cambiare piattaforma (da ms-dos a win) senza lo sbattimento di dover riscrivere il programma in un'altro linguaggio




perchè hai la necessità di usare ms-dos?

esistono delle api di windows che permettono di gestire la porta seriale tranquillamente, come anche ottime classi di .NET .

dipende quanto è grosso il programma che devi portare.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:50
Venerdì, 11/06/2010
Testo quotato


le regole valgono per te come per tutti



;) hai ragione, ma un pò di tolleranza però....



Ho la necessità di utilizzare dos per tre motivi :

1) Girano su delle schede embedded con cpu da 70mhz (che purtroppo da 1 mese non vendono più perchè sostituite da cpu atom)
2) Il software è già completamente steso, utilizzando include msdos, quindi zero portabilità
3) Non sarebbe male avere a disposizione dei thread per rendere il codice un pò più performante

Ma a questo punto mi sa che andrò su .Net con Windows Embedded e atom 1.6, anche se dovrò riscrivere tutto, linux devo escluderlo perchè installare driver delle schede embedded è molto complicato ed alcuni produttori non li forniscono nemmeno!

8-| altri 2 mesi di lavoro

Ultima modifica effettuata da il 11/06/2010 alle 17:51
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:54
Venerdì, 11/06/2010
Testo quotato

Postato originariamente da Neo1986:

Testo quotato


le regole valgono per te come per tutti



;) hai ragione, ma un pò di tolleranza però....



Ho la necessità di utilizzare dos per tre motivi :

1) Girano su delle schede embedded con cpu da 70mhz (che purtroppo da 1 mese non vendono più perchè sostituite da cpu atom)
2) Il software è già completamente steso, utilizzando include msdos, quindi zero portabilità
3) Non sarebbe male avere a disposizione dei thread per rendere il codice un pò più performante

Ma a questo punto mi sa che andrò su .Net con Windows Embedded e atom 1.6, anche se dovrò riscrivere tutto, linux devo escluderlo perchè installare driver delle schede embedded è molto complicato ed alcuni produttori non li forniscono nemmeno!

8-| altri 2 mesi di lavoro



se decidi di riscrivere tutto, lo puoi fare in .NET utilizzando il Micro Framework:

http://msdn.microsoft.com/it-it/library/cc185077.aspx
http://en.wikipedia.org/wiki/.NET_Micro_Framework

però c'è da vedere se l'hw che hai a disposizione lo supporta...


PM Quote