Фобос-Грунт, Yinghuo 1 – Зенит-2SLБ – Байконур 45/1 – 09.11.2011 00:16 ЛМВ

Автор bsdv, 10.03.2010 12:53:29

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

DemonId

Цитировать
Цитировать:D  :D  :D  Комп не завис. Их три. Все сразу?
Дог не перезагружает. Крутые космические програмеры первое, что делают в программе - это отключают сторожевые таймеры - иначе можно за три года миссии огрести по полной из-за всякого мелочного ожидания.

Зависает значит - он работает, но ничего полезного не делает. Совсем нормальное состояние - крутится вроде так:
- я подал команду на переход с опрной - да - ждать пока я приду на первой
- я на первой ? - нет - есчо на опорной - подай команду на переход к первой. (но оне уже подал и ждет результата)

Ето только совсем простой пример.

Не имеет значение сколько (оно два, а не три) компов есть, они делают бессмисленой цикл.
Это слишком примитивная схема. Уже давно вся работа с железом ведется через прерывания. То есть программа крутится в своем цикле. Как только железу приспичило передать данные, то оно запрашивает у процессора разрешения на передачу данных по такой-то линии. Тот останавливает основную программу и передает управление на соответствующую запрошенной линии подпрограмму, которая и принимает данные. Когда та заканчивает прием, то линия освобождается и управление снова возвращается в прерванную точку основной программы. Потому, если какой-либо датчик мертв, то он ну никак не приведет к зависанию.

ОАЯ

Ну, мне кажется на заре компьютеризации с прерываниями так и работали. Все из-за нехватки быстродействия. Какой нибудь микровключатель мог запросить прерывание и подпрограмма обработки прерывания могла уйти в бесконечный цикл. Все зависало до прихода прерывания с более высоким приоритетом. Сейчас прерывания наружу не предлагают. Заводи себе свой процессор, если ты такой крутой датчик и стой в очереди на обработку центральным процессором. Может быть я не прав. Но раньше так и было.

Unispace

Цитировать
Цитироватьвопрос програмерам. как заставить комп перезагрузиться? переполнение буфера памяти может тупо привести к зависанию.(не судите строго за недалекость)
В большинстве CPU - никак нельзя, если не предусмотрено программой. Собственно возникающие недопустимые ситуации процессор не обрабатывает, он просто прерывает текущую задачу и передает управление на соответствующую подпрограмму, мол разруливай как хочешь. Если в это время произойдет еще одна недопустимая операция, то терпение проца на этом заканчивается и он переходит в мертвый вис, выйти из которого можно только сигналом по линии "reset", то есть аппаратным способом. Разумеется схема общая и у всех есть свои нюансы и различия, например вис по tripple fault.
Из личной же практики вспоминается случай, когда подруга жаловалась на постоянные перезагрузки компа. Устранение проблемы заняло несколько секунд - достаточно было снять магнитики, которыми она крепила к корпусу всякую ерунду :D

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

Make_Pic

ЦитироватьЯ тоже не верю. Но немного меньше, чем Вы. И сторожевые таймеры в нормальной работе не срабатывают. А safe mode (аппарата) это нормальная работа для компьютера. Не важно длится этот режим год или нет.
Сторожевой таймер должен периодически сбрасываться в длинных подпрограммах. А вот правильно расставить сброс WDT - это задача программиста. Если не проверили и где то в длином куске программы не сбросили WDT - срабатывание таймера и ресет.
"Я из пушки в небо уйду - диги-диги-ду!"

Зловредный

Да, а что сейчас поделывает священник, освятивший Фобос-Грунт перед запуском? Он взял пост, не спит, не пьёт, и денно и нощно молится о чудесном спасении миссии?
Гробос-Фунт

Make_Pic

ЦитироватьЭто слишком примитивная схема. Уже давно вся работа с железом ведется через прерывания. То есть программа крутится в своем цикле. Как только железу приспичило передать данные, то оно запрашивает у процессора разрешения на передачу данных по такой-то линии. Тот останавливает основную программу и передает управление на соответствующую запрошенной линии подпрограмму, которая и принимает данные. Когда та заканчивает прием, то линия освобождается и управление снова возвращается в прерванную точку основной программы. Потому, если какой-либо датчик мертв, то он ну никак не приведет к зависанию.

Как то вы слишком просто описываете работу с прерываниями :) Вообще вся программа должна работать в реалтайме, а прерывания кратковременно прерывают основной цикл, да, передача данных делается по прерываниям обслуживающих последовательный порт UART или что там. Но это делается порциями - блоками, и не тормозится основной цикл.
"Я из пушки в небо уйду - диги-диги-ду!"

Unispace

ЦитироватьАга. Попробуйте словить утечку памяти при программировании на бейсике.

Утечка памяти в модели программирования, используемой в АМС ? Похоже, я устарел со своими воззрениями на встроенное программирование критически важных модулей и в системах повышенной надежности, к которым вроде бы относятся космические аппараты. Но все равно остался бы верным карте распределения памяти и ассемблеру  :)

Dude

http://www.russianspaceweb.com/phobos_grunt_kik.html

Вопрос к А.Заку, проверяли ли вы погоду, описывая станции оптического наблюдения? ;) Может там и смотреть не на что.

zyxman

Цитировать
Цитироватьграфическое программирование подходит для достаточно простых систем с количеством состояний не более нескольких десятков (площадь бумажки ограничивает)..
И все равно "рулоны" блок-схем составляются. Учитывающие все ветви.
Это входит в обязательное документирование критических приложений.
Почему бы не сделать их сами программами?
Коллеги Rational Rose активно используют для документирования.
Правда не для суперкритичных, а для просто очень больших бизнесовых приложений - ну условно говоря прерывания работы возможны но очень дорого стоят (за день простоя можно Субж оплатить).
И там и обнаружили, что оно действительно помогает быстрее разобраться, но одновременно и повышает требования к программистам, которые должны научиться работать с графическими диаграммами, а многие даже неохотно любимый текстовый редактор меняют..
Плюс текстовое программирование хорошо подходит для коллективной работы, когда программисты десятки раз в день обмениваются кусками кода прямо через какую-нить ICQ, особенно оно хорошо что можно спросить хоть за океаном совета, а графические программы уже нужно специальный редактор ставить итп.

Я лично пробовал генерировать программы из xml, и вобщем обнаружил интересное - что нормальная система - тот-же Erlang/OTP при правильной технологии дает практически то же по наглядности, но без необходимости учиться рисовать :D
Вообще я после скриптовых языков и Erlang обнаружил, что Си/Си++ начал у меня вызывать не то чтобы отвращение, но эстетический дискомфорт - как когда-то я недолюбливал Паскаль за его как на мой взгляд придирчивость к знакам препинания и бессмысленную длинность слов начала/конца блока.
ЦитироватьКстати, бороться с "площадью бумажки" позволяет декомпозиция (иерархия) в какой-то степени.
Декомпозиция не панацея во первых, во вторых иерархия может меняться - есть рефакторинг и в мире Java он всё более активно применяется, как раз ввиду сложности изменять большие системы.
ЦитироватьВ любом случае логика в графическом представлении виднее, нежели в пачках текстов.
Да, но цена этого.. А ведь есть еще запас повышения уровня абстракции системы программирования - применение функциональных/декларативных систем укорачивает код в десятки раз, и параллельно облегчает чтение кода (кстати не только за счет лучшего синтаксиса, а за счет неизменяемых переменных), при этом не заставляя выбрасывать старые наработки.

Вобщем у меня есть нехорошее подозрение, что вы просто толком не пробовали современные технологии программирования. В смысле что в сравнении с аскетизмом С/С++ почти любой язык разработки после 1980-го будет божественным откровением :D
А уже на фоне технологий младше 30 лет графическое программирование уже не смотрится так выигрышно.
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

Шестой

Опять смотрим на элементы. Тут вот при ближайшем рассмотрении semi major axis все таки заметно есть функция снижения не линейна, и что там все таки происходит. С другой стороны, что там у NORADA  за ошибки в измерениях я не знаю но думаю что пара тройка КМ есть точно. Поэтому, я бы не придавал большого значения колебаниям на сотню другую метров.

Тенденция, между тем, довольно упрямая.
Дуамю что колебания запросто определяются ошибкой измерений.


Anatoly Zak

Цитироватьhttp://www.russianspaceweb.com/phobos_grunt_kik.html

Вопрос к А.Заку, проверяли ли вы погоду, описывая станции оптического наблюдения? ;) Может там и смотреть не на что.

Не проверял, но судя по ряду сообщений на этом форуме, попытки оптических наблюдений предпринимались, хотя какая была погода на Байконуре конкретно вчера, я видел по НАСА ТВ.  :cry:

zyxman

ЦитироватьЕсли в это время произойдет еще одна недопустимая операция, то терпение проца на этом заканчивается и он переходит в мертвый вис, выйти из которого можно только сигналом по линии "reset", то есть аппаратным способом. Разумеется схема общая и у всех есть свои нюансы и различия, например вис по tripple fault.
Вообще-то поэтому системное ПО очень дорого стоит, что там внутри кода обработки недопустимой операции обычно не встречаются недопустимые операции :D
А во вторых обычно и сами процессоры серьезно тестируются, чтобы не было мервого виса.
То есть там нередко от двойного исключения могут быть недокументированные эффекты, но ЕМНИС исполнение продолжается и прерывания обрабатываются.
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

zyxman

ЦитироватьА я почему-то полагал, что в АМС не стоят процессоры общего применения. Специализированный процессорный модуль, по крайней мере, может быть снабжен памятью с автокоррекцией ошибок, помехоустойчивыми кодами команд, и не уходить в стоп по заложенной в МПА логике где-то за океаном.
Я сам и мои друзья пробовали делать эксперименты с различными процессорами - и общего применения и встраиваемыми - как раз просто брали и под отладчиком переписывали куски памяти случайным мусором, а потом передавали управление на эти куски.
Точнее идея была в том, чтобы проверить "отказоустойчивость" разных языков к затиранию программного кода - буквально брали и заменяли скомпилированное тело функций мусором.
Так там обнаружилась смешная ситуация, что как раз у Си оказалась самая большая устойчивость потому что самое простое соглашение о передаче параметров - мы буквально затирали всё тело какой-то функции кроме последнего ret, а программа продолжала работать :lol:
А аппаратные прерывания работали практически всегда, ну конечно кроме маскируемых.

С изменяющейся памятью еще 20 лет назад был прикол - один вирус имел встроенную коррекцию изменений памяти (по принципу коррекции ошибок), и было очень смешно его отлаживать - ставлю брейкпоинт а его тут-же сносит процедура отрабатывающая по таймеру.

PS Мне стало грустно, тк впечатление что в данной ситуации нужен хакер в хорошем смысле (виртуоз владения матчастью и взаимодействием с людьми, способный выжать из системы техники и человека всё возможное), а судя по теме их в отрасли нет и не уверен что были..
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

Dude

ЦитироватьНе проверял, но судя по ряду сообщений на этом форуме, попытки оптических наблюдений предпринимались, хотя какая была погода на Байконуре конкретно вчера, я видел по НАСА ТВ.  :cry:

Видали, как Оберг активно прошелся по Поповкину и предыдущим боссам.
Напишите ему, пусть берет командировку от MSN и прилетает на пресс-конференцию, будет спасать планету от угрозы Ф-Г. Помнится, что он как-то даже говорит по-русски. Это был бы забавный диалог между ними. :)

ZOOR

Цитировать
ЦитироватьЕсли в это время произойдет еще одна недопустимая операция, то терпение проца на этом заканчивается и он переходит в мертвый вис, выйти из которого можно только сигналом по линии "reset", то есть аппаратным способом. Разумеется схема общая и у всех есть свои нюансы и различия, например вис по tripple fault.
Вообще-то поэтому системное ПО очень дорого стоит, что там внутри кода обработки недопустимой операции обычно не встречаются недопустимые операции :D
А во вторых обычно и сами процессоры серьезно тестируются, чтобы не было мервого виса.
То есть там нередко от двойного исключения могут быть недокументированные эффекты, но ЕМНИС исполнение продолжается и прерывания обрабатываются.
Я еще месяц  назад спрашивал, нафига была создана АНО НТИЦ "Техком" (АНО - Автономная некоммерческая организация) и про ее ответственность тоже постил :)
Я зуб даю за то что в первом пуске Ангары с Восточного полетит ГВМ Пингвина. © Старый
Если болит сердце за народные деньги - можно пойти в депутаты. © Neru - Старому

Kotov

ЦитироватьПоток сознания... Самые жаркие споры бывают только у дилетантов. задолбал....
ужеСтудент, это Вы о себе?
Самокритично, что весьма похвально.
А по теме, кроме флуда, выдать чего - можете?

ZOOR

ЗЫ

Был в отпуске, практически  неделю только читал тему с мобилы, и отложилось:

1. Уважаемые модераторы уж очень мягко подходят к избыточному цитированию

2. В теме про Э-АМ4 было намного меньше дебильных предложений по спасению КА (кстати, как он там, топить будут, или инфа о взятии в управление лажа? )

3. Все как-то накинулись на программную ошибку, что не очевидно (Гео-ИК тут ИМХО вспоминать вообще не к месту)

ЗЗЫ Коль от форума танцует пресса, надо формулить что-то удобоваримое о случившемся, чтоб совсем какашками не закидали (постороннюю частицу в задницу)   :D
Я зуб даю за то что в первом пуске Ангары с Восточного полетит ГВМ Пингвина. © Старый
Если болит сердце за народные деньги - можно пойти в депутаты. © Neru - Старому

саша

Цитировать3. Все как-то накинулись на программную ошибку, что не очевидно
Програмная ошибка кажется обратимой.
Проблемы с , по отдельности
БОБЗ
БИБ
МДУ
- Необратимы и фатальны

Kotov

Цитировать
Цитировать
ЦитироватьВыпав в защитный режим аппарат включает приёмник и ждёт команд.
 Получает команду передать телеметрию и тогда только включает передатчик и передаёт её.
Это только ваше имхо или имеются документальные подтверждения?
Так делают все известные космические аппараты.  
Думаю, нужно снисходительно относится к фантазиям отставного майора аэродромной службы обеспечения полётов.

Он сюда давно грезить ходит...

Mikha

Цитировать
ЦитироватьПоток сознания... Самые жаркие споры бывают только у дилетантов. задолбал....
ужеСтудент, это Вы о себе?
Самокритично, что весьма похвально.
А по теме, кроме флуда, выдать чего - можете?
Насколько я успел заметить, ужеСтудент - один из немногих (кажется, всего двух?) пользователей данного форума, кто выдаёт актуальную фактическую информацию по ФГ.