Sistemi Operativi - 08: Stallo di Processi e Semafori
13 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Cos'è uno stallo di processi (deadlock)?

  • Un errore che si verifica solo nei sistemi operativi più vecchi.
  • Una condizione in cui i processi sono in attesa infinita per un evento che solo un altro processo può provocare. (correct)
  • Una situazione in cui i processi collaborano.
  • Quando i processi vengono eseguiti in parallelo senza conflitti.
  • Nei sistemi operativi moderni, gli utenti devono gestire il problema del deadlock.

    True

    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 ________.

    <p>torna indietro</p> Signup and view all the answers

    Abbina i processi con le loro azioni nel contesto del deadlock:

    <p>P1 = Aspetta la disponibilità di un nastro P2 = Aspetta la disponibilità di un nastro avail = Contatore di risorse disponibili signal = Rilascia una risorsa</p> Signup and view all the answers

    Cosa si verifica quando ogni auto sul ponte aspetta che l'altra liberi l'unica corsia di marcia?

    <p>Starvation</p> Signup and view all the answers

    Il deadlock è una situazione in cui un processo attende una risorsa non detenuta da alcun altro processo.

    <p>False</p> Signup and view all the answers

    Definisci il termine 'deadlock'.

    <p>Situazione in cui due o più processi sono bloccati in attesa di risorse detenute l'uno dall'altro.</p> 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 __________.

    <p>device di I/O</p> Signup and view all the answers

    Abbina i metodi di gestione dei deadlock con le loro descrizioni:

    <p>Prevenzione = Usare protocolli per evitare deadlock Scoperta = Identificare deadlock dopo che si sono verificati Recupero = Rimediare a un deadlock una volta scoperto</p> Signup and view all the answers

    Quale delle seguenti affermazioni è vera riguardo al grafo di assegnazione delle risorse?

    <p>Registra quali risorse sono assegnate e quali sono in attesa.</p> Signup and view all the answers

    La soluzione 1 alla gestione dei deadlock genera un eccessivo __________ delle risorse.

    <p>sottoutilizzo</p> Signup and view all the answers

    Qual è l'effetto di un ciclo nel grafo di assegnazione delle risorse?

    <p>Indica la presenza di un deadlock.</p> 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.

    Quiz Team

    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.

    More Like This

    Deadlock and Chopstick Management
    5 questions
    Deadlock and Context Switching Quiz
    5 questions

    Deadlock and Context Switching Quiz

    LawAbidingRationality1519 avatar
    LawAbidingRationality1519
    Deadlock and Context Switching Quiz
    5 questions
    Use Quizgecko on...
    Browser
    Browser