← Indietro
EserciziDivisi per argomento

Sistemi operativi 1 Thread e programmazione concorrente

Divisi per argomento di Architettura dei Calcolatori e Sistemi Operativi per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Architettura dei Calcolatori e Sistemi OperativiDivisi per argomento

Informazioni sul documento

Cosa trovi in questo materiale

Divisi per argomento di Architettura dei Calcolatori e Sistemi Operativi per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

Temi AXO su thread e programmazione concorrente pp. 1 / 25 RACCOLTA DI ESERCIZI SU THREAD E PROGRAMMAZIONE CONCORRENTE I docenti di AXO A.A. 2015-16 Temi AXO su thread e programmazione concorrente pp. 2 / 25 esercizio su thread e parallelismo – mercoledì 21 novembre 2012 Si consideri il programma C seguente (gli “#include” sono omessi): pthread_mutex_t law = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t order = PTHREAD_MUTEX_INITIALIZER; sem_t mess; int global = 0; void  one (void  arg) { int local = 0; pthread_mutex_lock (&law); sem_post (&mess); local = 1; /  statement A / pthread_mutex_unlock (&law); global = 1; pthread_mutex_lock (&order); local = 3; /  statement B / pthread_mutex_unlock (&order); return (void ) global; } / end one / void  two (void  arg) { int local = 0; pthread_mutex_lock (&order); global = 2; pthread_mutex_lock (&law); sem_wait (&mess); /  statement C / local = (int) arg; pthread_mutex_unlock (&law); pthread_mutex_unlock (&order); return NULL; } / end two / void main ( ) { pthread_t th_1, th_2; sem_init (&mess, 0, 0); pthread_create (&th_2, NULL, two, (void ) 2); pthread_create (&th_1, NULL, one, NULL); pthread_join (th_1, &global); /  statement D / pthread_join (th_2, NULL); return;  / end main / Temi AXO su thread e programmazione concorrente pp. 3 / 25 Si completi la tabella qui sotto indicando lo stato di esistenza della variabile locale nell’istante di tempo specificato da ciascuna condizione, così: se la variabile esiste, si scriva ESISTE; se non esiste, si scriva NON ESISTE; e se può essere esistente o inesistente, si scriva PUÒ ESISTERE. Ogni casella della tabella va riempita in uno dei tre modi (non va lasciata vuota). Si badi bene alla colonna condizione: con subito dopo statement X si chiede lo stato che la variabile…

Anteprima

Prima pagina del documento.

Prima pagina: Sistemi operativi 1 Thread e programmazione concorrente