Из-за каких ошибок программистов теряли космические устройства?
если ваш компьютер по некоторый причине неожиданно «завис» во время работы, то это в любом случае невозможно назвать катастрофой. А вот если за ошибки в программном обеспечении безвозвратно теряется дорогостоящее космическое обстановка – тогда уже настоящая беда…
Если ваш компьютер по некоторый причине внезапно «завис» во время работы, то это в любом случае отрицание назвать катастрофой. А вот если за ошибки в программном обеспечении безвозвратно теряется дорогостоящее космическое обстановка – тогда уже настоящая беда. А во всем оказывается «виноват» сверхштатный или же недостающий знак в программном коде.
Почему-то считается, что больше только ляпов допустили космические программисты СССР и в дальнейшем России. Видимо, лишение двух аппаратов «Фобос» поспособствовала этому. Но на самом деле финансовое лидерство с ляпами – около программистов USA и Европейского космического союза. Вот доказательства.
28 июля 1962 возраст Соединенные Штаты Америки запустили к Венере орудие «Mariner-1». Но он чуть не залпом же опосля отделения от ракеты-носителя потерял сцепление с наземными службами управления. Автоматика за этого ЧП включила внутреннюю систему навигации. А она имела очень «маленький» баг – в программе был пропущен один-единственный символ. В результате этого «Mariner-1» отправился очень в другую сторону.
Очень дорогой для USA обошлась утрата зонда «Mars Global Surveyor». Проработав не мало годов на красной планете, он совершенно мог влиять и дальше. Но фатальная упущение программистов его погубила. Зонд получил на бортовой компьютер задача переориентировать солнечные батареи. действие отдельно сложной не являлась, она была штатной для аппарата. И все бы прошло гладко, Но пятью месяцами ранее проводилось обновление программы управления антенной. доля нового кода ошибочно загрузили в другую область, которая взаимодействовала с программой ориентации солнечных панелей. В результате этой ошибки одна из панелей была направлена неправильно и изо всех сил перегрелась, вышла из строя, перекрыв собой «обзор» аппарату. «Mars Global Surveyor» весь потерял ориентацию в пространстве, антенна связи стала бесполезной для передачи каких-либо сигналов на Землю. Потери NASA превысили 250 миллионов долларов.
Еще более катастрофической по финансам стала убыток 4 июня 1996 возраст ракеты-носителя «Ariane-5». Она взорвалась после 40 секунд в момент своего первого старта, имея на борту четыре спутника. Но что же случилось? Длительное и тщательное разбирать катастрофы выявило невероятную, на зачинщик взгляд, ошибку программистов. секрет в том, что система управления была «скопирована» с предыдущей ракеты-носителя «Ariane-4». Попробую сложные математические выводы комиссии «перевести» в ясный язык. Если, конечно, получится.
Система ориентации ракеты – гироскопы и акселометры. Но за ошибки в программном коде они получали абсолютно неверные команды. добро бы внешне все выглядело нормально. То теснить эти команды ничем не грозили бы ракете «Ariane-4» при ее скорости взлета, Но они «запутали» систему ориентации «Ariane-5», имевшей намного более высокую скорость. Сработала система защиты от неуправляемого полета и ракета взорвалась. при всем том какая же неправильность была допущена? Ниже пойдет текст для программистов, понимающих суть. Обычные читатели, далекие от написания программ, могут его пропустить. Привожу текст из заключения комиссии, расследовавшей чрезвычайное происшествие:
«Данные с плавающей запятой для инерциальной системы отсчёта переводились из 64 бит в 16. В результате одно из чисел оказалось больше 32767 (максимально возможное шестнадцатибитное целое сумма со знаком). Система ориентации ракеты отключилась, получив недопустимое число, в производство пришел устройство подрыва ракеты… Программисты посчитали, что число переменной отроду не превысит предельно допустимое значение. Но это было справедливо для «Ariane-4» и в корне ошибочно для «Ariane-5».
А ныне скажу своими словами попроще. Система автоподрыва была задействована опосля остановки двух процессоров. Началом для ее включения стало быть переполнение буфера, да как система навигации дала недопустимо большое важность параметра скорости. Программисты на рабочем железе ракеты убрали защиту от ошибки переполнения буфера. Они были уверены, что такая заблуждение невозможна в принципе.
На разработку «Ariane-5» Евросоюз потратил семь миллиардов долларов. достоинство же самой ракеты превышала 500 миллионов долларов, не считая стоимости имевшихся на ней спутников.
Человеческий причина – самая главная виновник различных космических катастроф. И обидный бывает, Кагда старый дело губится за маленького пропущенного либо лишнего символа в программе, а то и решительно за глупости программистов.
Добавить комментарий