На чем пишется софт для КА?

Автор hudvin, 06.05.2009 15:28:09

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

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

Дем

Цитировать
Цитироватьа не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент
Ага, и весь CLR с собой на орбиту тащить? И как вам сборка мусора, которая запустится в самое неподходящее время? Да и вообще эта штука летает только на Intel-e и под Windows. А как же наши ЦВМ-101 и прочие R-500, E2K, 1879ВМ2, 1892ВМ4Я?
Ну не такой уж этот CLR большой - в КПК/мобилу запросто влезает. В урезанном варианте, естественно. Версия 3.0 микро - порядка 10 метров. И железа под него много есть, не только х86. Не вижу причин, почему нельзя сделать компилер и под вышеперечисленные процессоры.
И сборка мусора - в неподходящее время запустится не может. В процессоре даже прерывания в неподходящее время произойти не могут, что уж о запуске подпрограмм говорить...

Так что было бы желание... А язык программирования всё равно нужно обновлять - аппаратура изменилась радикально, совсем другие параметры оптимизации.
Летать в космос необходимо. Жить - не необходимо.

Not

ЦитироватьА язык программирования всё равно нужно обновлять - аппаратура изменилась радикально, совсем другие параметры оптимизации.
О каких параметрах оптимизации речь?

A. Petrov

ЦитироватьНу не такой уж этот CLR большой - в КПК/мобилу запросто влезает. В урезанном варианте, естественно. Версия 3.0 микро - порядка 10 метров.
А flash ЦВМ-101 2 MB.

ЦитироватьИ железа под него много есть, не только х86. Не вижу причин, почему нельзя сделать компилер и под вышеперечисленные процессоры.
А кто делать будет, Microsoft?

ЦитироватьИ сборка мусора - в неподходящее время запустится не может. В процессоре даже прерывания в неподходящее время произойти не могут, что уж о запуске подпрограмм говорить...
Это как это? Прерывания как раз и происходят асинхронно. И основная задача ПО реального времени отработать эти прерывания в заданный по времени промежуток. А тут ещё сборка мусора. Ну да, можно её отложить, если постараться. Но при этом, когда она таки запустится, то время окончания её непредсказуемо. Да и откладывать её долго нельзя - память кончится.

Вы вообще программировали встроенные (embedded) системы? Большинство из них вообще не имеют ОС.

Дем

ЦитироватьО каких параметрах оптимизации речь?
Что оптимизируем, в смысле. Сейчас скорость работы и занимаемая память в подавляющем числе случаев некритичны

ЦитироватьА flash ЦВМ-101 2 MB.
А у меня в кармане - 2ГБ. И микросхемка там мааахонькая. Кто им мешает такую же поставить?

ЦитироватьА кто делать будет, Microsoft?
Заказчик. Там только интерпретатор байткода нужен, по большому счёту...

ЦитироватьЭто как это? Прерывания как раз и происходят асинхронно.
А вот так - когда что критичное творим - хлоп и отключили прерывания.
ЦитироватьНу да, можно её отложить, если постараться. Но при этом, когда она таки запустится, то время окончания её непредсказуемо.
Ну если объекты корректно удаляются - то мусора получается мало. Плюс - необязательно дожидаться конца процедуры, можно и прервать недочистив.
Летать в космос необходимо. Жить - не необходимо.

Not

Цитировать
ЦитироватьО каких параметрах оптимизации речь?
Что оптимизируем, в смысле. Сейчас скорость работы и занимаемая память в подавляющем числе случаев некритичны
Так что же критично?

Цитировать
ЦитироватьА flash ЦВМ-101 2 MB.
А у меня в кармане - 2ГБ. И микросхемка там мааахонькая. Кто им мешает такую же поставить?
Космическое чудовище в лице частиц высоких энергий, которые вашу махонькую память мигом уделают как бог черепаху.

Цитировать
ЦитироватьЭто как это? Прерывания как раз и происходят асинхронно.
А вот так - когда что критичное творим - хлоп и отключили прерывания.
УмнО. А если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп. И вам придется писать объяснительную, как по вашей вине ухлопали (ну скажем) 100 миллионов долларов. Вообще говоря в типичной ОС РВ прерывания не отключают. Существует очередь процессов и очередь прерываний. И система приоритетов на тех и на других, с часто весьма нетривиальной логикой. И всякие непредсказуемости в лице интерпетаторов и ассоциированных с ними сервисов никому не нужны.

LRV_75

ЦитироватьА если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп
а в чем проблема? Нужно за микрисекунды переключиться на выдачу команд на пришедшее воздействие или быстро переключиться на рег. обработку пришедшей информации. Я говорь не про КА, А вообще зачастую требования б тз ос рв и прочная точность зачастую завышена
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Not

Цитировать
ЦитироватьА если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп
а в чем проблема? Нужно за микрисекунды переключиться на выдачу команд на пришедшее воздействие или быстро переключиться на рег. обработку пришедшей информации. Я говорь не про КА, А вообще зачастую требования б тз ос рв и прочная точность зачастую завышена
Не забываем, что перед этим товарищ Дем своим авторитарным хлопом запретил все прерывания. Так что прибор нервно курит в сторонке и теряет информацию.  :D

LRV_75

ну наверно будем миллостевы его запретил на доли миллисекунд, пока выполняеться другой обработцик он поставел наше прерывание. Так вот каков допусковый предел реакции на событие? Он вообще есть?
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Not

Цитироватькаков допусковый предел реакции на событие? Он вообще есть?
Конечно есть. От и до. Например минимальная ширина импульса двигателя ориентации станции New Horizons 5 миллисекунд. Соответственно можете прикинуть допуск. В частности, там есть режим ориентации аппарата во время его вращения, радиальными импульсами с достаточно жесткими временными ограничениями.

LRV_75

понятно. Спасибо. Естественно ест дублирование, троирование! А вот режим резервирования реализован? И как? Чисто аппаратно? Или программой логикой?
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Morin

ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
Лучшее - враг хорошего

LRV_75

Цитировать
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
извините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

А.Коваленко

Цитировать
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
Не верю. Так как работаю в фирме, которая разрабатывает, в том числе, и ПО для управляющих бортовых компьютеров. А сам занимаюсь эксплуатацией этого ПО. И ситуацию знаю изнутри. Так что, не верю. И вообще, причем тут СШГЭС?

Rigel

LRV_75 писал(а):
Цитироватьизвините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?

На самом деле ситуация очень интересная, как правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию. Такой подход формирования кадров скорее всего связан с целевыми задачами решаемыми КА. Для решения которых необходима достаточно сложная математика, механика и логика. Иными словами для разработки мат. моделей процессов нужно хорошо знать механику полета, механику твердого тела, устойчивость, теорию управления движением и т.п. А для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают. А где обучают, предметы программирования рассматриваются лишь с инструментальной точки зрения. Т.е. разработка и отладка СПО осуществляется не профессиональными программистами. Поэтому сложности перехода с одно языка на другой будут серьезными, а за две недели новую среду разработки освоить любому человеку трудновато будет.   Вот мы и получаем  не оптимальное СПО.
Но не знаю, можно ли этих людей называть делитантами? Я думаю что нет.
Идущий осилит дорогу, а ведущий заведёт.

А.Коваленко

ЦитироватьLRV_75 писал(а):
Цитироватьизвините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?

На самом деле ситуация очень интересная, как правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию. Такой подход формирования кадров скорее всего связан с целевыми задачами решаемыми КА. Для решения которых необходима достаточно сложная математика, механика и логика. Иными словами для разработки мат. моделей процессов нужно хорошо знать механику полета, механику твердого тела, устойчивость, теорию управления движением и т.п. А для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают. А где обучают, предметы программирования рассматриваются лишь с инструментальной точки зрения. Т.е. разработка и отладка СПО осуществляется не профессиональными программистами. Поэтому сложности перехода с одно языка на другой будут серьезными, а за две недели новую среду разработки освоить любому человеку трудновато будет.   Вот мы и получаем  не оптимальное СПО.
Но не знаю, можно ли этих людей называть делитантами? Я думаю что нет.
И что, там на разработку СПО отводят 2 месяца?

Agent

ЦитироватьИ что, там на разработку СПО отводят 2 месяца?
Если на изучение языка дают 2 недели, то 2 месяца на разработку - слишком много. Куда руководство смотрит.... Нет чтоб купить книжку "СПО для чайников за 21 день" все быстро сваять. Можно даже какой нить кухарке из столовой как доп. нагрузку навесить.
"Каждая кухарка должна научиться управлять КА"!!

A. Petrov

Цитировать
ЦитироватьА кто делать будет, Microsoft?
Заказчик. Там только интерпретатор байткода нужен, по большому счёту...

Маниловщина какя-то.
А вы представляете себе хотя бы приблизительно объём работ по портированию CLR на другую ОС да ещё и ОС РВ и последующей сертификацией этого ПО? CLR - это ведь не только интерпретатор байткода, но и весь run-time. Несколько миллионов строк кода. И кто это это будет писать и отлаживать? Какой заказчик? НПОЛ? ВНИИЭМ? ИСС? И на какие деньги?
Да и вообще не понятно, зачем всё это. Я так понял, вы хотите воспользоваться удобной средой разработки под Windows (MS Studio), чтобы разрабатывать код для бортовых ЭВМ? Или новым языком C#? Если первое, так и так все ПО для встоенных систем пишется и симулируется на удобном десктопе в удобной среде, и не факт, что MS Studio самая лучшая из них (посмотрите на TI Code Composer Studio например).
Если второе, то очень мала надежда на то, что можно так портануть  CLR на встроенную платформу, чтобы C# код, оттранслированный в MS Studio, полетел на нём без проблем. Тут до сих пор с Java то не могут совладать после стольких лет работ, а ведь это прямой аналог C# (write once debug everywhere :))

Rigel

На счет двух месяцев чистая правда.
 ДАЕШЬ ПЯТИЛЕТКУ В ЧЕТЫРЕ ГОДА!!!
 БПО ИЛИ СМЕРТЬ !!!
Скоро плакаты на стенах повесят:
 А ТЫ, ОТЛАДИЛ СВОЕ ПО !?
А самое грустное, скорее даже комичное, что на 2х недельных курсах преподают как работать с Visual C++. А бортовой язык, вроде как, (ни в каком документе нет спецификации на компилер),  С стандарта 89 либо 99.

P.S.
Цитата с одного публичного выступления:
       
ЦитироватьИ вообще програмизм это ремесло! здесь особо думать не надо...
Я плакаль...
Идущий осилит дорогу, а ведущий заведёт.

zyxman

Цитировать
ЦитироватьИ что, там на разработку СПО отводят 2 месяца?
Если на изучение языка дают 2 недели, то 2 месяца на разработку - слишком много. Куда руководство смотрит.... Нет чтоб купить книжку "СПО для чайников за 21 день" все быстро сваять. Можно даже какой нить кухарке из столовой как доп. нагрузку навесить.
"Каждая кухарка должна научиться управлять КА"!!
Нее. Книжку надо вроде "Си за викэнд" ;)
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

LRV_75

ребята вы меня пугаете . . .
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия