Степень компьютеризации космических кораблей, как и всего остального в нашем мире, непрерывно растет. На смену сотням управляющих панелей с кнопками приходят ноутбуки, которые космонавты могут подключить в любом месте МКС и получить нужные данные, или отдать команду. Конечно, это не совсем обычные ноутбуки и бортовые компьютеры, и, хотя все чаще на борту используется серийная техника, у нее есть целый ряд интересных особенностей.
Конструкция
Если непосвященному человеку показать современный (да и старый, кстати, тоже) компьютер для управления космическим кораблем, то он будет разочарован. Невзрачный увесистый металлический ящик, из которого выходят пара-тройка разноцветных разъемов. И всё. Ни тебе USB, ни монитора, даже кнопок управления зачастую нет. И выглядит всё как-то «консервативно». На первом месте стояла и всегда стоит надежность системы. Благодаря магистрально-модульной конструкции, каждый блок – будь то процессор, память или система ввода-вывода, может быть легко извлечен из компьютера и заменен на аналогичный. Поэтому ремонт проходит быстро и без трудоемких операций. Это важно, поскольку космическая радиация значительно влияет на электронику, провоцируя отказы. Компьютеров на МКС много, часть из них закреплена вне корпуса, и для их ремонта приходится выходить в открытый космос. Всего за год приходится ремонтировать около 20 компьютеров.
Производительность
Типовой «рабочей лошадкой» на орбите сегодня является процессор Intel 386, хорошо знакомый людям постарше по домашним компьютерам двадцатилетней давности. Его производительность сегодня кажется скромной, но это дело спорное. Чаще всего гигантская вычислительная мощь современных процессоров используется для плавной и красивой отрисовки интерфейса, потрясающей графики в играх. Но практические задачи космоса обычно можно решать скромными ресурсами. Ведь на куда более слабых машинах проектировались лунные экспедиции!
Основной причиной «отсталости» космических компьютеров является довольно долгое время создания таких систем. Порой на них уходит не один десяток лет. Ещё на начальных этапах закладываются технические требования к компьютеру. Тогда же описывается и список задач перед будущей экспедицией. Конечно, всё это делается с учетом уже имеющихся на момент разработки и проверенных временем технологий.
Дополнительным «бонусом» старого процессора является низкое энергопотребление, поскольку на орбите каждый ватт-час энергии на счету.
Простота – залог надежности
Несмотря на крайне сложную конструкцию космических аппаратов, в основе их бортовых компьютеров лежат модули, отвечающие за небольшой набор простых операций с предсказуемыми последствиями. Чем меньше задач выполняет конкретный модуль, тем меньше неприятных последствий может принести выход его из строя, тем проще понять, что с ним случилось.
Что касается программного обеспечения, то оно должно быть предсказуемым.
Специальные операционные системы реального времени устроены так, чтобы не проявлять лишнюю инициативу, логика их работы предельно проста. Это увеличивает надежность и гарантирует молниеносную реакцию на внешние события. В отличие от Windows, которая иногда любит подумать полминутки, поработать с диском, космические ОС не тратят времени на самообслуживание.
Специально написанные для космических кораблей программы тоже готовятся по строгим правилам, исключающим расточительное поведение приложения – память нужно выделять сразу и больше потом не просить, вхолостую процессор не нагружать, и так далее.
Патчи, обновления и охота на ошибки
В мире нет ничего идеального, и написанный программистом код может содержать ошибку, несмотря на все проверки. Проблема в том, что возможность отладить программу и как-то экспериментировать с компьютером, улетевшим на тысячи (а в случае с космическими зондами – многие миллионы) километров от Земли, очень ограничена. Поэтому основной метод поиска ошибок, если в космическом компьютере что-то пошло не так, – моделирование ситуации на точной копии компьютера, оставшейся на Земле. Как пример – недавняя «перезагрузка» 40-летнего космического зонда «Вояджер-2», который по некоторым сведениям уже вышел за пределы Солнечной системы. В 2010 году в результате аппаратной неисправности он перестал передавать информацию, посылая вместо неё беспорядочные сигналы. Хорошо, что аналогичный компьютер имеется в лаборатории НАСА, отвечающей за полет этого зонда. Специалистам удалось смоделировать неисправность и понять, что дело в поврежденном участке памяти. После этого зонду по радио отправили самый натуральный патч – обновление программного обеспечения, учитывающее появившуюся аппаратную проблему. И работа продолжилась в штатном режиме. Видимо, ещё лет 40 этот зонд будет радовать нас своими новостями из глубокого космоса, пока его передатчик не достигнет предела мощности радиосигнала, после чего передачи и прервутся. Ну, или его поймают для своих исследований какие-нибудь зеленые человечки.
Не так давно подобной процедуре подвергался и марсоход «Спирит». Так что, даже самая надежная система, как и обычный домашний компьютер, нуждается в профилактике и постоянном совершенствовании.
Информация не должна теряться
Космические полеты – это очень дорогостоящее мероприятие, вне зависимости от того, пилотируемые они или нет. Это исследования, к которым готовятся много лет, на которые работают тысячи людей и тратятся громадные бюджеты. И вполне естественно, что сбой в работе, приведший к потере всей накопленной информации – это крах всей многолетней работы! Чтобы его избежать, космические компьютеры должны иметь системы резервирования данных. И тоже многократные. Нередко при этом используются совершенно разные системы хранения. Например, одновременно применяются флэш-память и магнитный способ записи на пленку или проволоку. Хоть что-то, но должно остаться в целости и сохранности. Принцип аналогичен резервному копированию личной информации и домашних цифровых архивов, которые всегда очень жалко терять вследствие сбоя системы. А в космосе это ещё и непростительно. Слишком высока цена таких потерь.
Кусочек современности
Каждый член экипажа МКС пользуется обычным компьютером Lenovo ThinkPad, который можно подключать к специальной шине, чтобы управлять системами станции. Благодаря техническому прогрессу, сегодня космонавты могут пользоваться Интернетом и общаться с родными, но канал доступа к сети не прямой, а с промежуточным защитным буфером на Земле. К тому же, для этого используется отдельный компьютер, никак не связанный с системами жизнеобеспечения станции. Как показала практика, последняя предосторожность совсем не лишняя – в 2007 году, уже в космосе на лэптопе одного из космонавтов был обнаружен вирус Gammima, ворующий пароли от онлайн-игр. На тот момент, ноутбуки не были защищены антивирусом, но после инцидента в NASA задумались о том, что ситуацию пора менять.