SEARCH
You are in browse mode. You must login to use MEMORY

   Log in to start

level: thread

Questions and Answers List

level questions: thread

QuestionAnswer
quali sono i vari modelli di thread ? lo svantaggio di ciascuno ?Molti a uno: un unico thread kernel gistisce piu thread a livello utente - se uno dei thread si blocca (per un errore o per una chiamata bloccante tipo IO) allora anche gli possono risentirne Uno a uno: fornisce piu concorrenza del precedente anche perche piu kernel possono essere eseguiti in parallelo su diversi processori - overhead: considerato come uno spreco di risorse e diminuzione dellefficienza complessiva Molti a Molti raggruppa un numero di thread utente verso un numero uguale o inferiore di thread kernel - nessun difetto noto A due livelli: permette anche di vincolare un thread utente a un solo thread del kernel
quali tipi di cooperazioni fra thread esistono ?Thread simmetrici -> i thread sono equipotenti: e’ possibile scegliere di attivarne uno qualunque per servire una richiesta esterna thread gerarchici -> i thread vengono suddivisi in lavoratori(eseguono il lavoro dato dai coordinatori) e coordinatori (ricevono richieste esterne e affidano il lavoro ai lavoratori) thread in pipeline -> ogni thread svolge una porzione del lavoro complessivo essendo specializzato in un preciso sottoinsieme delle funzioni
i vantaggi dell'utilizzo di threadla condivisione delle risorse fra processi Miglioramento dell'economia del sistema I programmi diventano sfruttabili delle architetture multiprocessore.
che tipo di supporto è previsto per la gestione dei thread?- spazio utente: la gestione del THREAD UTENTE viene lasciata ad un processo(il kernel è sollevato dalla gestione del thread) il tutto è reso possibile dalle librerie per la gestione dei thread rese disponibili a livello utente - spazio kernel: per la gestione dei TREAD KERNEL è del tutto gestita dal sistema operativo con una libreria a livello kernel le funzioni sono quindi chiamate di sistema
come viene cancellato un thread?La cancellazione di un thread prevede la sua terminazione prima che abbia completato la sua esecuzione. Questa può avvenire in due modi: - cancellazione asincrona : terminazione a prescindere da quello che il thread sta facendo - cancellazione differita : viene verificato periodicamente che il thread si trovi in un punto in cui può essere terminato, alternativamente si aspetta la sua terminazione naturale
quale è la differenza fra processi e thread?Un processo riguarda una sola applicazione e ha un preciso scopo può essere composto da diversi thread, in quel caso si chiamerebbe processo multithread Un thread invece identifica un flusso di esecuzione indipendente e autonome su un programma che ha accesso a una porzione di memoria
quali sono i vantaggi di usare i thread invece che i processi?I thread hanno diversi vantaggi rispetto ai processi, tra cui la maggiore disponibilità, la condivisione delle risorse, l'economia sfruttamento delle architetture multiprocessore.
what are the disadvantages of using threads instead of processes?I thread hanno diversi svantaggi rispetto ai processi, tra cui la maggiore complessità, maggiore probabilità di errori maggiore difficoltà di debug.
quali sono le sfide della gestione dei thread di un sistema?La gestione dei thread in un sistema multiprocessore è una sfida complessa, a causa di una serie di fattori, tra cui: * La necessità di sincronizzare l'accesso alle risorse condivise * La necessità di evitare deadlock e starvation * La necessità di ottimizzare le prestazioni Esistono una serie di tecniche che possono essere utilizzate per affrontare queste sfide, tra cui: * L'utilizzo di mutex, semafori e altre primitive di sincronizzazione * L'utilizzo di thread di priorità * L'utilizzo di schedulazione a più livelli in generale dipende dal tipo di applicazione e dal carico di lavoro
cosa sono e a cosa servono le librerie dei thread?La libreria dei thread fornisce al programmatore una API per la creazione e la gestione dei thread. si possono implementare in due modi: 1) la libreria è collocata interamente a livello utente, senza fare ricorso al kernel. 2) implementare una libreria a livello kernel, con l’ausi­ lio diretto del sistema operativo. In questo caso, il codice e le strutture dati per la libreria si trovano nello spazio del kernel
how is the correct model of threading chosen for an application?Il modello di threading corretto per un'applicazione dipende da una varietà di fattori, tra cui le caratteristiche dell'applicazione, le prestazioni richieste e le risorse disponibili.