10) Lo stallo, o deadlock.docx - Per questa lezione consigliabile lutilizzo in simultanea delle lezioni su unitelma messe a disposizione da g.corsi2 e

10) Lo stallo, o deadlock.docx - Per questa lezione...

This preview shows page 1 - 3 out of 7 pages.

Per questa lezione è consigliabile l’utilizzo in simultanea delle lezioni su unitelma messe a disposizione da g.corsi2 e dal suo paninozzo3 Deadlock Il deadlock (stallo) può essere considerato come un blocco permanente di un insieme di processi, che o stanno competendo per delle risorse di sistema, oppure stanno comunicando tra loro. Il motivo di base è la richiesta contemporanea delle stesse risorse da parte di due o più processi e non esiste una vera soluzione efficiente per la risoluzione de problema. Esempio: Bisogna anche specificare che inoltre esistono delle “risorse riusabili”, cioè delle risorse che sono comunque usabili da un processo alla volta, ma il fatto di essere usate non le “consuma” come potrebbe accadere in altri casi. Una volta che un processo ottiene una risorsa riusabile, prima o poi la rilascia e lo stallo si va a creare solamente se un processo ha una risorsa e ne richiede un’altra. Tra queste potremmo trovare: processori, I/O channels, memoria principale e secondaria, dispositivi… Ovviamente, come esistono delle risorse riusabili, esistono anche delle risorse “consumabili”, che vengono create (prodotte) e distrutte (consumate). In questo caso il deadlock può avvenire su 71
Image of page 1
Per questa lezione è consigliabile l’utilizzo in simultanea delle lezioni su unitelma messe a disposizione da g.corsi2 e dal suo paninozzo3 una ricezione bloccante e potrebbe essere causato da una combinazione rara di eventi (corner case). Tra queste potremmo trovare: interruzioni, segnali, messaggi, informazioni nei buffer di I/O Con l’introduzione di queste nuove risorse è possibile analizzare i casi in cui si viene a creare una situazione di deadlock, tra queste troviamo: Mutua esclusione: solo un processo alla volta può usare una data risorsa Richiesta di una risorsa quando se ne ha già una (hold and wait): un processo può richiedere risorse mentre ne tiene già bloccate altre Niente preemption per le risorse: non si può sottrarre una risorsa ad un processo senza che quest’ultimo non la rilasci Attesa circolare: esiste una catena chiusa di processi, in cui ciascun processo detiene una risorsa richiesta (inutilmente) dal processo che lo segue nella catena. Le allocazioni delle risorse possono essere riassunte: Per evitare un deadlock è possibile seguire delle linee guida: 1) Prevenire cercando di far sì che una delle 4 condizioni sia sempre falsa 2) Evitare decidendo di volta in volta cosa fare con l’assegnazione di risorse 3)
Image of page 2
Image of page 3

You've reached the end of your free preview.

Want to read all 7 pages?

  • Winter '18
  • Maselli
  • Sistema operativo, PROCESSO, lezione

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes