Programmazione Concorrente[RISOLTO]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
afterjames
Linux 0.x
Linux 0.x
Messaggi: 64
Iscritto il: lun 14 gen 2008, 14:14

Programmazione Concorrente[RISOLTO]

Messaggio da afterjames »

Salve a tutti, ho bisogno di fare esercizi sulla programmazione concorrente (clone,fork, etc.).Qualcuno ha del materiale da consigliarmi?Grazie in anticipo
Ultima modifica di afterjames il gio 8 mag 2008, 12:13, modificato 1 volta in totale.

Avatar utente
JohnnyMnemonic
Staff
Staff
Messaggi: 2733
Iscritto il: dom 5 set 2004, 0:00
Nome Cognome: Giuseppe Palmiotto
Slackware: 14.0
Kernel: 3.5.5-thanatos
Località: Bologna
Contatta:

Re: Programmazione Concorrente

Messaggio da JohnnyMnemonic »

Se parliamo di linguaggio C un ottimo punto di partenza è il GAPIL di Simone Piccardi, trovi facilmente la versione pdf scaricabile liberamente

afterjames
Linux 0.x
Linux 0.x
Messaggi: 64
Iscritto il: lun 14 gen 2008, 14:14

Re: Programmazione Concorrente

Messaggio da afterjames »

Conosco la Gapil!A me serviva qualcosa di specifico su clone e fork..Senza usare la pthread.Più che altro esercizi.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Programmazione Concorrente

Messaggio da 414N »

Questa è la home page del corso di Sistemi Operativi L-A della facoltà di ingegneria di Bologna. Trovi slides di teoria e anche di esercizi su fork, pipe e compagnia bella.

Avatar utente
ZeD
Linux 1.x
Linux 1.x
Messaggi: 112
Iscritto il: ven 28 ott 2005, 12:30
Slackware: 12.1
Località: Terra

Re: Programmazione Concorrente

Messaggio da ZeD »

se vuoi studiare la programmazione concorrente butta il C e studiati erlang :)

Avatar utente
FireEater
Linux 3.x
Linux 3.x
Messaggi: 508
Iscritto il: sab 5 feb 2005, 0:00
Nome Cognome: Giuseppe M.
Slackware: Current
Kernel: 2.6.32.7-smp
Desktop: kde 4.3.4
Località: Cagliari <---> Torino

Re: Programmazione Concorrente

Messaggio da FireEater »

http://ulisse.polito.it/matdid/3ing_inf ... getto.html questa la pagina dell'esame di tecnologia dei sistemi operativi del politecnico di Torino.
Se vuoi ti posso spedire anche altro materiale, ho dato l'esame 2 settimane fa. 8)

afterjames
Linux 0.x
Linux 0.x
Messaggi: 64
Iscritto il: lun 14 gen 2008, 14:14

Re: Programmazione Concorrente

Messaggio da afterjames »

Grazie a tutti..A me serve qualcosa principalmente sulla Clone.Vi pongo questa domanda,e scusate l'inesperienza.Ho scritto questa cosa:

Codice: Seleziona tutto

#include<stdio.h>
#include<stdlib.h>
#include<sched.h>
#include<signal.h>
#include<unistd.h>
int flag=5;
int clone_function(){
while(1){
	pause();
	printf("Sono nella clone..\n");

	
	}

_exit(0);
}
void gestore_segnale(){

	printf("Gestore Decremento\n");
	flag--;

}
int main(int argc,char **argv){

char stack[1024];
int i;
signal(SIGUSR1,gestore_segnale);
int pid=clone(clone_function,&stack[1024],CLONE_VM,NULL);

for(i=0;i<5;i++){
	
	printf("Invio un segnale..\n");
	kill(pid,SIGUSR1);       //invio 5 segnali intervallati da attese di 2 secondi
	sleep(2);
}
printf("Elimino il clone..\n");
kill(pid,SIGKILL);
printf("Flag %d\n",flag);

return 0;

}

Dalle specifiche dell'esercizio si richiedeva di inviare 5 segnali al clone intervallati da due secondi di attesa.Il Clone deve semplicemente aspettare di ricevere un segnale e stampare un messaggio.Funziona.Ma se provo a commentare la

Codice: Seleziona tutto

printf("Invio un segnale..\n");
Il programma si blocca prima ed ottengo un segmentation_fault durante l'esecuzione!Non è la prima volta che mi capitano queste stranezze con la clone, qualcuno saprebbe aiutarmi?

afterjames
Linux 0.x
Linux 0.x
Messaggi: 64
Iscritto il: lun 14 gen 2008, 14:14

Re: Programmazione Concorrente

Messaggio da afterjames »

Ho aumentato la dimensione dello stack e funziona.Secondo voi quanto deve essere grande per stare tranquillo?

Rispondi