|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Stanislav Latishko <sl@sl.spb.su> 08 Jan 2003 12:45:34 To : Nickita A Startcev Subject : Re: Всего-то работа с логами ... -------------------------------------------------------------------------------- NAS> Hе могу себе представить ситуацию, когда 'тема заранее неопределена'. Развивай воображение. NAS> IMHO грабли потеряны где-то рядом. Hеужели нельзя например разбить систему NAS> "интерфейсами" на "отдельные блоки" и проверить исправности всех блоков NAS> поотдельности? "Hу вы, блин, даете!" Вот тебе пример из жизни. (Произошло году в 90-м на ЭВМ ЕС1033, но до сих пор поражает мое воображение _неочевидными_ логическими связями) При переходе АЦПУ в состояние "не готово" машина уходит в глухое зависание (цикл под закрытыми масками), либо аварийно завершается случайная(!) задача. Причина: сбой на диске в библиотеке с программами обработки машинных ошибок. Цепочка: неготовность АЦПУ рассматривается как машинная ошибка. Обработчик ошибки загружается с диска специальным "урезанным" супервизором в/в (расчи- танным на работу при неисправном железе), и он не ловит данный тип ошибки на диске - в результате с диска таки загружается программа обработки ошибки, но не та, которая нужна, а следующая по физическому расположению. Когда она получает управление - возникает программное прерывание в задаче обработки ошибок. Поскольку данная задача должна умирать последней - супервизор принимает решение о необходимости аварийного завершения пользовательской задачи, вызвавшей данную машинную ошибку. Hо прерывание в/в по переходу АЦПУ в неготовность приходит в случайный момент времени, т.е. никак не связано с задачей, работающей с этим АЦПУ, в результате "жертвой" становится последняя работавшая задача. Если такой задачей оказывается КРОС - у него опять же свои понятия о действиях в аварийной ситуации - он переходит в закрытый цикл. Все просто ? Да, когда тебе это выдали на блюдечке. Между причиной (нажатие кнопки на АЦПУ) и следствием (зависание) выполняется несколько десятков тысяц инструкций, несколько переключений задач, несколько опереций в/в. Минимум 3 не связанных между собой задачи участвуют в создании ситуации. Информация, по которой можно проследить причину, может уцелеть, а может быть затертой другими задачами - это тоже случайно. Вот _с подобными_ ситуациями я и имею дело (ну, малость попроще, обычно) Т.е. начинаешь с _видимого_ следствия, требуется добраться до причины. А цепочка может быть огромной... -- Stanislav Latishko sl@sl.spb.su ; 2:5030/949 --- ifmail v.2.14 * Origin: Привет с Большого Бодуна ! (2:5030/949@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3500f7d778bb.html, оценка из 5, голосов 10
|