Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Sistemi operativi I > progettino
Pages (8): « 1 2 [3] 4 5 6 7 » ... Last »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
Alex86mi
.simpatizzante.

User info:
Registered: Feb 2008
Posts: 19 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: Laureato
Time Online: 11:25:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Per il passaggio di parametri alle funzioni ho usato la struttura
dei messaggi numero 1 e nella funzione 'do_up' (/src/lib/other/semaforo.c) ho utilizzato:

int do_up() {
message m;
m.m1_i1 = 88; /* inserisco un numero a caso come esempio */
/* se stampo qui m.m1_i1 stampa corretto */
_syscall(SS_PROC_NR, SS_UP, &m); /* spedisco al server il msg */
return 0;
}

a questo punto vado nel server (/src/servers/ss/ss.c) a leggere
e cerco di vedere se è arrivato il msg giusto:

......
message m_in; /* riceve i msg in input */
/* stampo m.m_source e m.m_type...la stampa è corretta
* quindi il messaggio che spedisco arriva!
*/
/* ora stampo m.m1_i1 e stampa un numero diverso da 88! */
......

Non riesco a ricevere il numero corretto (in questo caso l'88 che
ho settato come esempio) e non capisco xchè..qualcuno
sa dov'è l'errore?

14-05-2008 00:27
Click Here to See the Profile for Alex86mi Click here to Send Alex86mi a Private Message Find more posts by Alex86mi Add Alex86mi to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
QeSaRNeRON
.amico.

User info:
Registered: Nov 2007
Posts: 21 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 5:28:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ciao... io ho iniziato facendo quello de 7 maggio ...
penso di aver seguito tutto per filo e per segno solo che quando provo a compilare questo...

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

#define S 0

int main(void){
int f;

/*sema_init(S, 1);*/
down();
f = fork();
if (f == 0){
down();
printf("Sono il figlio...\n");
printf("Fine del figlio.\n");
up();
} else {
sleep(1);
printf("Sono il padre...\n");
sleep(3);
printf("Fine del padre.\n");
up();
waitpid(f, NULL, 0);
}


return 0;
}

#cc sema_test.c -o sema_test
Undefined:
_down
_up

qualcuno sa spiegarmi questo errore da cosa puo essere dato??? grazie!!!
:D

14-05-2008 10:05
Click Here to See the Profile for QeSaRNeRON Click here to Send QeSaRNeRON a Private Message Find more posts by QeSaRNeRON Add QeSaRNeRON to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Alex86mi
.simpatizzante.

User info:
Registered: Feb 2008
Posts: 19 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: Laureato
Time Online: 11:25:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ho risolto.
Il problema era che non ricompilavo il file test.c che
utilizzavo per richiamare le syscall dopo aver fatto modifiche
alle librerie.

14-05-2008 12:37
Click Here to See the Profile for Alex86mi Click here to Send Alex86mi a Private Message Find more posts by Alex86mi Add Alex86mi to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Scusate raga ma non riesco a capire una cosa. come faccio a gestire semafori di cui non so il numero a proiri (cosi dice nel progetto, il numero di semafori è variabile) con degli array come mi è stato detto qui??

Non si dovrebbero usare delle liste??

perchè un conto è sapere che devo gestire che ne so 10 semafori ed un'altro gestire un numero arbitrario di semafori.

Non so se mi sono spiegato.

__________________
by Ð@rk§h@ÐØw

14-05-2008 12:55
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Larios
.consigliere.

User info:
Registered: Oct 2007
Posts: 114 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 20:21:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

bisognerebbe chiedere al prof visto che non ha specificato nulla, quello che credo io comunque è che il progetto abbia lo scopo di capire dove mettere le mani nel codice, comunque meglio sentirlo. Fra le altre cose i sorgenti non ci stanno in un disco da 20M (nemmeno quelli originali del disco di istallazione...) come ha indicato ma ci vuole minimo 21M...

Last edited by Larios on 14-05-2008 at 13:12

14-05-2008 13:07
Click Here to See the Profile for Larios Click here to Send Larios a Private Message Find more posts by Larios Add Larios to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ma il prof ha detto per caso se rispondeva alle mail o che non avrebbe avuto tempo rispondere??

__________________
by Ð@rk§h@ÐØw

14-05-2008 13:29
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
pamarcan
.primate.

User info:
Registered: Mar 2006
Posts: 68 (0.01 al dì)
Location:
Corso: informatica
Anno:
Time Online: 1 Day, 7:02:16 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

di sicuro non vanno usati gli array, perchè i nuovi semafori devono essere dinamicamente aggiunti. partendo da quello fatto a laboratorio bisogna aggiungere quindi una struttura nel server (ad esempio una lista) che mantenga i semafori aperti, una procedura che inizializzi un semaforo (nel caso caso non sia presente nella struttura va creato e messo in coda). vanno quindi aggiunti tutti i prototipi e il nuovo wrapper nelle librerie, modificate le vecchie funzioni ad ogni livello (kernel, system,utente). in modo che (es do_up e do_down che son chiamate da up e down nelle librerie) prendano i parametri dal messaggio che ovviamente andrà in qualche modo creato con gli opportuni campi.
(dal dirlo al farlo però, è una parola!!)

14-05-2008 13:55
Click Here to See the Profile for pamarcan Click here to Send pamarcan a Private Message Find more posts by pamarcan Add pamarcan to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

sto cercanco di fare quello sul wiki ma quando eseguo il comando make mi da il seguente errore:

make: Can't open .depend: No such file or directory

ho inserito il file Makefile nella directory del server (/usr/src/servers/ss/) e provo ad eseguire il comando ma non va.

Qualcuno che ci è riuscito me lo pò spiegare come ha fatto.

Grazie.


PS: il codice del Makefile è quello che ho messo in qualke post + sopra.

__________________
by Ð@rk§h@ÐØw

14-05-2008 13:57
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Larios
.consigliere.

User info:
Registered: Oct 2007
Posts: 114 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 20:21:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by darkshadow
ma il prof ha detto per caso se rispondeva alle mail o che non avrebbe avuto tempo rispondere??


ho mandato una mail ieri ma non ha ancora risposto...

14-05-2008 14:02
Click Here to See the Profile for Larios Click here to Send Larios a Private Message Find more posts by Larios Add Larios to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
fabi0
.amico.

User info:
Registered: Nov 2007
Posts: 20 (0.00 al dì)
Location:
Corso: Tecnologie dela comunicazione
Anno: 1
Time Online: 3:17:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ciao, qualcuno mi sa dire se la funzione main del server è giusta come l'ho fatta? qualcuno l'ha fatta in altro modo?

int main (int s, int init)
{
....
init_server(s, init){...}
}

GRAZIE

14-05-2008 14:03
Click Here to See the Profile for fabi0 Click here to Send fabi0 a Private Message Find more posts by fabi0 Add fabi0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by pamarcan
di sicuro non vanno usati gli array, perchè i nuovi semafori devono essere dinamicamente aggiunti. partendo da quello fatto a laboratorio bisogna aggiungere quindi una struttura nel server (ad esempio una lista) che mantenga i semafori aperti, una procedura che inizializzi un semaforo (nel caso caso non sia presente nella struttura va creato e messo in coda). vanno quindi aggiunti tutti i prototipi e il nuovo wrapper nelle librerie, modificate le vecchie funzioni ad ogni livello (kernel, system,utente). in modo che (es do_up e do_down che son chiamate da up e down nelle librerie) prendano i parametri dal messaggio che ovviamente andrà in qualche modo creato con gli opportuni campi.
(dal dirlo al farlo però, è una parola!!)



Quello che ho pensato anch'io.

Quind si avrà per ciascun semaforo una struttura del tipo.

struct semaforo{

int value;
struct semaforo *next;
puntatore_alla_coda_dei_processi_bloccati;
}

quindi quando viene chiamata sem_init(sem, val)

dovrò prima controllare se il semaforo è già presente nella lista. Se si faccio:
punt_semaforo->value = val;

Altrimenti dovrò aggiungere il semaforo nella lsita e poi fare l'assegnamento.

__________________
by Ð@rk§h@ÐØw

14-05-2008 14:08
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
fabi0
.amico.

User info:
Registered: Nov 2007
Posts: 20 (0.00 al dì)
Location:
Corso: Tecnologie dela comunicazione
Anno: 1
Time Online: 3:17:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by darkshadow
Quello che ho pensato anch'io.

quindi quando viene chiamata sem_init(sem, val)

.



e sem e val?
Dove li prendi? Li passi al main che a sua volta chiama la funzione sem_init passandogli i due parametri?

14-05-2008 14:10
Click Here to See the Profile for fabi0 Click here to Send fabi0 a Private Message Find more posts by fabi0 Add fabi0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by fabi0
e sem e val?
Dove li prendi? Li passi al main che a sua volta chiama la funzione sem_init passandogli i due parametri?


sem e val sono appunto i valori che tu gli passi a sem_init dal main.

nel main avrai un insieme di semafori il cui numero non è noto ma varia ad ogni esecuzione.

quindi dal main chiami sem_init con parametri: il semaforo e il valore di inizializzazione; e come detto prima visto che li gestiamo con delle liste si deve prima controllare se il semaforo è gia presente nella lista se basta fare un assegnamento altrimenti devi allocare lo spazio per il semaforo, inserirlo nella lista ed assegnare il valore di inizializzazione.

__________________
by Ð@rk§h@ÐØw

14-05-2008 15:08
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
fabi0
.amico.

User info:
Registered: Nov 2007
Posts: 20 (0.00 al dì)
Location:
Corso: Tecnologie dela comunicazione
Anno: 1
Time Online: 3:17:07: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

fino a qui tutto chiaro, ma noi dobiamo passare al main i parametri da passare alla init_server, no?

int main (int s, int init)

O sbaglio?
GRAZIE

14-05-2008 15:10
Click Here to See the Profile for fabi0 Click here to Send fabi0 a Private Message Find more posts by fabi0 Add fabi0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
darkshadow
Are You From The Past?

User info:
Registered: Jul 2007
Posts: 485 (0.07 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

dici a quella del server??

__________________
by Ð@rk§h@ÐØw

14-05-2008 15:18
Click Here to See the Profile for darkshadow Click here to Send darkshadow a Private Message Find more posts by darkshadow Add darkshadow to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 02:01.    Post New Thread    Post A Reply
Pages (8): « 1 2 [3] 4 5 6 7 » ... Last »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.201 seconds (59.99% PHP - 40.01% MySQL) con 23 query.