«Умный тостер» против компьютера космической миссии «Аполлон»? У тостера нет шансов!

Несмотря на разговоры о мощи современных устройств, они далеко не так круты, как этот старинный компьютер NASA.

Автор: Алексис Мадригал

Посадка космического корабля «Аполлон» на Луну была бы невозможна без соответствующего сложной задаче компьютера. Пилот-человек никогда бы не смог проложить путь до этого космического тела вручную. Расчеты, необходимые для внесения корректировок в полете, и сложность управления тягой находились за пределами человеческих возможностей.

Навигационный компьютер «Аполлона» в двух своих ипостасях — один на борту основного космического корабля, а другой на лунном модуле — был триумфом инженерного искусства. В то время компьютеры были размером с комнаты, заполнялись вакуумными трубками, и хотя наш герой весом в 32 килограмма еще был далёк от своих миниатюрных потомков, он ознаменовал собой «переход от людей, хвастающихся тем, насколько большие их компьютеры…  к гордящихся тем, насколько их компьютеры маленькие» — шутил в своей лекции историк в области аэрокосмической и вычислительной техники MIT Дэвид Минделл.

Тенденции, которые ознаменовал этот компьютер, продолжали развиваться экспоненциально в течение десятилетий: от большого к миниатюрному, от вакуумных трубок до кремния, от аппаратных средств управления до программного обеспечения. Его мощность по сравнению с современными электронными устройствами вроде маленьких гаджетов, таких как умные часы или современный тостер, может вызвать усмешку. Митио Каку, физик и популярный писатель, однажды выразился так: «Сегодня ваш мобильный телефон обладает большей вычислительной мощностью, чем все компьютеры NASA в 1969 году, когда им удался полёт на Луну».

Но эти высказывания не позволяют нам в полном масштабе оценить мощь компьютера «Аполлона». Конечно, любое современное устройство обладает гораздо большими грубыми вычислительными возможностями, любой компьютер 1969 года, но ЭВМ «Аполлона» была удивительно надёжной и соответствовала поставленной задаче. К примеру, умные часы или дверной звонок с процессором никак не отправят космический корабль на Луну, несмотря на всю вычислительную мощь.

Чтобы понять, насколько важной была система «Аполлона» и почему крошечное количество вычислительной мощности не имеет значения, следует прислушаться к программисту и специалисту по истории NASA Френку О’Брайену, много лет посвятившему изучению компьютера космического корабля. Отец О’Брайена был пилотом, поэтому Фрэнк был фанатом военной техники. Он интересовался компьютерами с раннего возраста, и когда один из старых друзей его отца попал в NASA, ему удалось раздобыть технические руководства по работе компьютеров.

«В 13 лет на Рождество я получил в подарок огромную коробку» — вспоминает Френк. «Я открыл её, а там лежали исчерпывающие технические материалы по «Аполлону». Тысячи подростков листали Playboy, я же проводил ночи за технической литературой».

С тех пор он провел бесчисленные часы, изучая, как именно работают эти машины. Будучи подростком ему даже удалось поуправлять симулятором «Аполлона» в NASA. Уже во взрослом возрасте, после получения степени в информатике и долгой работы в качестве корпоративного программиста, он написал книгу «Управляющий компьютер корабля Аполлон», оду машине.

Управляющий компьютер «Аполлона» в командном модуле выполнял две основные задачи. Во-первых, он рассчитывал необходимый курс до Луны, откалиброванный по астрономическим измерениям, которые космонавты выполняли в полете, с секстантом, мало чем отличающимся от того, который используют океанские навигаторы. Он учитывал положение Луны, Земли и Солнца относительно друг друга, точно высчитывал углы и пересчитывал положение корабля относительно них. Во-вторых, машина контролировала многие физические компоненты космического корабля, осуществляя взаимосвязь между 150 различных устройствами — чрезвычайно сложная задача. «Это десятки двигателей и всевозможных интерфейсов, платформа управления и секстант» — говорит О’Брайен — «просто представьте сложность этой системы».

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

Изначально лаборатория сильно недооценивала сложность задачи разработки программного обеспечения. В течение многих лет, вплоть до 1970-х годов, программисты все еще использовали перфокарты для кодирования. Но необходимость того, чтобы астронавты «Аполлона» и инженеры NASA были в курсе предпринимаемых машиной действий, требовала другого вида программного управления. Понадобился интерфейс.

Первоначальный акцент на аппаратном обеспечении был сосредоточен на том, что О’Брайен назвал «примитивной архитектурой». Когда стала понятна сложность и колоссальный масштаб задачи, команда разработки ПО расширилась до 350 человек. Система, которую они построили, была удивительно продвинутой.

Чтобы максимизировать встроенную архитектуру, лидер команды разработки Маргарет Гамильтон и ее коллеги придумали то, что они назвали «Интерпретатор» — сегодня мы называем это схемой виртуализации. Это позволило им одновременно запускать пять-семь виртуальных машин в двух килобайтах памяти. Всё работало ужасно медленно, но «зато перед программистами открылись невиданные доселе возможности» — отмечает О’Брайен.

Космонавты общались с компьютером через интерфейс DSKY, сокращенно «дисплей и клавиатура». Они набирали цифры и получали ответы. Нелегко описать систему пользовательского интерфейса, которая опиралась на ряд программных кодов типа «глагол» и «существительное». Под «глаголами» понимались возможные действия компьютера, а «существительными» были числовые величины или измерения. Согласитесь, далековато до современного интерфейса типа «наведи и щёлкни».

Большая часть данных системы была буквально вплетена в машинную память, но некоторые данные могли быть перезаписаны как астронавтами, так и удаленно из Центра управления полетами. Возможно, самым блестящим достижением в разработке программного обеспечения была часть Дж. Халкомба Лэнинга, которая определяла приоритеты в вычислительных задачах системы.

Это оказалось огромным подспорьем для миссии «Аполлона-11». Когда лунный модуль опустился на небесное тело, один из радаров сигнализировал проблемы. Управляющий компьютер понимал присутствие неполадки, но оставался работоспособным на протяжении всего спуска, игнорируя плохую информацию и продолжая выполнять более важные операции.

Распространённый миф утверждает, что компьютер по итогу не справился с задачей, и Нейл Армстронг, переведя систему на «ручное» управление, посадил космический корабль на поверхность Луны. Люди сделали это! А компьютеры облажались!

На самом деле всё было немного не так. Любая команда, которую отдавал Армстронг, должна была проходить через компьютер. Так что более верным будет сказать, что когда Армстронг сажал корабль на Луну, он сделал ручные корректировки. По сути, настоящим триумфом стала гибкость взаимодействия человека с компьютером.

Такие историки, как Минделл, который позднее смоделировал каждую секунду спуска, считают, что вмешательство Армстронга было необязательным. «Модуль возможно припланетился бы даже более мягко, хотя и чуть дальше от планируемого места» — сделал заключение Минделл.

Учитывая все это, неудивительно, что О’Брайену не нравится утверждение, будто, что микроволновую печь или калькулятор можно считать «столь же мощными», как компьютер «Аполлона».

«Что значит мощное устройство?» — вопрошает учёный. «Вот эта машина мощная. Что мы подразумеваем под этим?»

По его мнению, речь идет не о количестве транзисторов, а о машине, соответствующей задаче. Способность, а не сила. «Нам нужно было добраться до Луны, спуститься и вернуться самостоятельно. Пролетев четверть миллиона миль удалось попасть в цель с высокой точностью в радиусе от 500 до 600 футов. И в ответ на это кто-то утверждает: мои часы более мощные». Нет, это не так».

Вывод здесь прост: если ваш телефон намного мощнее компьютеров, доставивших человека на Луну, то почему вы используете его для просмотра фотографий в Instagram? Вычислительная мощность — средство, а не цель.

Оригинал: TheAtlantic

Похожие Записи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Последние <span>истории</span>

Поиск описаний функциональности, введя ключевое слово и нажмите enter, чтобы начать поиск.