Algoritmo dello struzzo: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
non è un "effetto", ma una "leggenda" |
→Uso con i deadlock: fonte sistemi operativi attuali |
||
(2 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1:
In [[informatica]], l''''algoritmo''' dello struzzo è una [[strategia]] per ignorare potenziali problemi sulla base del fatto che questi siano estremamente rari. Prende il nome dalla
== Uso con i deadlock ==
Riga 6:
Un gruppo di [[Processo (informatica)|processi]] è in [[Stallo (informatica)|stallo]] se ciascuno è in attesa di un evento che può essere generato solo da un altro processo del medesimo gruppo. In genere si tratta del rilascio di una risorsa, quindi nessuno dei processi può continuare l'esecuzione, rilasciare risorse ed essere attivato.<ref>{{Cita web|url=https://cgi.cse.unsw.edu.au/~cs3231/21T1/lectures/lect04.pdf|titolo=Operating Systems}}</ref>
L'algoritmo dello struzzo finge che non ci siano problemi ed è ragionevole usarlo se i deadlock si verificano molto raramente e il costo per prevenirli sarebbe elevato.
Sebbene l'utilizzo dell'algoritmo dello struzzo sia uno dei metodi per affrontare i [[Stallo (informatica)|deadlock]], esistono altri metodi efficaci come la prevenzione dinamica, [[Algoritmo del banchiere|l'algoritmo del banchiere]], il rilevamento e il ripristino.<ref>[http://www.ceng.metu.edu.tr/~genc/334/Ch_6_Deadlocks.ppt Middle East Technical University. Deadlocks.]</ref>
== Compromessi ==
Nonostante l'efficienza, l'algoritmo dello struzzo baratta la correttezza per la comodità. Tuttavia, poiché l'algoritmo si occupa direttamente di casi estremi, non è un grande compromesso. Infatti, il metodo più semplice e utilizzato per risolvere un deadlock è il riavvio.
Alcuni algoritmi con scarse prestazioni nel caso peggiore, sono comunemente usati perché risultano poco efficienti solo su casi artificiali che non si verificano nella pratica; esempi tipici sono l'[[algoritmo del simplesso]] e l'algoritmo di inferenza del tipo per [[Standard ML]]. Problemi come l'overflow di interi nei linguaggi con interi a larghezza fissa vengono anch'essi spesso ignorati perché si verificano solo in casi eccezionali che non emergono con input pratici.
== Voci correlate ==▼
* [[End-to-end|Principio end-to-end]]▼
== Note ==
<references/>
▲== Voci correlate ==
▲* [[End-to-end|Principio end-to-end]]
{{portale|informatica}}
[[Categoria:Controllo della concorrenza]]
|