• РЕГИСТРАЦИЯ

Числовой глюк, который может привести к катастрофе

2 1731

На удивление простая ошибка поражает компьютеры, контролирующие самолёты, космические корабли и многое другое – они дают сбои, когда обрабатывают большие числа. Это приводит ко взрывам, потере космических зондов и прочим неблагоприятным последствиям.

Вторник 4 июня 1996 года навсегда останется в памяти Европейского космического агентства (ЕКА) как мрачный день. Первый полёт беспилотной ракеты Ariane 5, на которой находились четыре очень дорогих научных спутника, закончился через 39 секунд, преврати всё в шар из дыма и огня. Считается, что взрыв привёл к потере $370 млн (£240 млн).

Что случилось? Это был вовсе не механический сбой или акт саботажа. Нет, запуск закончился катастрофой из-за простой ошибки в программном обеспечении. Компьютер не смог справиться с поставленной задачей потому, что заданное число оказалось больше, чем он ожидал.

Как такое возможно, что компьютеры оказываются неспособными обработать слишком большие числа? Дело в том, что подобного рода ошибки привели к ряду катастроф и провалов в последние годы, разрушив ракеты или направив их не туда и вынудив космические зонды пропасть без вести. Так что же это за ошибки и почему они происходят?

Представьте себе, что вы пытаетесь задать значение – скажем, 169544 километра – на одометре, который рассчитан максимально на 160932 км. Счётчик обнулится до 00000, а затем покажет оставшееся значение – 8612. Именно такая неточность обрекла запуск Ariane 5 на неудачу в 1996 году. Более формально это называется «целочисленным переполнением». По сути это означает, что числа слишком велики для хранения в компьютерной системе, и иногда такая проблема может привести к сбою.

Неудачные запуски

Полное расследование инцидента с Ariane 5 показало, что программное обеспечение, связанное с предыдущим поколением ракет, Ariane 4, зафиксировало неожиданно высокое значение боковой составляющей скорости нового, более быстрого транспортного средства – и программное обеспечение ракеты Ariane 5 не могло справиться с его обработкой. Был запущен процесс самоуничтожения. Через пару секунд ракета была уничтожена.

Такие глюки происходят с удивительной частотой. Предполагается, что причиной, по которой НАСА потеряло контакт с космическим зондом Deep Impact в 2013 году, была связана с достижением целочисленного предела.

В марте 2015 года сообщалось, что самолёт Boeing 787 может пострадать от аналогичной проблемы. Блок управления, отвечавший за подачу энергии к двигателям самолёта, мог автоматически перейти в отказоустойчивый режим – и выключит двигатели – если его оставить включённым более чем на 248 дней. Гипотетически двигатели могли внезапно перестать работать даже в середине полёта. Инструкция Федерального авиационного управления (ФАУ) гласила, что счётчик в программном обеспечении блока управления будет «перегружаться» спустя определённый период времени, вызывая ошибку. И хотя были опубликованы скудные подробности, ФАУ и Boeing отказались комментировать этот пункт. Некоторые наблюдатели-любители указали, что 248 дней (если считать в сотых секунды) равны числу 2147483647 – что очень много.

Так уж получилось, что 2147483647 – это максимальное положительное значение, которое может сохранить «32-битный знаковый регистр», обычно устанавливаемый на большинстве компьютерных систем. На Ariane, для сравнения, программное обеспечение использовало «16-битное» пространство, которое намного меньше и способно хранить максимальное значение 32767.

Загадочный предел

Числа бесконечны, так зачем же устанавливать для них такие ограничения на хранение? Ответ заключается в том, что компьютеры традиционно требуют эффективности во всех вещах. Раньше место для хранения обходилось намного дороже, чем сегодня, и обработка больших значений занимала больше времени. Если вы придерживались определённых ограничений, программное обеспечение работало более гладко. Системы наведения ракет очень быстро выполняют критические вычисления, поэтому такие ограничения, безусловно, имеют значение. Проблема, как доказала ракета Ariane 5, заключается в том, что они не всегда рассматриваются как проблематичные.

«Мы должны признать, что в программном обеспечении мы всегда приближаемся к реальности, – поясняет Билл Шерлис, эксперт по программному обеспечению из Университета Карнеги — Меллона. – Всегда должен быть инженерный компромисс между стоимостью более точного представления и эффективностью».

Математик Дуглас Арнольд из Университета Миннесоты разместил информацию об инциденте с Ariane 5 на веб-странице под названием «Катастрофы, связанные с плохими вычислениями». Арнольд также выделяет случай, произошедший в 1991 году с ракетой Patriot, которая не смогла перехватить атаку Ирака на казармы армии США во время войны в Персидском заливе. В этом случае ошибка означала, что система противоракетной обороны не смогла зафиксировать запуск и проследить траекторию ракеты «Скад», которая двигалась со скоростью 1,7 км/с, и вместо этого сканировала область воздушного пространства более чем в 500 метрах от цели.

В результате «Скад» угодила в казармы; погибли 28 солдат, и ещё 98 человек получили ранения. Детали этой компьютерной ошибки невероятно сложны, но инженер-программист Эндрю Лум из Университета Сиднея опубликовал наиболее точное объяснение того, что произошло, в том числе представив диаграммы системы Patriot.

Глюк, связанный с Gangnam Style

Не все сбои настолько разрушительны, как примеры, приведённые выше, но они часто приводят к неожиданным последствиям. Например, в видеоигре Civilization подобная ошибка привела к тому, что мирный персонаж Ганди стал невероятно враждебным. Когда игроки выбирали конкретный режим игры, значение, которое определяло агрессивность Ганди, становилось максимальным. Таким образом, Ганди угрожал всем ядерным оружием на каждом шагу – к превеликому удовольствию многих игроков.

Также сообщалось, что Gangnam Style, самое популярное видео всех времён на YouTube, «сломало» счётчик просмотров сайта. Счётчик, по-видимому, был запрограммирован только на 2147483647 – опять же, максимальное положительное значение 32-битного знакового регистра. Это вылилось в отличный пиар-ход для YouTube, который обновил счётчик просмотров, чтобы искупаться в лучах мировой славы самого популярного видео на сайте. Новый максимум превышает девять квинтиллионов.

Клипу Gangnam Style исполнителя Psy приписывают «взлом» счётчиков самого популярного сайта YouTube

Шерлис отмечает, что предыдущее ограничение раскрывает ожидания первоначальных программистов, которые создали YouTube. «Конечно, когда программное обеспечение YouTube только разрабатывалось, я думаю, что разработчикам или дизайнерам было трудно представить, что кто-то превысит [это число]», – говорит он.

Часто именно такое предположение, которое поначалу может казаться разумным, вызывает проблемы спустя несколько лет. Самой обсуждаемой ошибкой в истории, которую многие запомнят, стала так называемая «Проблема 2000 года». Вокруг неё было много шумихи.

В данном случае ошибка была довольно простой. Что происходит, когда вы записываете годы по последним двум цифрам? 1900-й становится идентичным 2000-му году. Многие люди поняли, что это вызовет путаницу в случае с любыми компьютерными системами, хранящими значения годов таким образом. В результате для программистов были заранее опубликованы рекомендации обновить системы до или после 1 января 2000 года. Самолёты не падали с неба, но было несколько любопытных последствий. Например, в японской префектуре Исикава в полночь перестало работать оборудование для обнаружения радиации; 150 игровых автоматов на гоночной трассе в штате Делавэр вышли из строя; несколько веб-сайтов представили новую дату как «1 января 19100 года».

Опасения относительно глобального кризиса, вызванного «Проблемой 2000 года», оказались необоснованными

Двенадцать лет спустя в ходе аналогичного инцидента 105-летняя женщина из Швеции по имени Анна Эрикссон получила письмо с приглашением приступить к получению дошкольного образования, потому что программное обеспечение было нацелено на лиц, родившихся в год, который оканчивался на «07». Дизайнеры имели в виду тех, кто родился в 2007 году, а не в 1907 году, как в случае с госпожой Эрикссон. Неспособность правильно распознать год даже привела к тому, что миллионы немецких кредитных и дебетовых карт стали непригодными для использования в день Нового года в 2010 году.

2038-й год

Много лет назад программисту Уильяму Порке пришла в голову мысль о том, чтобы проанализировать ещё одну важную дату – 03:14:08 UTC 19 января 2038 года. Это тот момент, когда количество секунд, начиная с 1 января 1970 года, превысит одно из максимальных значений, на которые рассчитаны регистры даты и времени многих современных компьютеров. Как и в случае с «Проблемой 2000 года», неспособность подготовиться к этому событию может привести к сбоям в работе компьютеров.

«Я написал об этом впервые в 1999 году, – говорит Порке. – Я приобрёл доменное имя 2038.org, и поначалу это выглядело как ироничная насмешка. Своего рода шутка, с большим количеством компьютерных учёных, которые твердили: "О, да, мы исправим это в 2037 году..." Но потом я осознал, что это реальная проблема».

Столкнёмся ли мы с тем, что январским утром 2038 года компьютеры по всему миру перестанут нормально работать?

Порке обеспокоен старыми битами программного обеспечения, до которых больше никому нет дела – на давно существующих сетях или на старом оборудовании, используемом в отдалённых частях мира. Сколько из них всё ещё будет использоваться через 19 лет и какие последствия это может повлечь за собой, остаётся только гадать.

«Многие компьютерные системы, – отмечает Порке, – могут выйти из строя предсказуемым образом. Но это неудача непредсказуема».

Глюк во времени

Маркус Кун, компьютерный учёный из Кембриджского университета, объясняет, что ошибки, связанные со временем, вызывают интерес отчасти потому, что их последствия непредсказуемы, но также и потому, что они «не являются неожиданными» и что люди могут предсказать, что произойдёт, когда наступит роковая дата.

Кун считает, что «Проблема 2038 года» будет менее значимой, чем «Проблема 2000 года», потому что последняя подготовила компьютерную индустрию ко внесению необходимых исправлений. В самом деле, это часть плана Уильяма Порке. «Я надеюсь, что мне предложат приличную сумму денег за это», – шутит он.

Скорость вращения Земли также может привести к небольшому изменению времени, которое, в свою очередь, повлечёт за собой сбой в работе компьютеров

В качестве ещё одного примера обсуждаемой проблемы можно привести тот факт, что 2015-й год должен был стать на секунду длиннее 2014-го, чтобы исправить несоответствие между астрономическим временем (время на Земле, основанное на вращении нашей планеты) и атомным временем (наиболее точный известный метод учёта времени, с точки зрения подсчёта секунд). Дело в том, что вращение Земли постепенно замедляется. На него могут оказывать влияние такие геологические события, как землетрясения. А это означает, что добавление високосных секунд, в отличие от високосных лет, является переменным.

Кажется, что бы мы ни делали, некоторые вычисления всегда будут сбивать с толку компьютеры, вызывая сбои – или того хуже. «Мы многому научились благодаря "Проблеме 2000 года" и другим подобным событиям, – отмечает Шерлис. – Но реальность состоит в том, что мы вынуждены корректировать вычисления и ориентироваться на инженерный компромисс. И так будет всегда».

Специально для читателей моего блога Muz4in.Net

    Св. непророчная Иоланда Давальная-Ванальная

    В сериале "Причер" был святой убийц, а тут святая бухла и блядства Слушайте, они там совсем поехавшие. А, извините, я не озвучил, по какому поводу… Орден Американских Шестёрок, из...

    Россия начала ставить огромные вышки высотой с 9-этажный дом вдоль всей границы

    В разных локациях по всей границе России начали развёртывать комплексы с телескопическими вышками высотой с 9-этажный дом. И некоторые задаются вопросом: «Что это такое и для чего они нужны?» ...

    От апатии к психопатии и обратно или Почему они не выходят на очередной майдан

    Украинским "борцам за свободу" любят напоминать как они уверяли всех, что если назначенная майданом власть окажется негодной, они тут же выйдут на новый майдан и прогонят её.И ждут от н...

    Ваш комментарий сохранен и будет опубликован сразу после вашей авторизации.

    0 новых комментариев

      Марина 25 октября 2021 г. 20:02

      10 ужасных токсинов, которые на самом деле приносят пользу людям

      Растения и животные во всем мире на протяжении эволюционного развития вырабатывали токсины и яды, которые обеспечивают их безопасность. Растения, которые не желают быть съеденными, производят яды, отпугивающие животных. И представители фауны кусают, плюются или источают ядовитые химические вещества, которые либо защищают их от хищников, либо делают их более эффективны...
      563
      Марина 21 октября 2021 г. 20:34

      10 странных побочных эффектов от лекарств

      Современная медицина близка к чуду. Число жизней, спасаемых каждый год благодаря тому, что мы имеем, начиная от пенициллина и инсулина и заканчивая лечением рака, ошеломляет. Но за это приходится платить цену, причём не наличными. У многих лекарств имеются побочные эффекты, и некоторые из них довольно странные…10. Гангрена Фурнье «Джардинс» был одобрен д...
      2116
      Марина 21 октября 2021 г. 17:25

      Лучшая жизнь как система

      Природа не случайна и не спонтанна.Это серия систем, функционирующих в определённом порядке в соответствии с конкретными научными законами. Всё в природе следует той или иной модели.Циклы дождя, снега и солнечного света – это системы. Жизненный цикл человека – это ряд систем, которые слаженно функционируют, чтобы поддерживать жизнь в теле (дыхание, пище...
      1060
      Марина 21 октября 2021 г. 14:05

      16 удивительных фотографий

      1. Первое изображение другой солнечной системыЭто снимок среды, которая очень похожа на нашу Солнечную систему, но претерпевает гораздо более раннюю стадию эволюции. Она находится на расстоянии около 300 световых лет и известна как TYC 8998-760-1. 2. Этот мужчина употреблял коллоидное серебро на протяжении 20 лет и посинел. 3. Черновой вари...
      797
      Марина 21 октября 2021 г. 11:01

      Случайный герой

      Форт Макмюррей – небольшой город в северо-восточной части канадской провинции Альберта. Сегодня в нём проживает около 65 000 человек, но в мае 2016 года там практически никого не было. Первого мая того же года в лесах, прилегающих к городу, вспыхнул пожар; сухая, жаркая погода, которая стояла в то время, не позволяла держать огонь под контролем. Поначал...
      806
      Марина 20 октября 2021 г. 20:03

      15 случайных фактов

      1. Голос Siri в Великобритании, Джон Бриггс, не знал, что он был голосом Siri до тех пор, пока не услышал собственный голос в рекламе iPhone 4S.2. Самки комодских варанов могут рожать в результате непорочного зачатия, однако детёныши не являются генетическими клонами матери.3. Муравьи-герои живут на скалах (и в других высоких местах) и нападают на любог...
      1327
      Марина 20 октября 2021 г. 17:27

      Как быть мудрым

      Что значит быть мудрым? Это не имеет никакого отношения к IQ или диплому человека. Мудрый человек – это тот, кто руководствуется здравым смыслом.Звучит парадоксально, не так ли? В конце концов, здравый смысл – это здравый смысл. Речь идёт о мудрости, озарениях и уроках, которые все знают. Но проблема в том, что не все применяют то, что знают.На самом де...
      716
      Марина 20 октября 2021 г. 14:21

      Девять вкусных фактов об устрицах

      Одни люди считают устрицы слишком солёными на вкус. Для других это деликатес. Устрицы либо любят, либо ненавидят, но, как бы там ни было, они также обладают удивительными экологическими свойствами, а их раковины используют различными необычными способами. Далее вы узнаете девять невероятных фактов об этих двустворчатых моллюсках.1. Устрицы существуют с ...
      575
      Марина 20 октября 2021 г. 11:04

      5 оптических иллюзий, основанных на науке

      Наука раскрывает истинную природу вещей, и иногда это пугает или противоречит нашим убеждениям. Но в этом вся суть: мы должны преодолеть наши мелкие человеческие предубеждения и неуверенность, чтобы упиваться достижениями научной мысли. Позвольте нам ускорить этот процесс (и чуть-чуть замусорить ваш мозг), раскрывая пугающую, противоречащую интуиции природу некоторых ...
      2219
      Марина 19 октября 2021 г. 20:47

      25 странных фактов

      1. В Пентагоне 284 туалета.2. Древние египтяне оплакивали смерть кошек, сбривая брови.3. В фильме «Психо» Альфреда Хичкока кровью в сцене убийства в душе на самом деле был шоколадный сироп. 4. Пол детёнышей крокодила зависит от температуры в гнезде и того, насколько глубоко были зарыты яйца.5. Согласно психологами, обувь и ступни являются самыми распрос...
      2685
      Марина 19 октября 2021 г. 14:54

      Девять способов стать смелее

      Смелость – это качество, которым все восхищаются. Его прославляют во всех культурах мира. Это одна из четырёх «тактических добродетелей» мужественности. Она служит основой мужского совершенства. Как заметил Уинстон Черчилль: «Смелость по праву считается первым из человеческих качеств... потому что это качество гарантирует все остальные».И хотя мы часто ...
      658
      Марина 19 октября 2021 г. 11:39

      Четыре наиболее распространённых типа Интернет-угроз

      Знаете ли вы, что к концу этого года киберпреступность, как ожидается, обойдётся миру примерно в шесть триллионов долларов ущерба? Шесть триллионов долларов! Такая поразительная цифра способна навредить экономике в глобальном масштабе. Последствия кибератак очень серьёзны, независимо от того, проводятся ли они на индивидуальном уровне или затрагивают вс...
      349
      Марина 19 октября 2021 г. 11:38

      Детское перемирие

      Если вы воспитываете маленького ребёнка, есть большая вероятность, что вы посвящаете вечер рутинным вещам, которые нужно сделать перед сном. Ваша задача – покупать детей, заставить их почистить зубы, надеть пижамы и лечь спать. Их задача – потребовать что-нибудь вкусненькое, попросить вас прочесть ещё одну сказку, включить или выключить ночник, спеть ко...
      341
      Марина 18 октября 2021 г. 20:07

      Цветные цифры

      Синестезия – это неврологический феномен, при котором определённые сенсорные понятия тесно связаны друг с другом, казалось бы, случайным, но устойчивым образом. И хотя они уникальны для каждого человека и могут охватывать любой тип ощущений – от звука до прикосновения и эмоций, наиболее часто встречающийся тип – графемно-цветовая синестезия, или установ...
      426
      Марина 18 октября 2021 г. 17:05

      10 необъяснимых тайн мозга

      Человеческий мозг – один из самых сложных органов человеческого тела, а также самый малоизученный. И хотя за последние несколько лет мы существенно продвинулись в расшифровке его таинственных механизмов – благодаря беспрецедентным достижениям в таких областях, как нейробиология – мы ещё многого не знаем о нём.Начиная от сознания и заканчивая памятью и расстройствами, ...
      683
      Марина 18 октября 2021 г. 14:04

      Как произвести хорошее последнее впечатление

      Исследования показывают, что люди лучше всего помнят начало чего-то и конец. Воспоминания о середине обычно нечёткие и размытые.Как только вы сталкиваетесь с новым опытом, ваш мозг начинает сосредотачиваться на том, что происходит, и выносить быстрые суждения о людях, с которыми вы знакомитесь. Вы чётко помните последнюю часть опыта, поскольку она остаё...
      1335
      Марина 18 октября 2021 г. 11:30

      Поцелуй Камня Красноречия – давняя ирландская традиция

      Камень Красноречия мог бы быть обычным камнем, если бы не его таинственное происхождение и легенды, которые ходят вокруг него. Тысячи туристов ежегодно стекаются в ирландское графство Корк, чтобы поцеловать его. Говорят, что он был установлен в замке Бларни в 1446 году и наделяет тех, чьи губы прикоснутся к нему, даром красноречия. Но этот миф – только ...
      359
      Марина 17 октября 2021 г. 18:46

      Хорошие времена не за горами

      «Как только я завершу текущий рабочий проект…»«Как только мы немного освоимся…»«Как только я закончу планировать это мероприятие…»«Как только дети подрастут…»Как часто мы откладываем на потом личные побуждения и приглашения других людей отправиться в путешествие, сделать шаг или просто потусоваться?«Я слишком занят сейчас, – говорим мы себе. – Но через ...
      954
      Марина 16 октября 2021 г. 19:21

      20 удивительных фотографий из истории

      Профессиональный бейсболист Тай Кобб во время игры в 1920 году Валлийские шахтёры после смены, 1912 год Пистолеты и ножи, связанные с убийством Линкольна и нанесением ножевых ранений майору Рэтбоуну, телохранителю президента, включая пулю, извлечённую из головы Линкольна. Сапог принадлежал Буту; он был в нём в день убийства. ...
      3870
      Марина 15 октября 2021 г. 20:53

      Вера в себя – первый шаг на пути к достижению чего-либо

      Без веры в себя мы никогда не сможем делать то, что хотим. Трудно быть счастливыми, строить карьеру, которая нам нравится, и оказывать влияние на других, если мы продолжаем сомневаться в себе.Без веры в себя мы будем идти по жизни с опущенной головой, пытаясь избежать неудач, критики и риска. Без веры в себя мы думаем, что мы недостаточно хороши. Мы стр...
      1392
      Служба поддержи

      Яндекс.Метрика