Перейти к содержанию
    

Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится.

Собака не помогла, только общий сброс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Мне кажется что непредусмотренное стечение обстоятельств это как раз такое стечение обстоятельств которое забыл или не смог предусмотреть программист.

А для обстоятельств которые предусмотреть невозможно должно быть другое определение.

 

Именно из-за таких программистов потерян был "Фобос-грунт". После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей.

Если это действительно так, то именно из за непредусмотренной ситуации это и произошло.

 

 

"Абсолютно любое" поведение датчиков не знают даже их разработчики. Чтобы это поведение не приводило к зависанию программы существует сторожевой таймер.

Сторожевой таймер существует не для предотвращения зависания а для выхода из оного.

 

Что поделать, слаб человек: и на МКС бортовые ЭВМ, бывает, зависают. Да что там далеко ходить, даже в уютном восьмибитном мирке не все справляются.

Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума)

 

А если Вы полагаете, что "полностью представляете все реально происходящие процессы", значит, надо или переходить к более сложным процессам, или отказываться от иллюзий :)

Вот в этом и пытаюсь разобраться.

 

У добросовестно написанной программы, занимающейся, условно говоря, управлением светодиодом от кнопки - возможно; в объемной и разветвленной системе, активно взаимодействующей с внешним миром,

Дайте критерий программы активно взаимодействующей с внешним миром.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда-то специально дал процессору несуществующую команду, хотел посмотреть что получится.

Собака не помогла, только общий сброс.

так если нет Undefined exception, с чего бы собаке виснуть?

проц как распознал, так и выполнил, а прерывание таймера как работало, так и работает. Собака обновляется - значит и сброса нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте не будем трогать MKC,windows и т.д. а только восьмибитный мирок (согласно ветке форума)

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

Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет.

Сейчас не каждый программист успеет на этом два светодиода зажечь.

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е программисту который полностью представляет все реально происходящие процессы WDT не нужен.

 

В период обучения азам встречал у Микрочипа очень красивый пример с использованием WDT для вполне реальной задачи. Просто для переключения светодиодов. Можно было бы решить "её в лоб", но это слишком банально. А было продемонстрировано, как изящно может её решить настоящий программист.

Сейчас лень искать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После сеанса связи станция осталась ориентированной на Землю, бесконечно ждала сигнала "конец связи", который оператор просто забыл выдать. А гениальная программа не следила в это время за состоянием бортовых батарей. Они сели и станция замерзла.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так там 8-битный бортовой процессор и ..аж 8 кбайт памяти на все. И не завис за 30 лет.

Интересно, а есть ли в той системе WDT и если есть то сколько раз срабатывал за 30 лет?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то срабатывание WDT для работы устройство должно быть мало заметно.

А в космической технике это переход в "безопасный режим" в который эта техника падает почти по каждому чиху. Без этого режима Пионер проходя через радиационные пояса Юпитера просто бы не выжил. А так отделался только потерей данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проходя через радиационные пояса

Опять радиация.

Согласен, влияние оной действительно предвидеть невозможно.

 

Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT?

 

А что если эта самая радиация "убьёт" и WDT? Зависнем навсегда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получается что всё упирается только в радиацию?

мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получается что всё упирается только в радиацию? поскольку её влияние мы исключить полностью не можем нужно обязательно использовать WDT?

Нет, Всё упирается в наличие человека. WDT обязателен если устройство должно работать продолжительное время без отключения и нажатия на кнопку Reset. Ну и конечно чем сложнее программа тем опаснее сбой - в простых программах сбои незаметнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мы выпускаем радиометры для исследования урановых скважин, интенсивности попадаются до 20000мкР, применяю 8-битные AVR, WDT не использую

На чём пишете программы для этих радиометров?

 

... продолжительное время ... чем сложнее программа ...

очень растяжимые понятия

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На чём пишете программы для этих радиометров?

ассемблер... а какая разница?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...