Guru Meditation — это уведомление об ошибке, которое изначально отображалось компьютером Amiga при сбое . Теперь его также использует Varnish , [1] программный компонент, используемый многими веб-сайтами с большим объемом контента. Это привело к тому, что многие интернет-пользователи увидели сообщение «Guru Meditation» (или вариант «Guru Mediation») [2] , когда эти веб-сайты терпят сбой или другие проблемы. Это аналогично « синему экрану смерти » в операционных системах Microsoft Windows или панике ядра в Unix .
Он также использовался в качестве сообщения о неустранимых ошибках в программных пакетах, таких как VirtualBox [3] и других операционных системах (см. раздел «Устаревшие» ниже).
Термин «Ошибка медитации гуру» возник как внутренняя шутка в ранние дни Amiga. У компании был продукт под названием Joyboard для домашней игровой консоли Atari 2600 , игровой контроллер, очень похожий на джойстик , но управляемый ногами, похожий на Wii Balance Board . На раннем этапе разработки операционной системы для компьютера Amiga разработчики компании были настолько разочарованы частыми сбоями системы , что в качестве метода релаксации была разработана игра, в которой человек сидел, скрестив ноги, на Joyboard, напоминая индийского гуру . [4] Игрок старался оставаться неподвижным; победитель игры оставался неподвижным дольше всех. Если игрок двигался слишком много, возникала ошибка «медитации гуру». [5]
Оповещение возникало, когда в системе возникала фатальная проблема. Если у системы не было средств восстановления, она могла отображать оповещение, даже в системах с многочисленными критическими недостатками. В крайних случаях оповещение могло отображаться даже при полном исчерпании памяти системы.
Текст предупреждающих сообщений был совершенно непонятен большинству пользователей. Только очень технически подкованные пользователи Amiga могли знать, например, что исключение 3 было ошибкой адреса и означало, что программа обращалась к слову на невыровненной границе. У пользователей без этих специальных знаний не было бы иного выхода, кроме как обратиться к «Гуру» или просто перезагрузить машину и надеяться на лучшее.
Когда отображается Гуру-медитация, можно перезагрузить компьютер , нажав левую кнопку мыши, или вызвать ROMWack, нажав правую кнопку мыши, или перезагрузить компьютер вручную. ROMWack — это минималистский отладчик, встроенный в операционную систему , доступ к которому можно получить, подключив терминал 9600 бит /с к последовательному порту .
Само оповещение отображается в виде черного прямоугольного поля, расположенного в верхней части экрана. Его граница и текст красные для обычной медитации гуру или зеленые/желтые для восстанавливаемого оповещения, другого вида медитации гуру. Экран может стать черным, но светодиоды питания всегда переключаются между полной и половинной яркостью в течение нескольких секунд, прежде чем появится оповещение. В AmigaOS 1.x, запрограммированных в ПЗУ, известных как Kickstart 1.1, 1.2 и 1.3, ошибки всегда красные. В AmigaOS 2.x и 3.x восстанавливаемые оповещения желтые, за исключением некоторых очень ранних версий 2.x, где они были зелеными.
Оповещения о тупике всегда красные и терминальные во всех версиях ОС, за исключением редких случаев, когда устаревшая программа Kickstart (например, 1.1) условно загружается с диска на более продвинутой версии Amiga Kickstart 3.x ROM, работающей в режиме совместимости (следовательно, избегая дисковой ОС), и вылетает с красным Guru Meditation, но впоследствии восстанавливается нажатием левой кнопки мыши, причем более новая версия Kickstart распознает необоснованный низкоуровневый вызов чипсета для старой версии ROM, напрямую подключаясь к оборудованию и обращаясь к нему.
Ошибка отображается в виде двух полей , разделенных точкой. Формат применяется #0000000x.yyyyyyyy
в случае ошибки ЦП или #aabbcccc.dddddddd
ошибки системного ПО. Первое поле — это либо номер исключения Motorola 68000 , которое произошло (если произошла ошибка ЦП), либо внутренний идентификатор ошибки (например, код «Недостаточно памяти») в случае ошибки системного ПО. Второе поле может быть адресом структуры Task или адресом блока памяти, выделение или освобождение которого не удалось. Это никогда не адрес кода, вызвавшего ошибку. Если причина сбоя неизвестна, этот номер отображается как 48454C50
, что означает «HELP» в шестнадцатеричных символах ASCII (48=H, 45=E, 4C=L, 50=P).
До версии 2.04 существовал коммерчески доступный обработчик ошибок для AmigaOS под названием GOMF (Get Outta My Face), созданный Hypertek/Silicon Springs Development corp. Он мог справляться со многими видами ошибок и давал пользователю выбор: либо удалить проблемный процесс и связанный с ним экран, либо разрешить машине показывать медитацию Гуру. Во многих случаях удаление проблемного процесса давало возможность сохранить данные и выйти из запущенных программ перед перезагрузкой системы. Когда ущерб был незначительным, можно было продолжать использовать машину. Однако это не избавляло пользователя от всех ошибок, так как эта ошибка могла иногда встречаться.
Восстанавливаемые оповещения — это некритические сбои в компьютерной системе. В большинстве случаев после Восстанавливаемого оповещения можно возобновить работу и сохранить файлы, тогда как обычная красная медитация Гуру всегда приводит к немедленной перезагрузке.
Тем не менее, рекомендуется выполнить перезагрузку как можно скорее после обнаружения восстанавливаемого оповещения, поскольку система может находиться в непредсказуемом состоянии, что может привести к повреждению данных. [ необходима цитата ]
Первый байт определяет область затронутой системы. Верхний бит будет установлен, если ошибка является предупреждением о тупике. [ необходима цитата ]
В этом разделе объясняется значение различных причин ошибок, напечатанных в скобках после сообщения
Guru Meditation Error: Core panic'ed
.