Deadlock Ignorance or Ostrich Algorithm

Filter Course


Deadlock Ignorance or Ostrich Algorithm

Published by: Zaya

Published date: 22 Jun 2021

Deadlock Ignorance or Ostrich Algorithm Photo

Deadlock Ignorance or Ostrich Algorithm

  • The simplest approach is the ostrich algorithm: stick your head in the sand and pretend there is no problem at all.
  • Different people react to this strategy in different ways. Mathematicians find it totally unacceptable and say that deadlocks must be prevented at all costs.
  • Engineers ask how often the problem is expected, how often the system crashes for other reasons, and how serious a deadlock is.
  • If deadlocks occur on average once every five years, but system crashes due to hardware failures, compiler errors, and operating system bugs occur once a week, most engineers would not be willing to pay a large penalty in performance or convenience to eliminate deadlocks.
  • Most operating systems, including UNIX and Windows, just ignore the problem on the assumption that most users would prefer an occasional deadlock to a rule restricting all users to one process, one open file, and one of everything.
  • If deadlocks could be eliminated for free, there would not be much discussion. The problem is that the price is high, mostly in terms of putting inconvenient restrictions on processes, as we will see shortly. Thus we are faced with an unpleasant trade-off between convenience and correctness, and a great deal of discussion about which is more important, and to whom. Under these conditions, general solutions are hard to find.