.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi e distribuiti (http://www.dsy.it/forum/forumdisplay.php?forumid=270)
-- Correzione Esame 22/06 (http://www.dsy.it/forum/showthread.php?threadid=42062)


Posted by Armakazam on 26-06-2011 14:06:

Correzione Esame 22/06

Ciao,

il prof Cazzola ha inserito sul suo prof la correzione dell'esercizio da svolgere in laboratorio...

prima di passare a richiedere info al docente provo a chiedere qui, qualcuno per caso riesco a far funzionare il programma?
a me da errori in fase di lancio sia sul master che sul client!


Posted by Melodiaz on 26-06-2011 21:17:

dopo un po' io ce l'ho fatta...o almeno credo
devi creare in pratica in 10 shell diverse 10 slave process (ovviamente dopo aver fatto partire rmiregistry, aver fatto rmic di MasterProcess e SlaveProcess) facendo come comando java SlaveProcess 1, java SlaveProcess 2 ecc... poi in un'altra shell fai partire il client per inserendo subito dopo il comando la stringa da invertire, ad esempio java ClientProcess HelloWord...spero di essere stato chiaro :D


Posted by Armakazam on 27-06-2011 11:43:

chiarissimo, non avevo pensato ad aprire 10 shell diverse.

io ho comunque un problema e devo capire il perchè...

la procedura seguita mi sembra corretta...ho provato anche differenti cose ma ho sempre lo stesso errore (nb: per evitare errori ho persino cancellato tutto il codice e copy-paste dai pdf del prof).

Procedura 1:

javac *.java
rmic SlaveProcess
rmic MasterPrcess
start rmiregistry
java SlaveProcess 1 ..... n
java ClientProcess Hello


Procedura 2:

javac *.java
start rmiregistry
rmic MasterProcess
rmic SlaveProcess
java SlaveProcess 1 .... n
java ClientProcess Hello

nei due casi mi da sempre questo errore:

Exception in thread "main" java.rmi.NotBoundException: Master
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386
)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:5
35)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTranspor
t.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:907)
at java.lang.Thread.run(Thread.java:619)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknow
n Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at ClientProcess.main(ClientProcess.java:5)


E quella eccezione ""is thrown if an attempt is made to lookup or unbind in the registry a name that has no associated binding"


mmm vedi qualche errore nel mio procedimento?
considera che i sorgenti sono quelli del prof quindi sbaglio qualcosa io, secondo me una cosa semplice, che però non mi salta all'occhio!!


Posted by Melodiaz on 27-06-2011 12:07:

nn ti funziona perche' dopo aver fatto partire i 10 slave nn fai java MasterProcess e infatti ti da NotBoundException: Master
vuol dire che nn trova attivo il server Master (che se noti e' il nome che metti in Naming.bind("Master", sp);


Posted by Melodiaz on 27-06-2011 12:09:

oltre a creare lo stub e lo skeleton (che se hai java 5 nn viene creato ed e' giusto cosi') facendo rmic MasterProcess devi anche fare java MasterProcess


Posted by Armakazam on 27-06-2011 13:07:

ok perfetto!

avevo provato prima di scrivere a lanciare java MasterProcess ma mi dava errore, ed essendo di fretta ho dato per scontato che l'errore fosse lo stesso ma in realtà era diverso.

In realtà, alla fine, come previsto l'errore era banale...
in:
java ClientProcess ....
partivo da 1 a 10, in realtà dovevo partire da 0 a 9 perchè nel masterprocesso in ciclo parte da 0


bene risolto il tutto ti ringrazio ;)

personalmente parlando non l'ho visto tanto difficile, ma nemmeno troppo facile...in una giornata forse l'avrei terminato, ma in 2 ore no visto che mi sono incasinato 30 minuti solo sul metodo per il reverse della frase!


Posted by Melodiaz on 27-06-2011 14:04:

cmq io l'ho provato e pure creando 11 slave funziona...boh!

cmq no io proprio nn avevo idea di come farlo, sara' che il testo quando parlava della suddivisione sono andato in pappa.
Ma te Armakazam hai studiato solo le slides del prof oppure hai trovato qualcosa in giro che parlava di master & slave ecc...??
se si mi potresti dare i link?


Posted by Armakazam on 27-06-2011 18:56:

penso che con solo le slide del prof si riesca a fare poco e niente!

io ho cercato su google e trovato un sacco di materiale (ma al momento non ho link precisi da darti).

posso consigliarti di cercare slide di corsi di sistemi distribuiti di altre università..

io ho cercato roba tipo:

tutorial rmi registry java
utilizzo rmi registry java
java client server

etc etc... ho fatto parecchie ricerche, e cercato di imparare + roba possibilie qua e la e a grandi linee ho capito però rimane che comunque questo esame in 2 ore non lo avrei mai finito...
capisco che dovremmo essere capaci di programmare in java senza problemi, ma secondo me dal livello teorico al pratico senza un laboratorio la difficoltà è indescrivibile


Posted by 123nessuno456 on 01-09-2011 21:19:

Io non riesco a vedere la correzione dell'esercizio da svolgere in laboratorio...help !! Mi da questo :
Forbidden

You don't have permission to access /~cazzola/didattica/os/soluzione-2011-07-11.html on this server.


All times are GMT. The time now is 18:35.
Show all 9 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.