Podcast
Questions and Answers
Cos'è uno stallo di processi (deadlock)?
Cos'è uno stallo di processi (deadlock)?
Nei sistemi operativi moderni, gli utenti devono gestire il problema del deadlock.
Nei sistemi operativi moderni, gli utenti devono gestire il problema del deadlock.
True
Qual è uno degli esempi di deadlock fornito?
Qual è uno degli esempi di deadlock fornito?
Due treni che si avvicinano a un incrocio.
Il problema del deadlock può essere risolto se un'auto ________.
Il problema del deadlock può essere risolto se un'auto ________.
Signup and view all the answers
Abbina i processi con le loro azioni nel contesto del deadlock:
Abbina i processi con le loro azioni nel contesto del deadlock:
Signup and view all the answers
Cosa si verifica quando ogni auto sul ponte aspetta che l'altra liberi l'unica corsia di marcia?
Cosa si verifica quando ogni auto sul ponte aspetta che l'altra liberi l'unica corsia di marcia?
Signup and view all the answers
Il deadlock è una situazione in cui un processo attende una risorsa non detenuta da alcun altro processo.
Il deadlock è una situazione in cui un processo attende una risorsa non detenuta da alcun altro processo.
Signup and view all the answers
Definisci il termine 'deadlock'.
Definisci il termine 'deadlock'.
Signup and view all the answers
Un sistema informatico è composto da un insieme di tipi di risorse R e un insieme di processi P. Le risorse possono includere cicli di CPU, spazio di memoria e __________.
Un sistema informatico è composto da un insieme di tipi di risorse R e un insieme di processi P. Le risorse possono includere cicli di CPU, spazio di memoria e __________.
Signup and view all the answers
Abbina i metodi di gestione dei deadlock con le loro descrizioni:
Abbina i metodi di gestione dei deadlock con le loro descrizioni:
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo al grafo di assegnazione delle risorse?
Quale delle seguenti affermazioni è vera riguardo al grafo di assegnazione delle risorse?
Signup and view all the answers
La soluzione 1 alla gestione dei deadlock genera un eccessivo __________ delle risorse.
La soluzione 1 alla gestione dei deadlock genera un eccessivo __________ delle risorse.
Signup and view all the answers
Qual è l'effetto di un ciclo nel grafo di assegnazione delle risorse?
Qual è l'effetto di un ciclo nel grafo di assegnazione delle risorse?
Signup and view all the answers
Study Notes
Stallo di Processi (Deadlock)
-
Definizione: Situazione in cui ciascun processo in un insieme di n processi (con n ≥ 2) si trova in attesa di un evento che può essere generato solo da un altro processo dello stesso insieme.
-
Risultato: Attesa infinita da parte di tutti i processi coinvolti.
Situazioni Simili nella Realtà
-
Analogia con treni che si bloccano in un incrocio: entrambi i treni si fermano in attesa che l'altro si muova.
-
Sistemi Operativi attuali: non affrontano il problema; spetta all'utente gestirlo.
-
Futuro: gestione dei deadlock potrebbe diventare compito dei Sistemi Operativi.
Esempio con Semafori
-
Due processi (P₁ e P₂) usano due nastri e hanno bisogno di un altro nastro ciascuno.
-
L'accesso ai nastri è regolato da un semaforo (avail) inizializzato a 2.
-
Entrambi i processi eseguono una serie di operazioni (wait e signal) sul semaforo (avail).
-
L'esempio mostra come le operazioni di wait e signal, se non gestite correttamente, possono portare a deadlock.
Ponte a Corsia Singola
-
Ogni posizione di transito sul ponte può essere vista come una risorsa.
-
Il deadlock può essere risolto se un'auto torna indietro (liberando la risorsa).
-
Può verificarsi starvation se le auto aspettano indefinitamente per il verificarsi di un determinato evento, in questo caso il rilascio della corsia di marcia dall'altro veicolo.
Modello del Sistema (HW + SO)
-
Formato da: un insieme finito di tipi di risorse (es. CPU, memoria, dispositivi di I/O).
-
Ogni tipo di risorsa è formato da un certo numero di istanze indistinguibili (es. blocchi di memoria RAM).
-
Un insieme di processi che richiedono una o più istanze di risorse per completare la loro esecuzione.
Definizione Formale di Deadlock in un Sottoinsieme di Processi
-
Si definisce deadlock di un sottoinsieme di processi {P₁, P₂, ...,Pₙ} ⊆ P del sistema la situazione in cui ogni processo Pᵢ è in attesa del rilascio di una risorsa tenuta da un altro processo del medesimo sottoinsieme.
-
Rappresentato da una catena circolare (P₁ aspetta P₂, P₂ aspetta P₃, ..., Pₙ aspetta P₁).
-
Anche se non tutti i processi del sistema sono bloccati, il deadlock può bloccare alcune risorse e danneggiare processi non coinvolti.
Caratterizzazione del Deadlock
-
Grafo di assegnazione delle risorse: rappresentazione grafica per visualizzare le risorse assegnate e in attesa (con un ciclo).
-
Un grafo di assegnazione con un ciclo indica la presenza di un deadlock.
-
L'esempio mostra T1 attende T2, T2 attende T3, e T3 attende T1, creando un ciclo e dimostrando l'esistenza di un deadlock.
Metodi per la Gestione dei Deadlock
-
Prevenire/evitare: Utilizzo di protocolli per gestire le richieste e gli assegnamenti delle risorse in modo da impedire la creazione di deadlock.
-
Rilevare e ricuperare: Rilevare la presenza di deadlock analizzando il grafo di assegnazione delle risorse e applicare metodi per rimediare alla situazione (es. far tornare indietro un processo).
-
Lasciare agli utenti la prevenzione/gestione: I SO moderni lasciano la gestione del deadlock in gran parte agli utenti. La soluzione precedente prevede un utilizzo non ottimale delle risorse.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Questo quiz esplora il concetto di deadlock nei sistemi operativi e come i processi possono trovarsi in attesa infinita. Viene presentato un esempio pratico che utilizza semafori per illustrare la gestione delle risorse tra processi. Scopriremo anche analogie con situazioni reali e il futuro della gestione dei deadlock.