.dsy:it. Pages (8): « First ... « 4 5 6 7 [8]
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)
-- esame in arrivo (http://www.dsy.it/forum/showthread.php?threadid=38379)


Posted by zeman13 on 16-06-2009 16:33:

concordo con rufy...si questa cosa di insultare il prof e soprattutto di bestemmiare non è che sia il massimo...

__________________
You are what you know...


Posted by Youngz on 16-06-2009 16:49:

va bene moralisti..

Ora ho fatto un programma per sommare in alternanza un thread i numeri pari e uno i numeri dispari di una matrice.

code:
#include <pthread.h> #include <stdio.h> #include <stdlib.h> #define DIM 5 int mat[DIM][DIM]={ {77,20,12,100,-4}, {21,80,0,7,2}, {39,40,0,45,1}, {40,50,600,-30,1}, {0,0,0,1,0}}; void *Dispari(void *a); void *Pari(void *a); pthread_mutex_t mutex1=PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond=PTHREAD_COND_INITIALIZER; int vivo2 = 0; int i,j; int sommap,sommad; main(){ sommap=sommad=0; for(i=0;i<DIM;i++) for(j=0;j<DIM;j++) if((mat[i][j] % 2) == 0) sommap+=mat[i][j]; else sommad+=mat[i][j]; printf("La somma dei valori pari e':%d , dei valori dispari e': %d\nCliccare invio per continuare",sommap,sommad); char caxxi; scanf("%c",&caxxi); printf("\n Perfetto, avvio mutex: \n"); for(i=97;i<107;i++){ //fa solo fico! sleep(0); printf("%c\n",i); } sommad=sommap=0; pthread_t pit1,pit2; if(pthread_create(&pit1, NULL, Dispari, NULL)){ printf("Errore!\n"); exit(1); } if(pthread_create(&pit2, NULL, Pari, NULL)){ printf("Errore!\n"); exit(1); } if(pthread_join(pit1, NULL)){ printf("Errore nella join!\n"); exit(1); } if(pthread_join(pit2, NULL)){ printf("Errore nella join!\n"); exit(1); } printf("Somma dei numeri pari: %d, Somma dei numeri dispari: %d\n", sommap,sommad); pthread_exit(NULL); } void *Dispari (void *a) { int k,l; sommad=0; printf("thread1 entra in fase critica\n"); sleep(2); pthread_mutex_lock( &mutex1); printf("thread1 e' entrato in fase critica\n"); for(k=0;k<DIM;k++){ for(l=0;l<DIM;l++){ if((mat[k][l] %2) !=0){ sleep(1); printf("trovato dispari,VIVO2=%d\n",vivo2); sommad+=mat[k][l]; } else if(vivo2==0){ printf("trovato pari,entro in condizione di wait\n"); pthread_cond_wait(&cond,&mutex1); printf("trovato segnale, thread1 torna al lavoro\n"); //pthread_cond_signal(&cond); } } } printf("thread1 sta uscendo dalla fase critica\n"); pthread_mutex_unlock( &mutex1); printf("thread1 e' uscito dalla fase critica\n"); } void *Pari (void *a) { int k,l; sommap=0; printf("thread2 entra in fase critica\n"); sleep(5); pthread_mutex_lock( &mutex1); printf("thread2 e' entrato in fase critica\n"); for(k=0;k<DIM;k++){ for(l=0;l<DIM;l++){ if((mat[k][l] %2) ==0){ sleep(1); printf("trovato Pari, VIVO2 = %d\n",vivo2); sommap+=mat[k][l]; } else if(vivo2 != 1){ //printf("trovato dispari,entro in condizione di wait\n"); //pthread_cond_wait(&cond,&mutex1); printf("trovato segnale, thread2 torna al lavoro\n"); vivo2=1; pthread_cond_signal(&cond); } } } printf("thread2 sta uscendo dalla fase critica\n"); pthread_mutex_unlock( &mutex1); printf("thread2 e' uscito dalla fase critica\n"); }


Trovate un modo per migliorarla :D ViPah ti stimo!

Ps: non penso che il bocci abbia sbatti di leggere un forum per gli studenti, non mi sembra il tipo.


Posted by Rufy on 16-06-2009 17:02:

Originally posted by Youngz
va bene moralisti..
.
.
Ps: non penso che il bocci abbia sbatti di leggere un forum per gli studenti, non mi sembra il tipo.


Qua non ti si fa la morale.....:roll:.....sto solo consigliando un tono da tenere in un forum di studenti frequentato e letto ANCHE da professori...che ci pensi o no(...e ti assicuro che lo guardano il forum...)prima che qualche Moderatore magari lo faccia chiudere...tutto qui...;)

__________________
Nascerà qui, al ristorante "L'Orologio",ritrovo di artisti e sarà per sempre una squadra di grande talento.
Questa notte splendida darà i colori al nostro stemma: il Nero e l'Azzurro sullo sfondo d'oro delle stelle.
Si chiamerà Internazionale,perchè noi siamo fratelli del mondo.
(Milano,1908)


Posted by Youngz on 16-06-2009 17:12:

Va bene , scusate se ho insultato i prof.


Posted by ViPah on 16-06-2009 17:25:

youngz, una domanda seria: come mai usi il mutex? sono due funzioni separate ognuna gestita dal proprio thread separatamente, non è inutile utilizzarlo?










ps. il bocci a quest'ora è a fare l'aperitivo :D


Posted by dellabest on 16-06-2009 17:35:

il mutex a quanto ho capito serve a sincronizzare vari thread,quindi quando metto wait a uno quello con signal parte e quando finisce la sua eseguzione ritorna al wait.

Esempio, io sto studiando, mi parte il wait voglia di sigaretta, mi fumo la sigaretta e ritorno a studiare.



Ps: no, il bocci a quest'ora si sta facendo due svedesi.

Edit: sono youngz a casa di dellabest! per questo scrivo col suo.

PS2: riassuntino su tutti gli schemi hardware di paging in ita ? :D

Edit2: Io penso che questo possa essere uno schema delle possibili domande:

Programmazione in c di thread/semafori

2 tra algoritmi di disco,memoria e cpu
1 schema hardware di qualcosa come tlb e co (che non so)
1 domanda primo semestre generale(cosa son le auc e co)
1 BHO XD


Posted by ViPah on 16-06-2009 18:10:

il meccanismo dei mutex lo so, ma si utilizza nel caso in cui 2 thread, operino sulla stessa funzione! NO?


Lui ha detto che mette c+teoria, quindi in teoria (asd) non ci sono altri esercizi tipo roundrobincazziemazzi. SPERO!


Posted by dellabest on 16-06-2009 18:24:

No, spero che ci siano, una cosa che so. Sai che mi sa che si possono usare in entrambi i casi.Solo che nel caso operino su una stessa funzione lo trovo un bel po' inutile.
Se mette solo teoria teoria son fottuto, io ho puntato su fare il programma in C e gli algoritmi di schedulazione.


Posted by Vikyg13 on 16-06-2009 19:08:

Io credo che lui gli algoritmi li intenda come "teoria". Penso ci saranno almeno due domande/esercizi sugli algoritmi


Posted by Rents on 16-06-2009 23:32:

Bocci del azz se dopo tutta la sbatta avuta nell imparare le funzioni

in c da soli non C dai un 30 e lode a capa altro che algoritmi che ti

insultato si passa dall' ultima versione di windows al OS FckdBocci beta.0

bill gates ci farà una pippa


All times are GMT. The time now is 06:46. Pages (8): « First ... « 4 5 6 7 [8]
Show all 115 posts from this thread on one page

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