Введение

Сообщение об ошибке, отображаемое компьютером Amiga, получило название "Гуру Медитация" и изначально возникало при сбое в работе системы. В настоящее время этот термин также используется в Varnish – программном компоненте, применяемом многими сайтами с большим объемом контента. Это привело к тому, что многие пользователи интернета видят сообщение "Гуру Медитация" (или вариант "Гуру Медиация"), когда эти сайты сталкиваются со сбоями или другими проблемами. Это аналогично "синему экрану смерти" в операционных системах Microsoft Windows или панике ядра в Unix. Также оно используется для обозначения неисправимых ошибок в программных пакетах, таких как VirtualBox и других операционных системах (см. раздел "Наследие" ниже).

Происхождение

Термин "Ошибка Гуру Медитации" возник как внутренняя шутка в первые дни существования Amiga. У компании был продукт под названием Joyboard для домашней видеоигровой консоли Atari 2600 – игровой контроллер, похожий на джойстик, но управляемый ногами, как Wii Balance Board. В начале разработки операционной системы Amiga разработчики компании настолько расстраивались из-за частых сбоев системы, что для снятия стресса была разработана игра, в которой участник сидел на Joyboard в позе лотоса, напоминая индийского гуру. Игрок старался оставаться максимально неподвижным; победителем становился тот, кто выдерживал неподвижность дольше всех. Если игрок двигался слишком сильно, возникала ошибка "гуру медитации".

Описание ошибок "Гуру Медитация" на Amiga

Сообщение об ошибке возникало при критической неисправности в системе. Если система не имела возможности восстановления, она могла отобразить это сообщение, даже если в системе было множество серьезных ошибок. В крайних случаях сообщение могло появиться даже при полном исчерпании памяти системы. Текст сообщений об ошибках был совершенно непонятен большинству пользователей. Только опытные пользователи Amiga знали бы, например, что исключение 3 означало ошибку адреса и указывало на попытку программы доступа к слову по невыровненному адресу. Пользователям, не обладающим этими специализированными знаниями, оставалось только искать "гуру" или просто перезагрузить компьютер и надеяться на лучшее.

Техническое описание (Amiga)

Когда отображается медитация Гуру, доступны варианты: перезагрузка нажатием левой кнопки мыши, вызов ROMWack нажатием правой кнопки мыши или ручная перезагрузка. ROMWack – это минималистичный отладчик, встроенный в операционную систему, доступ к которому можно получить, подключив терминал со скоростью 9600 бит/с к последовательному порту. Само предупреждение отображается в виде черного прямоугольного блока в верхней части экрана. Его рамка и текст красные для обычной медитации Гуру или зеленые/желтые для восстанавливаемого предупреждения – другого типа медитации Гуру. Экран может стать черным, но светодиоды питания всегда попеременно загораются с полной и половинной яркостью в течение нескольких секунд перед появлением предупреждения. В AmigaOS 1.x, реализованной в ROM-модулях, известных как Kickstart 1.1, 1.2 и 1.3, ошибки всегда отображаются красным цветом. В AmigaOS 2.x и 3.x восстанавливаемые предупреждения желтые, за исключением некоторых очень ранних версий 2.x, где они были зелеными. Предупреждения о фатальных ошибках всегда красные и окончательные во всех версиях ОС, за исключением редких случаев, когда устаревшая программа Kickstart (например, 1.1) условно загружается с диска на более продвинутой Amiga с ROM Kickstart 3.x, работающей в режиме совместимости (и, следовательно, не использующей ОС с диска), и завершается с красной медитацией Гуру, но затем восстанавливается нажатием левой кнопки мыши. Новая версия Kickstart распознает нежелательный вызов чипсета низкого уровня для старого ROM, напрямую обращающегося к аппаратному обеспечению, и устраняет проблему. Ошибка отображается в виде двух полей, разделенных точкой. Формат: #0000000x.yyyyyyy в случае ошибки процессора или #aabbcccc.ddddddd в случае ошибки системного программного обеспечения. Первое поле – это либо номер исключения Motorola 68000, которое произошло (если возникла ошибка процессора), либо идентификатор внутренней ошибки (например, код "Недостаточно памяти") в случае ошибки системного программного обеспечения. Второе поле может содержать адрес структуры задачи или адрес блока памяти, выделение или освобождение которого не удалось. Это никогда не адрес кода, вызвавшего ошибку. Если причина сбоя неясна, этот номер отображается как 48454C50, что соответствует "HELP" в шестнадцатеричном коде ASCII (48=H, 45=E, 4C=L, 50=P).

Гуру медитации

До версии 2.04 для AmigaOS существовал коммерчески доступный обработчик ошибок под названием GOMF (Get Outta My Face), разработанный компанией Hypertek/Silicon Springs Development corp. Он мог обрабатывать множество типов ошибок и предоставлял пользователю возможность либо удалить проблемный процесс и соответствующее окно, либо позволить системе показать "Медитацию Гуру". Во многих случаях удаление проблемного процесса давало возможность сохранить данные и закрыть запущенные программы перед перезагрузкой системы. Если повреждения были незначительными, можно было продолжить работу с компьютером. Однако он не защищал пользователя от всех ошибок, и эта ошибка все еще могла возникать время от времени.

Восстанавливаемые оповещения

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

Наследие

Версии AmigaOS 4.0 и более поздние заменили "Гуру Медитация" на "Grim Reaper", но кратко указывают номер "Гуру Медитации" в окне сообщения. MorphOS отображает сообщение об ошибке "Приложение в медитации". Попытка закрыть приложение может восстановить работу операционной системы, но всё равно рекомендуется перезагрузка. Varnish использует термин "Гуру Медитация" для обозначения критических ошибок. VirtualBox применяет термин "Гуру Медитация" для обозначения серьезных ошибок в мониторе виртуальной машины, например, вызванных тройной ошибкой в виртуальной машине. E23 отображает сообщение "Гуру Медитация" и перезагружается при возникновении критических ошибок. В некоторых самодельных играх для Nintendo DS появляется ошибка "Гуру Медитация" при возникновении проблемы, скорее всего, при сбое игры.