Так, а чего там в космосе-то? Какая ОС, железо? Есть ли хостинг, в конце концов?
Первый компьютер в космосе
Как известно, первые спутники и космические корабли начали отправлять на орбиту из СССР. На них не было установлено каких-либо сложных вычислительных машин, только простые логарифмические линейки (предтече калькуляторов). Но вместе с первым полетом человека в космос отправилось и первое подобие компьютера.
Формально кораблем управлял не совсем компьютер, а программно-временное устройство (ПВУ). Это был большой таймер, который вырабатывал специальные команды управления в строго заданный временной отрезок. Под ПВУ была написана программа, описывающая все этапы полета, — циклограмма. ПВУ контролировало положение корабля относительно Земли и Солнца, а циклограмма выполняла маневры, когда это было нужно. Ручное управление кораблем тоже было предусмотрено, но только в чрезвычайных ситуациях, поэтому Гагарин просто наблюдал из иллюминатора за Землей и полетом.
На Земле за расчеты отвечали люди и громоздкая ЭВМ «Стрела», занимавшая 300 кв.м и требующая 150 кВт мощности, половина от которой уходила на охлаждение. Такая махина не могла работать постоянно, максимум 18 часов, после чего ее выключали на 6-8 часов «отдохнуть». Машина могла совершать 2000 операций в секунду, имела оперативную память в 2048 слов по 43 двоичных разряда (бита) в каждом и постоянную память на магнитной ленте до 100 000 слов. Этих мощностей хватило, чтобы запустить человека в космос.
Инженеры и математики производили расчеты ночью, так как проект был максимально засекречен.
К сожалению, в дальнейшем СССР отказалась от разработки собственных компьютеров, взяв курс на использование и копирование западных устройств от компании IBM.
В США начала космической гонки важную роль играли как раз компьютеры IBM. Их было сразу 4 штуки и были гораздо мощнее советских аналогов. Стоит отметить, что в IBM разработали один из первых языков программирования высокого уровня — FORTRAN.
Если у Советов важным шагом был первый полет в космос человека, то у США — первый полет к Луне. Соответственно, «старшипу» нужна была мощная компьютерная начинка, которой стал Apollo Guidance Computer (AGC). Его тоже сложно назвать полноценным компьютером, но он был более продвинутым, чем его «коллега» из СССР.
Для своего времени аппарат был весьма компактным, способным поместиться в космический корабль и управлять им. Машина работала как основной вычислительный механизм навигации, движения корабля и посадки лунного модуля. AGC использовался во всех полетах Аполлон, кроме Аполлона-8, где не было лунного модуля.
Развитие космических технологий
До 70-х годов все так же использовали вычислительные машины, причем большую часть всех вычислений производили на Земле. Потихоньку в структуру спутников и кораблей стали вводить более сложные микросхемы, а в 1979 впервые установили на спутник микропроцессор — 8-битный RCA 1802. Хотя попытки установки, конечно, были предприняты и раньше.
Важно отметить, что условия работы компьютеров на Земле и в космосе различны. Все дело в радиации, которая легко убивает электронику. Поэтому у инженеров и разработчиков появилась задача защитить устройства от пагубного влияния «невидимой силы». Простое решение заварить все свинцом не работало, так как это сильно увеличивало вес аппарата. Соответственно, начались поиски элементов, устойчивых к радиации.
В 80-е в СССР велась разработка многоразового космического корабля «Буран». На него установили несколько мощных компьютеров, при помощи которых можно было не только отправляться на орбиту и маневрировать на ней, но и приземляться обратно без помощи человека — все рассчитывала машина. Комплекс управления был основан на IBM System 370, но бортовые компьютеры разрабатывались советскими инженерами, например, «Бисер-4».
Все последующее развитие космических компьютеров зависело от обычных земных разработок. То есть, как только выходил новый процессор для обыденного использования, его перерабатывали для работы в космических условиях. Это сильно меняет дело, в сравнении с предыдущим периодом, когда все космические технологии разрабатывались под присмотром военных. Соответственно, ПО космонавтов начало обрастать новыми ядрами, памятью, процессорами и тд.
Современные технологии и МКС
Международную космическую станцию (МКС) начали разрабатывать в 90-х годах силами нескольких государств. Главной целью станции было проведение научных исследований, чем сейчас и занимаются космонавты. Для такого проекта нужно было соответствующее ПО.
Для начинки выбрали машины на базе Intel 386. Основываясь на опыте предыдущих лет, в космонавтике взяли курс на простые и надежные системы, которым и был Intel 386. Кроме того, с этим процессором были уже многие знакомы, его мощностей хватало для управления станции, он потреблял мало энергии и мог даже работать в открытом космосе.
Хоть станция и разделена на американский и российский сегменты, их ПО взаимозаменяемое и едино на всей МКС. Если что-то случится с одним из сегментов, то второй обязательно примет у себя коллег и поможет все починить.
Что касается самих космонавтов, то они пользуются обычными «земным» ноутбуками. Но и здесь не обошли стороной простоту и надежность. Космонавтам попросту не нужно мощное железо для работы в космосе, ноутбукам не нужно отрисовывать прожорливую графику как в играх или фильмах, включать «тяжелые» программы и тд. Поэтому их ноутбуки несколько отстали в развитии от земных.
Своих устройств им хватает для связи с родными и друзьями, просмотра заранее скачанных фильмов, чтения книг и для не самых прожорливых компьютерных игр.
Но все-таки работа у космонавтов специфичная, поэтому простую Windows или MacOS в космосе не встретить, если только для личного пользования. Для главного управления станцией используют VxWorks OS. Это система реального времени, то есть она может выполнять столько задач, сколько позволяет объем памяти, спойлер, предостаточно. Конечно, эта ОС не единственная, в сети компьютеров на МКС используются простые среды выполнения языка Ada.
VxWorks также включен в ПО аппаратов по исследованию Марса Phoenix Mars Lander и Mars Reconnaissance Orbiter, зондов Spirit, Opportunity и Curiosity. А также в земных системах, где требуется высокая надежность, например, медицина или авиаперевозки.
Также потихоньку стали внедрять дистрибутивы Linux, например, Debian.
Россия планирует отказаться от поддержки МКС и построить собственную станцию. Если этот проект реализуют, то, вполне возможно, что в новом проекте будут использовать отечественное ПО.
Спринтхост — не космическая станция, поэтому доступен и понятен любому пользователю. А вот скорость передачи информации и работы техподдержки, действительно, космические. Попробуйте сами на тестовом периоде в 30 земных суток.