Что мешает коммерческому самолету «перезагрузиться» электронным способом, как это иногда делает компьютер?

Я боялся летать в течение последних нескольких лет, и одним из проявлений этой иррациональной фобии является беспокойство по поводу того, что самолет выключается в воздухе: отключаются двигатели, отключается оборудование управления и т. д.

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

Бывает ли такое с коммерческими самолетами? Я ожидаю, что они электронно подключены принципиально иначе, чем компьютеры, так что один системный сбой не влияет на остальные, но я никогда не спрашивал пилота.

Ну и еще есть примеры необходимости "перезагрузить самолет" ;) A350: theregister.co.uk/2019/07/25/… и 787: theregister.co.uk/2015/05/01/…
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Иногда они делают. Вот (одна из причин), почему самолетов больше одного.

Ответы (7)

Я программист и частный пилот, так что, возможно, я смогу развеять некоторые из этих страхов.

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

  2. Если ваш телефон перезагрузится, это не угрожает чьей-либо жизни. Таким образом, тестирование и контроль качества такого устройства — это, по сути, все, что хочет сделать компания. С другой стороны, компьютеры в авиации гораздо более тщательно тестируются, прежде чем они могут быть сертифицированы для полетов.

  3. Как и в пункте 1, каждый компьютер в самолете выполняет только одну работу. Многие сбои на обычном ПК или смартфоне происходят из-за того, что разные приложения наступают друг другу на пятки. (Предполагается, что операционная система разделяет каждое приложение, поэтому они не могут этого сделать, но пункт 2 применим и к операционным системам.)

  4. Самолет — это не один компьютер, как ваш телефон. Да, ваш телефон, вероятно, имеет несколько процессоров, каждый из которых имеет несколько ядер, но они тесно связаны друг с другом, чтобы сформировать один компьютер. Компьютеры в самолете объединены в сеть, но это отдельные компьютеры. Если ваш телефон выйдет из строя, даже если парень, сидящий рядом с вами, находится в той же сети, это не повлияет на него, не так ли? Точно так же, если FADEC для одного двигателя выходит из строя (исчезающе редкое явление, потому что FADEC концептуально являются одними из самых простых компьютеров), все, что произойдет, — это останов одного двигателя, не влияя на остальную часть самолета.

  5. С другой стороны, действительно важные компьютеры (например, дистанционные контроллеры) имеют многократную избыточность. Так что, если один из них потерпит неудачу, остальные могут взять на себя слабину. Даже пилот ничего не заметит, если не считать сигнальной лампы в кабине.

Если вы хотите увидеть, что на самом деле происходит, когда что-то выходит из строя в самолете, посмотрите следующие видео:

Пилот управлял самолетом вручную, выключая и перезапуская авионику. Дальше полет прошел нормально.

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

Двигатель продолжал работать, несмотря на потерю всей электроэнергии всего самолета. Он благополучно приземлился.

Редактировать: всего два часа назад, когда я печатал это, в моей ленте на YouTube появилось еще одно видео о сбое в полете:

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

По какой причине вы включили спойлеры в свой ответ?
Мне, например, нравится ожидание, когда я не знаю, чем обернется каждый из них!
@Valay_17 На случай, если они сами захотят посмотреть видео, не зная, что происходит.
@HiddenWindshield О, ха, не подумал об этом ... :)
Если это поможет, OP, национальная инфраструктура, такая как телекоммуникационные сети, также использует эту концепцию избыточности, как само собой разумеющееся. Черт возьми, Stack Overflow использует концепцию избыточности — в случае возникновения проблемы он может переключиться в режим только для чтения. И это даже не критически важные для безопасности приложения! Сравнение с вашим домашним ПК просто дико неуместно.
Я считаю, что пункты 2 и 4 неверны. 2: Программы не могут «наступать друг другу на пятки», даже на простой x86 они сильно разделены защищенным режимом, и вам понадобится эксплойт ring0, чтобы обойти это. Ядро для Windows и Linux, вероятно, тестируется не меньше, чем ядро, используемое в авиации. 4: Типичный ПК также представляет собой набор «сетевых» компьютеров, помимо вашего примера с несколькими ядрами, для всего есть контроллеры, многие из которых имеют возможности управления шиной. Кроме того, системы авионики предъявляют строгие требования к реальному времени, от которых не страдают обычные ПК.
Электронные компьютеры не только избыточны, но и построены с использованием разных архитектур и запрограммированы разными командами, чтобы свести к минимуму вероятность того, что проблема затронет все компьютеры одновременно. Например, A320 имеет два компьютера Intel FBW и два компьютера Motorola FBW.
@AlphaCentauri - здесь, на Земле, нам не нужно тыкать в какое-то другое пространство процесса, чтобы «наступить друг другу на пятки» - попросите какое-либо другое приложение открыть файл с неверными данными / именем файла или запустить браузер на сайт с 0-day эксплуатировать или продвигать доступность API слишком далеко... Существует множество официальных каналов связи IPC между процессами, которые можно использовать для создания проблем даже непреднамеренно. И здесь стоимость тестирования в соответствии с авиационными (или любыми жизненно важными) стандартами является непомерно высокой для любой ОС общего назначения, которую необходимо протестировать для квалификации (по крайней мере, в потребительской конфигурации по умолчанию).
Дополнительная причина, которая может относиться только к Airbus A380, заключается в том, что они используют программное обеспечение, которое частично формально проверено, что означает, что математически доказано, что оно не содержит определенных классов ошибок. Я полагаю, что они используют микроядро под названием INTEGRITY-178B , микроядро RTOS, совместимое с DO-178B.
@AlphaCentauri - В дополнение к тому, что сказал Алексей Левенков, ПК не является «набором сетевых компьютеров». Это один компьютер с несколькими компонентами. Правда, иногда возможен сбой сетевой карты, жесткого диска и т.п., не влияя на остальную часть компьютера, но это бывает редко. Если ваш жесткий диск выходит из строя, вам лучше надеяться, что ничего не было выгружено из ОЗУ в то время, потому что если бы это было так, компьютер через несколько секунд выдаст синий экран (или его эквивалент). И если один из основных процессоров выходит из строя, то это касается всей системы, независимо от того.

Прежде чем мы начнем, важно сказать, что ваше беспокойство не является иррациональным. Если бы это произошло, или если бы система управления вашего самолета вышла из строя опасным образом, ваша жизнь была бы действительно в опасности.

Впрочем, вы не первый, кто об этом подумал. По этой причине у нас есть категория систем управления, которые мы технически описываем как связанные с безопасностью , и есть целая отрасль техники, называемая техникой безопасности , посвященная формальной оценке этих систем и попыткам предотвратить несчастные случаи. Это включает в себя системы управления самолетом, а также антиблокировочную систему тормозов, медицинские устройства и любые другие системы, в которых люди могут пострадать из-за неправильной работы. Степень, в которой люди могут пострадать от этого, формально оценивается как уровень полноты безопасности.на основе риска. Риск представляет собой комбинацию того, насколько вероятно событие, насколько плохим будет результат и могут ли вовлеченные люди предпринять какие-либо действия по смягчению последствий, и он оценивается для каждого случая неправильного поведения системы, связанной с безопасностью.

Обратите внимание, что эта оценка может быть не такой интуитивной, как вы думаете. Когда-то я работал над системой раздачи мякины и сигнальных ракет для военных самолетов. Вы могли бы подумать, что риск невыполнения контрмер и сбития пилота будет вашим основным риском, но оценка безопасности (мы использовали FMEA) показали, что у пилота были другие варианты смягчения последствий, такие как броня и катапультируемое кресло, возможность быть сбитым — это шанс, который они уже приняли, когда принимались за работу, а риск того, что разбившийся самолет заденет здания, был ничтожно мал и что-то, что уже было был институционально принят как часть наличия военно-воздушных сил. Самый серьезный риск заключался в том, что система дала осечку, пока оружейник перезаряжал ее, потому что тогда они могли получить залп из 36 дробовиков в голову с близкого расстояния. Оружейник не согласился на такой шанс, и не было никакого практического способа защитить их. В результате наша система должна была по умолчанию не стрелять, если были какие-либо расхождения.

Есть много способов обеспечить надежность. Избыточность является наиболее популярной. У вас может быть несколько датчиков в разных местах, поэтому система всегда может определить, что происходит, если один (или, возможно, несколько) выйдет из строя. Обычно существует несколько исполнительных механизмов для важных поверхностей полета или несколько поверхностей полета, где самолет может сохранять управление, если один или несколько повреждены. Пассажирские самолеты обычно также имеют несколько двигателей и несколько топливных баков, которые могут быть изолированы друг от друга в случае повреждения. В ряде случаев может быть несколько систем управления, которые «голосуют» за правильное действие, поэтому один неисправный узел будет проигнорирован. В крайнем случае, каждая система управления может быть даже запрограммирована другой командой разработчиков программного обеспечения, так что ошибка в одной команде крайне маловероятно, что это программное обеспечение присутствует в программном обеспечении другой команды. И могут быть другие резервные системы, такие как механические элементы управления.

Еще одним хорошим методом смягчения является обучение. Вполне допустимо, чтобы что-то пошло не так, если люди, управляющие им, способны справиться с этим сбоем и продолжать работать. Важно не недооценивать, насколько хорошими могут быть люди. Люди также могут стать причиной неудач, поэтому обучение также может заключаться в том, чтобы сказать им: «Не делай этого». Большие самолеты относительно медленно реагируют на органы управления, поэтому относительно часто пилоты могут чрезмерно корректировать и усугублять ситуацию. Для некоторых коммерческих самолетов стандартная реакция, которой обучают пилотов в случае нестабильности, - отпустить ручку и позволить самолету исправиться.

Стоит отметить, что оба эти фактора являются причиной того, что катастрофы Boeing-737MAX настолько ужасны, что должны быть возбуждены уголовные дела против людей в отдельности и организации в целом. Соответствующая система не использовала избыточные входы, даже если они были доступны; влияние неправильной реакции системы не оценивалось и не смягчалось; и экипаж не обучали тому, как справляться с его отказом, и даже не говорили, что он существует. В Великобритании преступление «корпоративного непредумышленного убийства» существует для судебного преследования именно таких неудач.

Другим элементом всего этого является качество , так что вы должны убедиться, что системы не ошибаются в первую очередь. Надежность программного обеспечения почти полностью зависит от количества проверок и испытаний. В настоящее время я работаю над программным обеспечением для научного оборудования и считаю, что трачу около 10-20% своего времени разработки на тестирование. ПК и мобильные телефоны будут примерно одинаковыми. Когда я работал над автомобильными и аэрокосмическими системами, все было наоборот — мы считали, что тратим около 5-10% времени на кодирование, 10-20% времени на проектирование, а остальное время уходило на просмотр и тестирование. .

Управление изменениями также радикально более ограничено. Microsoft может выпустить обновление, а затем устранить ущерб в нескольких случаях, когда оно работает неправильно, и в то же время внедрить несколько дополнительных функций. Однако в разработке, связанной с безопасностью, вы не изменяете ни одной строки кода без формального подтверждения того, что (а) все понимают, что будет делать это изменение, (б) что это изменение устраняет эту ошибку и ничего больше не меняет , и (c) что это изменение даже необходимо. Многие сеансы сортировки ошибок включают в себя обнаружение ошибок, когда мы в конечном итоге решаем, что влияние ошибки незначительно (например, мы на 10 мс позже включаем предупреждающий индикатор), но риск попытки исправить ошибку потенциально может быть высоким, если мы ошиблись, так что безопаснее, чтобы эта тривиальная ошибка осталась.

Как показывает случай с Boeing-737MAX, все эти процессы стоят выеденного яйца только в том случае, если люди им следуют. Тем не менее, процессы существуют, и они являются передовой практикой в ​​отрасли с десятками тысяч инженеров по всему миру, которая имеет множество официальных международных стандартов, чтобы установить это. Несоблюдение этих стандартов почти по определению является грубой небрежностью, и в большинстве стран действуют законы, позволяющие преследовать людей и компании, допустившие такую ​​халатность. Большинство инженеров в любом случае хотели бы делать свою работу хорошо; но законы гарантируют, что организация в целом остается честной и не срезает углы.

Очень хороший ответ. Вы могли бы, если у вас есть время, уточнить пару предложений о том, как сами процессы разработки программного и аппаратного обеспечения для систем, критически важных с точки зрения безопасности, строго определены для обеспечения безопасности готового продукта, например, как в IEC 61508 , а затем в отраслевых нормах. На самом деле наличие проверенного, систематического, документированного процесса, который гарантирует выполнение требований, соблюдение спецификаций, проверку и тестирование и т. д., является наиболее важным отличием от общей разработки продукта.
@ Peter-ReinstateMonica Спасибо. Все очень верно, конечно. Я волновался, что я слишком долго, как это было, хотя! :)
Возможно, стоит отметить, что во многих случаях процесс тестирования/качества требует независимости от команды, фактически реализовавшей код. (Конечно верно для DO-178 и DO-254).
«Самый серьезный риск заключался в том, что система дала осечку, пока оружейник перезаряжал ее, потому что тогда он получил залп из 36 дробовиков в голову с близкого расстояния». стрелять при перезарядке?
@Vikki Дизайн дозатора представляет собой сетку из трубок 6x6 в прямоугольной рамке. В каждое отверстие вставляется сигнальная ракета или патрон с мякиной, а затем оружейник втыкает заряженную раму в монтажную панель, на которой есть контакты для стрельбы. Неизбежно это означает, что перед ним стоят 36 вооруженных трубок, когда он задвигает их домой.
@Graham: Похоже... не лучший дизайн.
@Vikki Это единственный практичный дизайн, учитывая, как вам нужно, чтобы вещи стреляли. И, как я сказал в посте, это достаточно безопасно, если вы чертовски уверены, что пусковые контакты не могут быть под напряжением, когда они это делают.

Ваши опасения разумны и обоснованы. Отключение или перезагрузка в воздухе были бы катастрофой для авиалайнера. Вот почему инженеры спроектировали системы таким образом, что этот сценарий практически невозможен.

Электричество

Авиалайнер имеет несколько источников электроэнергии. Каждый реактивный двигатель имеет встроенный генератор. Когда турбина вращается, вырабатывается электричество. Каждый генератор может быть независимо отключен в случае возникновения проблемы. Большинство авиалайнеров также имеют вспомогательную силовую установку или ВСУ. APU может быть запущен в аварийной ситуации для обеспечения резервного электрического и гидравлического питания самолета, как это было сделано в знаменитой Hudson Riving Landing .

Если что-то выйдет из строя (например, если в самолете закончится топливо), ограниченная электроэнергия может быть обеспечена за счет ветряной мельницы, либо с помощью турбины Ram Air (например, Boeing 777), либо за счет ветряной мельницы самих турбин (например, Boeing 747), поскольку самолет медленно скользит к месту приземления.

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

Компьютеры

Все авиалайнеры оснащены несколькими компьютерами управления полетом. Устройства построены разными производителями, на разных архитектурах ЦП и с разными исходными кодами. Вероятность отказа всех блоков одновременно из-за ошибки или дефекта очень мала. В маловероятном случае отказа одного из блоков пилоты могут отключить его от остальной системы.

Например, Airbus A320 имеет 2 компьютера элеронов руля высоты, 3 компьютера спойлеров высоты и 2 компьютера увеличения полета. Каждый блок может быть отключен в случае неисправности.

Механическая связь

В чрезвычайно маловероятном случае полного отключения электроэнергии некоторые органы управления полетом связаны с кабиной механическими средствами и могут управляться с помощью человека. Например, аварийная процедура при полном отказе бортового компьютера в Airbus A320 заключается в том, чтобы посадить самолет, используя только руль направления, триммер руля высоты и дроссели. Такого никогда не было в истории.

Могу ли я также добавить, что длительные океанские рейсы, такие как Лондон-Нью-Йорк, должны быть сертифицированы ETOPS (самолет, экипаж, авиакомпания и т. д.). Это гарантирует, что в любой момент полета всегда будет место для аварийной посадки, если что-то пойдет не так.

как кто-то, кто проводил тесты программного обеспечения на неважной (класс D, скоро объяснит) системе для самолета, который должен быть одобрен для посадки в гражданских аэропортах: в самолете существует строгая иерархия того, какие функции программного обеспечения означают; они перечислены в DO-178B .

  • Предполагается, что системы класса А «безотказны»; они очень хорошо проверены. Эти системы не предназначены для перезагрузки, и обычно они не выключаются и не выполняют никаких других дополнительных действий в случае возникновения ошибки. (например, когда контроллер двигателя теряет соединение с кабиной экипажа, он просто остается в последней настройке двигателя). Системы класса А разрабатываются в условиях большого количества испытаний и тщательного изучения.
  • ...
  • для системы (класс D), которую я тестировал, основная логика заключалась в том, что «если есть ошибка, отправьте сообщение об ошибке, а затем подключитесь к сети, остановитесь и дождитесь сброса из кабины. Даже системные тесты класса D включают тестовые процедуры. которые не используются часто (например, тесты белого ящика с аппаратными эмуляторами) Это все еще лучшее проверенное программное обеспечение, которое я видел в своей жизни.

Логика здесь заключается в том, что незначительный сбой системы никогда не помешает важной функции системы (пилот может выбрать, когда им дать отдых). Большинство систем самолета имеют двойное резервирование. Используемые микроконтроллеры и аппаратная архитектура спроектированы таким образом, что последствия простых сбоев на плате будут ограничены. Основная сеть (например, AFDX) также является избыточной, и в интерфейсе приняты меры, чтобы неконтролируемое программное обеспечение не вышло за пределы своих границ при использовании шин.

Обычные процедуры сброса безопасны в отношении того, что самолет всегда остается в контролируемом состоянии. Примером неправильной процедуры сброса — выключения обоих компьютеров управления полетом, что не допускается в воздухе, потому что пилота не устраивали результаты стандартного способа сброса компьютеров — был рейс 8501 Air Asia .

Иногда компьютер или смартфон дает сбой и перезагружается

Это может произойти по двум причинам: программная ошибка или аппаратная ошибка. И то, и другое может привести к тому, что ЦП перестанет обрабатывать новые инструкции ( т. е. «зависнет» ), или к перезагрузке машины. Последнее близко к зависанию, потому что операционная система обнаруживает, что не может продолжать нормальную работу, и запускает аппаратный перезапуск.

Возможные причины бесконечны, но результаты сводятся к одному: процессор не может выполнять новые операции и, следовательно, не может продолжать нормально работать. Это неоптимально, если от его непрерывного функционирования зависят человеческие жизни.

Аппаратные ошибки могут быть вызваны снижением функциональности, повреждением или износом. Например, блок питания, который не может постоянно обеспечивать требуемую мощность, или модуль памяти, поврежденный электростатическим разрядом , что приводит к «переворачиванию» случайных битов (1 непреднамеренно читается как 0 или наоборот).

Ошибки программного обеспечения вызваны ошибками программиста или ошибками установки. Чистая установка операционной системы (Windows, Linux, MacOS, ...) на вашем компьютере или смартфоне, с хорошо функционирующим оборудованием, при условии, что оборудование поддерживается ОС и установлены соответствующие драйверы, чтобы ОС могла правильно взаимодействовать с аппаратно, не рухнет . Конечно, несколько десятилетий назад некоторые операционные системы были склонны к сбоям после определенного периода времени, но сейчас 2020 год. Все эти проблемы были устранены в современных операционных системах.

Проблема с оборудованием и программным обеспечением потребительского уровня заключается в том, что они не жизненно важны, не избыточны, и люди хотят иметь возможность устанавливать на свои устройства случайные приложения, распространяемые случайными разработчиками программного обеспечения. Вы не увидите пилота, открывающего App Store на вашем Airbus в воздухе и устанавливающего новое приложение «Рождественские огни», чтобы празднично мигать свет в салоне, который просто останавливает топливные насосы, потому что разработчик никогда не тестировал его в полете.

Итак, как производители самолетов предотвращают это:

  • Избыточность: когда одна система останавливается (или ее выходные данные выходят за пределы допустимых значений), вступает в действие резервная система.
  • Специфика: в отличие от компьютеров общего назначения, устройства в самолете имеют очень конкретную цель и создаются, устанавливаются, настраиваются и тестируются для этой цели.
  • Тестирование: вы можете принести свой компьютер или телефон в магазин для обслуживания, когда он начнет работать хаотично. Это может быть слишком поздно для этого оборудования, но обычно они смогут восстановить ваши фотографии. Купите новое оборудование и/или переустановите ОС, и все готово. Самолеты проверяют более регулярно.
Мне нравится читать этот Stack Exchange, но я мало что знаю о самолетах. Однако я кое-что знаю о компьютерах, поэтому надеюсь, что этот ответ будет полезным и актуальным.
Современные операционные системы, такие как Windows, не используются в бортовых компьютерах. Можно использовать Linux , но я думаю, что редко (из-за модификаций, необходимых для соответствия стандартам авионики). Чаще всего это LynxOS или VxWorks, которые представляют собой узкоспециализированные системы, предназначенные для работы на высоконадежной авионике и других промышленных системах, и не являются традиционными ОС, как вы думаете о Windows или Linux.
@ Рон, это было абсолютно не то, что я хотел сказать, извините, если так! «Перезагрузка модуля управления для Центра обновления Windows…»
@RonBeyer - помимо сертификата VxWorks, целостность Greenhills также используется в критически важных для безопасности приложениях авионики. vxWorks также очень популярен в авионике для критически важных приложений.
Рабочий стол имеет тенденцию зависать при сбое, поэтому пользователь / разработчик может это увидеть и, возможно, получить некоторую информацию о причине сбоя. (Или, по крайней мере, тот факт, что он разбился). Когда у вас есть другие требования, которые имеют приоритет (продолжают работать), как во многих встроенных системах, вы включаете сторожевой таймер, который перезагружает систему, если ОС не выполняет его каждую миллисекунду или что-то еще. Встроенные системы обычно не требуют много времени для загрузки. Классический пример чего-то подобного: предотвратила ли ошибка 1202 и связанная с ней перезагрузка катастрофу при посадке Аполлона-11?

Что касается конкретно циклов включения питания (в отличие от программных сбоев в целом, которые очень хорошо описаны в других ответах), это вообще не проблема. В отличие от обычного ПК или смартфона, которым требуется время для повторного включения и которые могут потерять данные при отключении питания, системы управления в самолете обычно спроектированы таким образом, что они возобновляют полную работу сразу же после восстановления питания.

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

В частности, кроме автопилота и навигационной системы, практически ни одна из систем не зависит от какой-либо формы хранения, даже от оперативной памяти. Они имеют дело с данными датчиков в реальном времени. Если они сбрасываются, данные не теряются, потому что они в любом случае работают только с данными, которые собираются в режиме реального времени. А из-за плохого поведения автопилота или NAV самолет не падает с неба, это просто означает, что ответственность за то, куда вы идете и где вы сейчас находитесь, переходит от компьютера к пилоту.
@JörgWMittag Строго говоря, у всех у них есть ОЗУ, даже если это всего несколько килобайт. Хотя можно запустить программу без оперативной памяти, она слишком ограничена даже для этих целей. Выполнение вычислений с данными датчиков в реальном времени или даже нетривиальных арифметических действий требует большего, чем просто несколько регистров общего назначения.

Перезагрузка также иногда может быть приемлемой, если вы можете быстро перезагрузиться без потери важной информации. Это произошло во время посадки Аполлона-11, когда у них была тревога 1202 года :

Он понял, что 1202 — это код, означающий, что компьютер наведения на борту десантного корабля перегружен задачами. Программисты предвидели, что эта перегрузка когда-нибудь может произойти, и поэтому установили внутренний аспект системы, который автоматически выполнял бы быструю перезагрузку, а затем восстановление памяти, чтобы попытаться снова запустить компьютер.

но это совсем не относится к элементам управления fly by ethernet, которые управляют реальными панелями управления, верно?
Если обнаружена ошибка, во многих случаях лучше, чтобы система временно не работала во время перезагрузки, а не застряла в неисправном состоянии.
@Fattie уверен, что так и будет. Лучше какое-то время ничего не делать, а потом сделать правильное дело, чем сразу сделать неправильное.
Это больше похоже на комментарий, поскольку на самом деле нет никакого сравнения между древним компьютером с памятью на магнитных сердечниках и веревочной памятью и исключительно ограниченными вычислительными требованиями, и сложной современной машиной с сотнями микропроцессоров с невероятно сложными ISA и миллионами строк кода, написанного на несколько языков программирования.
@forest: современные встроенные системы по-прежнему имеют сторожевой таймер, который перезагружается, если система блокируется, вместо того, чтобы просто сидеть на рабочем столе, чтобы пользователь мог записать код ошибки (или заметить, что он сбой в первую очередь). Но да, цитата в этом ответе звучит как примитивная схема сборки мусора. Тем не менее, АРУ Аполлона-11 имел сторожевой таймер (они называли его «Ночной сторож» :P, и это была одна из немногих вещей, которые могли вызвать перезагрузку: как компьютер наведения Аполлона обрабатывал ошибки битов четности? )