Приветствую Вас, уважаемые Читатели! С детства Вас учили, что делить на ноль нельзя, хотя уже в студенчестве на математическом анализе понимаешь, что не все так однозначно.
Американский писатель Чарльз Сэйфе проблеме деления на ноль посвятил целую книгу, где собраны различные удивительные и иногда трагические факты, которые произошли по причине игнорирования этого базового правила математики.
В качестве одного из примеров автор приводит событие, которое произошло с американским крейсером Йорктаун .
"Йорктаун" успешно служил ВМС США с 1984 года без серьезных инцидентов во время нескольких боевых операций; однако в рамках программы модернизации, получившей название "Умный корабль", его системы управления были модифицированы в 1996 году для использования сети ПК под управлением Windows NT 4.0. Система была разработана и построена дочерней компанией Litton Industries и состояла из 27 клиентских ПК.
21 сентября 1997 года Йорктаун был на учениях побережья Кейп-Чарльза, штат Вирджиния, когда член экипажа начал устранять неполадки с закрытым топливным клапаном, состояние которого в "умной системе" не обновлялось: компьютер показывал, что клапан открыт.
Техник попытался выполнить сброс топливного клапана, введя значение "0" в поле базы данных. Это привело к попытке разделить на 0 и последующему переполнению буфера. Проверка этой операции просто не была предусмотрена программистами!
Поскольку другие интеллектуальные корабельные системы зависели от доступности базы данных по локальной сети, компоненты, управляющие двигателем, начали выходить из строя, пока корабль не остановился полностью! Экипаж смог устранить неполадки и перезапустить системы корабля через два часа и сорок пять минут! Спасибо за внимание!