Космические лучи: какова вероятность того, что они повлияют на программу?

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

Посмотрите на результат LogCat после того, как вы действительно изменили настройку вручную:

INFO/ActivityManager(1306): Starting activity: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.DevelopmentSettings } from pid 1924

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

String SettingsPage = "com.android.settings/.DevelopmentSettings";

try
{
Intent intent = new Intent(Intent.ACTION_MAIN);             
intent.setComponent(ComponentName.unflattenFromString(SettingsPage));             
intent.addCategory(Intent.CATEGORY_LAUNCHER );             
startActivity(intent); 
}
catch (ActivityNotFoundException e)
{
 log it
}
521
задан Robert Harvey 18 December 2012 в 23:10
поделиться

8 ответов

Да, в списке рассылки разработчиков Emacs долго обсуждается интеграция диспетчера пакетов package.el в следующий основной выпуск Emacs: Интеграция package.el . Он автоматически загружает и устанавливает пакеты из ELPA (архив пакетов Emacs Lisp . Прочтите страницу установки , чтобы получить последнюю версию.

-121 --- 3909407] -

Из Википедия :

Исследования, проведенные IBM в 1990-х годах, показывают, что компьютеры обычно испытывают примерно одну ошибку, вызванную космическими лучами, на 256 мегабайт ОЗУ в месяц. [15]

Это означает вероятность 3,7 × 10 -9 на байт в месяц или 1,4 × 10 -15 на байт в секунду. Если ваша программа работает в течение 1 минуты и занимает 20 МБ ОЗУ, то вероятность отказа будет

                 60 × 20 × 1024²
1 - (1 - 1.4e-15)                = 1.8e-6 a.k.a. "5 nines"

Проверка ошибок может помочь уменьшить последствия отказа. Кроме того, из-за более компактного размера микросхем, как прокомментировал Джо, частота отказов может отличаться от того, что было 20 лет назад.

{ {1}}
300
ответ дан 22 November 2019 в 22:27
поделиться

Ну, космические лучи, очевидно, вызвали неисправность электроники в автомобилях Toyota, так что я бы сказал, что вероятность очень высока :)

Действительно ли космические лучи вызывают проблемы Toyota?

29
ответ дан 22 November 2019 в 22:27
поделиться

Если программа жизненно важна (она убьет кого-нибудь, если потерпит неудачу), ее нужно написать таким образом, чтобы она либо потерпела неудачу - безопасным или автоматически восстановиться после такого сбоя. Все остальные программы, YMMV.

Тойоты - тому пример. Что бы вы ни говорили о тросике дроссельной заслонки, это не программное обеспечение.

См. Также http://en.wikipedia.org/wiki/Therac-25

13
ответ дан 22 November 2019 в 22:27
поделиться

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

11
ответ дан 22 November 2019 в 22:27
поделиться

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

Кроме того, некоторые компоненты электрически экранированы , чтобы блокировать шум (вероятно, не космические лучи, я полагаю).

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

7
ответ дан 22 November 2019 в 22:27
поделиться

Википедия цитирует исследование , проведенное IBM в 90-х годах, предполагающее, что «компьютеры обычно испытывают примерно одну ошибку, вызванную космическими лучами, на 256 мегабайт ОЗУ в месяц». К сожалению, это была ссылка на статью в Scientific American, в которой не было дополнительных ссылок. Лично я считаю, что это число очень велико, но, возможно, большинство ошибок памяти, вызванных космическими лучами, не вызывают никаких реальных или заметных проблем.

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

30
ответ дан 22 November 2019 в 22:27
поделиться

По-видимому, немаловажно. Из статьи New Scientist , цитата из заявки на патент Intel:

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

Вы можете прочитать полный патент здесь .

87
ответ дан 22 November 2019 в 22:27
поделиться

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

Анализ, основанный на резидентном размере 20 МБ, может быть подходящим для тривиальных приложений, но большие системы обычно имеют несколько серверов с большой основной памятью.

Интересная ссылка: http://cr.yp.to/hardware/ecc.html

Ссылка Corsair на странице, к сожалению, не работает.

17
ответ дан 22 November 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: