鸵鸟算法

2020-10-26 10:50:25 浏览数 (1)

鸵鸟算法:把头埋到沙子里,假装根本没有问题发生[。每个人对该方法的看法都不相同。数学家认为这种方法根本不能接受,不论代价有多大,都要彻底防止死锁的产生;工程师们想要了解死锁发生的频度、系统因各种原因崩溃的发生次数以及死锁的严重性。如果死锁平均每5年发生一次,而每个月系统都会因硬件故障、编译器错误或者操作系统故障而崩溃一次,那么大多数的工程师不会以性能损失和可用性的代价去防止死锁。

为了能够让这一对比更具体,考虑如下情况的一个操作系统:当一个open系统调用因物理设备(例如CD-ROM驱动程序或者打印机)忙而不能得到响应的时候,操作系统会阻塞调用该系统调用的进程。通常是由设备驱动来决定在这种情况下应该采取何种措施。显然,阻塞或者返回一个错误代码是两种选择。如果一个进程成功地打开了CD-ROM驱动器,而另一个进程成功地打开了打印机,这时每个进程都会试图去打开另外一个设备,然后系统会阻塞这种尝试,从而发生死锁。现有系统很少能够检测到这种死锁。

0 人点赞