PDA

View Full Version : [c] chi mi può aiutare?1 esercizio o vengo bocciato


Gremo
13-06-2005, 15:38
ciao :cry: non riesco a fare questoesercizio per passare il compito all'università, se qualcuno di voi riuscisse ad aiutarmi... :)

Si consideri il caso di un processo sequenziale che genera, durante la sua esecuzione, un numero N + 1 di thread dei quali uno funge da server dei rimanenti N client. Si supponga che il thread server abbia la tipica struttura di loop in cui, dopo la necessaria inizializzazione, si pone in attesa di richieste dai client sulla porta Port. Ricevuta una richiesta il server la elabora e restituisce la dovuta risposta al client; successivamente il server si rimette in ascolto per una nuova richiesta.

Si realizzino gli N client come semplici thread che, dopo l'ovvia inizializzazione, attendono s secondi, col comando sleep(s), eseguono una qualche computazione e, quindi, lanciano la richiesta al server sulla porta Port per poi attendere la risposta. Si implementi tale protocollo di richiesta in modo da permettere solo un numero M < N di richieste vengano contemporaneamente evase dal server. Questo significa che la coda delle richieste pendenti non può superare M.

Dunque, un cliente dovrà negoziare col server la sua disponibilità ad accettare la richiesta inviandola alla porta Free e, soltanto in caso affermativo, la sua richiesta verrà inoltrata alla porta Port dove il client continuerà l'attesa. Altrimenti terminerà immediatamente l'esecuzione

ho 2 giorni di tempo :cry:

Marinelli
13-06-2005, 16:15
Beh, intanto incomincia... due giorni sono più che sufficienti per scrivere il programma. In laboratorio al Poli abbiamo poco più di un'ora per buttare giù qualcosa di simile.

Ciao :)

P.S. Qui sul forum si aiuta, non si fa il lavoro degli altri ;)

Gremo
13-06-2005, 16:21
Beh, intanto incomincia... due giorni sono più che sufficienti per scrivere il programma. In laboratorio al Poli abbiamo poco più di un'ora per buttare giù qualcosa di simile.

Ciao :)

P.S. Qui sul forum si aiuta, non si fa il lavoro degli altri ;)

nn so niente di c, so qualcosa di programmazione java...e thread
il problema è proprio quello di capire come si crea un thread, come si sincronizza in metodo (java...) insomma qualche tutorial ben fatto, tu mi sapresti aiutare?

Fenomeno85
13-06-2005, 16:21
Beh, intanto incomincia... due giorni sono più che sufficienti per scrivere il programma. In laboratorio al Poli abbiamo poco più di un'ora per buttare giù qualcosa di simile.

Ciao :)

P.S. Qui sul forum si aiuta, non si fa il lavoro degli altri ;)

ma va che sei proprio bastardo dentro è :asd:
cmq dai su che in una oretta scarsa lo fai quel problema :D

OT:
cmq per la cronaca il cd l'ho messo in cartella :asd: :stordita: rifatto il programma per domani record :D 15 minuti a fuoco compilato e funzega alla grande domani voglio i due punti :D

~§~ Sempre E Solo Lei ~§~

Fenomeno85
13-06-2005, 16:22
nn so niente di c, so qualcosa di programmazione java...e thread
il problema è proprio quello di capire come si crea un thread, come si sincronizza in metodo (java...) insomma qualche tutorial ben fatto, tu mi sapresti aiutare?

per creare un figlio ti basta usare fork ;)


~§~ Sempre E Solo Lei ~§~

Gremo
13-06-2005, 16:24
se nn consegno l'esercizio la mia laurea slitta di 1 anno, e mi mancano solo pochi esami :(
inizierò ma ripeto, avete qualche tutorial?

Fenomeno85
13-06-2005, 16:28
se nn consegno l'esercizio la mia laurea slitta di 1 anno, e mi mancano solo pochi esami :(
inizierò ma ripeto, avete qualche tutorial?

scusa ma che ti hanno detto di sviluppare un programma in un linguaggio che manco avete fatto?? é un pò dura spiegarti tutto quello che c'è sotto e non ho manco tutorial

~§~ Sempre E Solo Lei ~§~

Gremo
13-06-2005, 16:30
scusa ma che ti hanno detto di sviluppare un programma in un linguaggio che manco avete fatto?? é un pò dura spiegarti tutto quello che c'è sotto e non ho manco tutorial

~§~ Sempre E Solo Lei ~§~

ce l'hanno spiegato e molto male purtroppo, questo spiega perchè alle lezioni di un prof ci sono 1-2 persone a seguirlo, quando in corso saremo in 200

Marinelli
13-06-2005, 16:47
ma va che sei proprio bastardo dentro è :asd:
cmq dai su che in una oretta scarsa lo fai quel problema :D

OT:
cmq per la cronaca il cd l'ho messo in cartella :asd: :stordita:

Non sono bastardo dentro... X il CD, fortuna che ti sei ricordato :D
Ora cerca di non lasciare lo zaino a casa ;)


ce l'hanno spiegato e molto male purtroppo, questo spiega perchè alle lezioni di un prof ci sono 1-2 persone a seguirlo, quando in corso saremo in 200

Sei all'università a Udine?

Cmq tutorial non ne conosco, tutto quello che so l'ho imparato all'università e qualcosa per conto mio. Se non sai davvero nulla l'impresa è ardua, se vuoi ti posso passare il materiale mio dell'uni.

Ciao

Gremo
13-06-2005, 16:51
Non sono bastardo dentro... X il CD, fortuna che ti sei ricordato :D
Ora cerca di non lasciare lo zaino a casa ;)



Sei all'università a Udine?

Cmq tutorial non ne conosco, tutto quello che so l'ho imparato all'università e qualcosa per conto mio. Se non sai davvero nulla l'impresa è ardua, se vuoi ti posso passare il materiale mio dell'uni.

Ciao

si sono dell'uni di udine...
se puoi mandami una mail con i thead se risulta ben spiegato :)

e rinnovo cmq l'appello a chi volesse svolgerlo, visto che dite che è una cosa che si fa in pochi minuti...
io mi applico e butto giù qualcosa, speriamoi bene

Fenomeno85
13-06-2005, 16:55
http://www.die.net/doc/linux/man/man3/pthread_create.3.html


~§~ Sempre E Solo Lei ~§~

Marinelli
13-06-2005, 16:58
Il materiale che ti può servire è il seguente:

Prototipi per le primitive di rete (http:/http://www.elet.polimi.it/upload/sciuto/Dipartimento/info2materiale/prim-rete.pdf)
Programmazione di rete (http://www.elet.polimi.it/upload/sciuto/Dipartimento/info2materiale/Programmazione_di_rete.pdf)
Programmazione parallela (http://www.elet.polimi.it/upload/sciuto/Dipartimento/info2materiale/Programmazione_parallela.pdf)

Ciao :)

VegetaSSJ5
13-06-2005, 23:12
potrebbero esserti utili le slides che trovi in questa pagina:

http://www.di.univaq.it/~formisano/lso0405/

inoltre ti consiglio anche il manuale gapil che trovi qui:

http://gapil.firenze.linux.it/gapil.pdf

maulattu
14-06-2005, 11:36
per creare un figlio ti basta usare fork ;)


~§~ Sempre E Solo Lei ~§~

se è per un prcesso figlio siam d'accordo.
per i thread (li ho usati sl in linux) si deve utilizzare la libreria pthread.h
guarda un po' questo link:
http://www.advancedlinuxprogramming.com/
vai nella sezione download, scarica il libro e vedi il capitolo sui thread

buon lavoro e vuon :ciapet:

Fenomeno85
14-06-2005, 17:55
se è per un prcesso figlio siam d'accordo.
per i thread (li ho usati sl in linux) si deve utilizzare la libreria pthread.h
guarda un po' questo link:
http://www.advancedlinuxprogramming.com/
vai nella sezione download, scarica il libro e vedi il capitolo sui thread

buon lavoro e vuon :ciapet:

postato prima il link ;)

~§~ Sempre E Solo Lei ~§~