Я подозреваю, что ПО состоит не из одного модуля написанного на условном ЯП. Там же какая-то ОС, какой-то библиотечный код, какие-то утилиты, какой-то набор прикладного ПО и так далее. С таким же результатом можно спросить, на чем написана Убунту.
А вы считаете, что где-то подобный список периодически публикуется? Ну даже если предположить, что все ПО там опенсорсное, ну, блин, товарищ, как вы себе это представляете?
Там какое-то кастомное железо, а не процессор общего назначения. В итоге вся программа это набор значений, которые нужно загрузить в счётчики, которые будут тикать и по обнулению включать/выключать релюшки. Такое анскильное железо родом из семидесятых не предполагало автономный полёт без участия Земли. Это и послужило причиной аварии. Если бы там был нормальный бортовой компьютер с программой живучести, то он бы распознал неправильную ситуацию и отменил манёвр, из-за которого аппарат врезался в Луну. Но имеем то что имеем.
Ответ можно найти в журнале ВЕСТНИК «НПО ИМ. С.А. ЛАВОЧКИНА»
Соколов А.С., Комков В.А., Мозговой Ю.В.
Основные принципы построения программной системы подготовки и функционирования блока управления и специализированного языка программирования.
Мозговой Ю.В.
Концепции создания аппаратуры и программного обеспечения
блока управления электроустройствами автоматических
автономных долгоживущих космических аппаратов.
Следующие ключевые слова имеют в языке стан- дартный смысл:
ВМКТ – команда длительное воздействие коммутаторами; КВМКТ – команда «кнопка» коммутаторами; ДЛКН – команда изменить длительность «кнопки» коммутатора; РТМ – выдать в ТМ-регистр код; КН – команда измерение и контроль напряжения; КТ – команда измерение и контроль тока; ДКТ – команда измерение и контроль изменения тока; КДД – команда измерение и контроль датчика давления; КТД – команда измерение и контроль термодатчика; КДП – команда контроль дискретных параметров; ЖДАТЬ – оператор ожидания конца заданного ин- тервала времени; УС – установить номер шага; ПОВТ – повторение шага; ПП – вызов подпрограммы; ЗАП – запуск задачи в БУ; СТОП – завершение задачи в БУ после поступле- ния одноименной команды.
Программ на языке ДРАКОН нет, так как это правила составления схем алгоритмов, которые вполне наглядны. Есть связка из этих схем с существующими языками.
Не совсем ясно, на чём интерпретатор этого языка написан. Там в начале первой статьи фрагменты программы на Си приведены.
- unsigned int stat_data[] – массив рабочих данных
для длительных операторов;
- stat_data[0] – адрес продолжения программы отработки оператора (ПОО), остальные ячейки используются на усмотрение ПОО;
- unsigned int *par_list[] – список областей динамических данных параллельных операторов;
- unsigned int *par_current – адрес области динамических данных выполняемого в данный момент
«мягкого» оператора (адрес возврата)
Вы мне напоминаете ChatGPT. Дали же ответ, на чём написано, со ссылкой на статьи. Нет, обязательно надо постить тут всем известную и не относящуюся к делу фигню.
это асм спец-устройства - если ровно на нём вся мягкая часть - то это клиника
ибо память - в защищённом исполнение сейчас намного доступней чем во времена оные поэтому такого как раньше ограничения по памяти нет
т.е. если в самом спец-устройстве залито нечто машкодом которое эквивалентно портянки таких команд - это не есть утверждение что сама разработка ведётся на уровне этих команд-атомов
если же реально код собирается полностью из атомов - то там бюджеты обязаны быть больше известных на порядок - ибо тестировать портянку ручно-писных команд на асме(неважно какой реально язык) будет нелинейно дороже по мере роста портянок ибо комбинаторный взрыв - так
сам язык управления - там проблемно ориентированный - а вот конкретные мнемоники импульсов управление очевидно вами перечисленное
А я уж не знал, как замести под коврик факт, что «Луна-25 с программой управления на русскоязычном языке программирования ОСРВ упала из-за программы». Теперь всё встало на свои места: «Луна-25 с интерпретатором управляющей программы, написанном на C++, упала из-за управляющей программы».
Но я так понял, там до Луны-25 было куча более успешных полётов?
А ты, конечно, успешно приземлял аппараты на Луну, Марс и Меркурий и можешь судить о том, как это надо делать, с высоты своего практического опыта? И всем лунатикам уже поставил диагнозы, можно теперь их поставить и разработчикам российских КА?
ся не предназначено - (в общем виде из за ub) - для крит(ен)ического софта
если тока промежуточная трансляция - с проверенного языка проверенным транслятором - и специфически заточеным компилятором типоC - но нафейхуа такие сложности тогда
Всё зависит от специфики задачи, да и от истории. Может быть у них там реально раньше всё было на релешках и это был адекватный для них язык. Потом облегчили и удешевили аппаратную платформу, а ПО осталось старым.
Учитывая, что это происходит около Луны, может быть и на пневмонике. Так-то в промышленности пневмоинструмент вполне себе используется. Пневмодвигатель меньше электродвигателя равной мощности (хм, а не вру ли я?)