We love eBooks

    Programmazione concorrente: Coedizione Zanichelli – in riga (in riga ingegneria Vol. 117) (Italian Edition)

    Por Marco Lino Ferrario

    Sobre

    L’esecuzione contemporanea di più programmi in un sistema operativo pone il problema di gestire in modo corretto il possibile accesso concorrente alle stesse risorse. In generale più processi sono in competizione fra loro per l’accesso alle risorse, e un sistema operativo deve garantire a tutti l’accesso senza creare condizioni di blocco o di utilizzo sovrapposto. La problematica che si pone è dunque quella di una corretta sincronizzazione fra i processi. Processi diversi potrebbero anche voler comunicare fra loro, scambiandosi dati o richieste di servizio secondo una logica produttore-consumatore. In questo caso si parla di cooperazione fra processi. La programmazione concorrente si occupa di risolvere tutte le problematiche qui accennate, e si basa sull’utilizzo di tecniche comuni a sistemi operativi diversi, ad esempio i semafori per la sincronizzazione, lo scambio di messaggi oppure la memoria condivisa per la comunicazione. I sistemi operativi multiprocessing offrono al programmatore funzioni API per la programmazione concorrente, consentendo di creare nuovi processi o thread, di sincronizzare l’accesso alle risorse tramite eventi, mutex, semafori, sezioni critiche, timer di attesa, variabili condizione, oppure di comunicare attraverso messaggi, pipe, file mapping. Anche il linguaggio di programmazione Java si occupa in modo speciale della concorrenza fra diversi possibili thread di un processo, offrendo soluzioni per la condivisione di risorse e per la sincronizzazione fra i thread.

    Sommario

    1. COOPERAZIONE E SINCRONIZZAZIONE - 1.1. Blocco critico • 2. CONCORRENZA E SINCRONIZZAZIONE IN WINDOWS - 2.1. Processi e thread - 2.2. Sincronizzazione • 3. CONCORRENZA E SINCRONIZZAZIONE IN LINUX - 3.1. Processi e thread - 3.2. Sincronizzazione • 4. CONCORRENZA E SINCRONIZZAZIONE NEL LINGUAGGIO JAVA - 4.1. I thread in Java - 4.2. Condivisione di risorse fra i thread - 4.3. Sincronizzazione dei thread.

    Tratto dal Cap. 26 del Manuale Cremonese di Informatica, Zanichelli, 2016
    Baixar eBook Link atualizado em 2017
    Talvez você seja redirecionado para outro site

    eBooks por Marco Lino Ferrario

    Página do autor

    Relacionados com esse eBook

    Navegar por coleções eBooks similares