Цвет сверхдержавы - красный 4 Восхождение. часть 2 - Симонов Сергей
Шрифт:
Интервал:
Закладка:
(Источник http://www.comprice.ru/articles/detail.php?ID=42491&print=true
В реальной истории игру разрабатывали, начиная с 1961 г, но единственным условием разработки было наличие доступа к PDP-1, других реальных препятствий для создания её в 1959 г не было. Её создатели были сокурсниками.
Фото: игра Spacewar на экране монитора PDP-1 https://en.wikipedia.org/wiki/File:Spacewar!-PDP-1-20070512.jpg
Симулятор игры прямо в браузере, со ссылками на исходники и различные версии http://www.masswerk.at/spacewar/index.html
Ссылка на проект эмуляторов различных моделей ранних компьютеров https://github.com/simh/simh)
На разработку игры ушло примерно полгода. В апреле 1960 г появилась первая рабочая версия (АИ, в реальной истории — с осени 1961 по апрель 1962 г). Среди членов немногочисленного тогда компьютерного сообщества игра произвела фурор. Копии программы, занимавшей 9 килобайт в памяти, (исходники Spacewar занимали более чем 40 печатных страниц), были отправлены всем владельцам компьютеров PDP-1. Копия игры была передана в DEC, после чего корпорация стала использовать её как демонстрационную программу для своего детища, и включать бесплатно в поставку системы. Такая оригинальная демка в то время неизменно привлекала всеобщее внимание.
Смит рекомендовал Олсену взять на работу весь коллектив создателей Spacewar. Её исходники уже распространились, и позднее вызвали массу подражаний в виде реализаций на других компьютерах. Стив Рассел понимал, что его игра пока что может быть запущена лишь на относительно редких компьютерах стоимостью 120 тысяч долларов, поэтому он не стал отстаивать копирайт и патентовать программу. В то время в культуре MIT преобладали «хакеры» первого поколения, мыслившие категориями свободного доступа к программному обеспечению. Компьютеры были редкостью, программы к ним обычно распространялись в комплекте, совместимость между различными компьютерами отсутствовала как таковая.
В этой ситуации Джон Смит предложил Расселу и остальным участникам проекта Spacewar выпустить игру под свободной лицензией. Понятие «лицензия на программное обеспечение» тогда ещё тоже не сформировалось, и в первый момент студенты его не сразу поняли.
— По мере распространения компьютеров и программ коммерческие фирмы будут всё больше ограничивать свободный обмен программами, исходя из корыстных интересов, — пояснил Смит. — Чтобы сразу поставить этому заслон, есть предложение разработать общую типовую публичную лицензию, которая давала бы пользователям программы четыре основных права:
1. свободу запуска программы с любой целью;
2. свободу изучения того, как программа работает, и её модификации;
3. свободу распространения копий как исходного, так и исполняемого кода;
4. свободу улучшения программы, и выпуска улучшений в публичный доступ
— Предварительным условием для 2 и 4 пунктов будет свободный доступ к исходному коду, — продолжил Смит. — Основное условие — если пользователь внёс модификации в программу, выпущенную под свободной лицензией, он обязан открыть исходный код своих улучшений также под свободной лицензией. Такую программу нельзя будет продать — её никто не купит, но можно будет оказывать платные услуги по технической поддержке и сопровождению сложных программных комплексов.
Студенты согласились с аргументацией Смита. Его предложение заинтересовало и Олсена. Глава DEC понимал, что чем доступнее будут программы, тем больше компьютеров он сможет продать. Поэтому Олсен поддержал Смита, и все программы, которыми комплектовались компьютеры DEC, с самого начала выпускались под свободной лицензией, текст которой якобы разработал Смит. (АИ) Реально он использовал текст лицензии GNU GPL. (Русский перевод полного текста лицензии GNU GPL https://jxself.org/translations/gpl-2.ru.shtml)
Игра и её исходники попали и в СССР. Модернизированные PDP-1 одним из первых приобрёл Главкосмос и ОКБ-1. SpaceWar разошлась по всем PDP-1 страны в считанные дни. Она попалась на глаза и Сергею Павловичу Королёву. Не без любопытства понаблюдав за процессом пару минут, Главный конструктор распорядился:
— Так! Вот что, субчики-голубчики... Исходники изучить, понять, как оно работает, и разработать тренажёр для стыковки космических кораблей. Времени даю год. Застану в рабочее время за игрой — отправлю в Москву по шпалам!
Заказанные «All-American» компьютеры действительно использовались ею для оптимизации логистики перевозок. Деятельность корпорации приносила немалый доход Советскому Союзу, а также позволяла добывать средства для инвестиций в различные перспективные проекты. Чтобы не вступать в конфликт с антимонопольным законодательством, компания имела официально независимые друг от друга фирмы-представительства в каждом штате, но они работали в постоянном контакте друг с другом, используя общую базу данных.
Вот с этой базой данных и пришлось решать больше всего проблем.
Разрабатывали её во Всесоюзном НИИ Железнодорожного транспорта (ВНИИЖТ) под руководством академика Петрова (АИ, см. гл. 02-25), на основе базы данных, предназначенной для функционирования системы «Киберсин» — первой очереди ОГАС. В ходе работы разработчиков консультировал Виктор Михайлович Глушков. Сама по себе база данных представляла собой массив, записываемый прямо на диск или другой носитель информации.
В ОГАС использовались многодисковые массивы на основе накопителей на жёстких дисках, скопированных с американских IBM-305 (АИ, см. гл. 02-32) и несколько улучшенных в процессе доводки. Один накопитель IBM-305 весил почти тонну, имел ёмкость 3,5 МБ, размеры двухстворчатого холодильника и стоил 50 тысяч долларов. Советский усовершенствованный клон стоил 50 тысяч рублей — вчетверо меньше по тогдашнему курсу, имел несколько большую ёмкость — 5 МБ, и за счёт электронного монтажа на микросборках был меньше по размерам — примерно с холодильник «Саратов» (АИ). Но вывозить его в США категорически запрещалось из-за используемой секретной технологии микросхем.
До появления дисковых накопителей база данных ОГАС работала на виртуальном диске в памяти «БЭСМ-1М» — компьютера, собранного из деталей, присланных в посылке. Её периодически записывали на ленточный накопитель, для резервирования.
Этот же принцип применил и Александр Петрович Петров, только виртуальный диск инженеры ВНИИЖТ разместили в шкафах, наполненных пластинами тонкоплёночной памяти, общей ёмкостью 10 мегабайт. По мере необходимости память можно было добавлять. Резервирование производилось на высокоскоростные накопители на магнитной ленте, утром и вечером. Использовались одни и те же ленты, перезаписываемые по несколько раз с периодом 1 раз в 10 дней. Освоение промышленностью магнитной ленты на лавсановой основе решило проблему с её ломкостью. (АИ) После нескольких циклов перезаписи ленты ложились в архив и заменялись новыми.
Такой накопитель в 1959 году смонтировали в здании ВНИИЖТ в Москве, построив логистическую систему на основе ЭВМ БЭСМ-3М12 конструкции академика Лебедева. В качестве системы резервного энергоснабжения использовались кинетические аккумуляторы на маховиках. Их задачей было продержаться несколько минут, пока автоматика не запустит аварийные дизель-генераторы. В подвале ВНИИЖТ поставили ещё одну резервную систему питания — РИТЭГ. За океан его не повезли — слишком велик был риск. (АИ)
Второй аналогичный накопитель и такой же сервер установили в «теневой» штаб-квартире «All-American Truck Co» в Гватемале. По мере прогресса технологии жёстких дисков предполагалось заменять ими накопители на тонкоплёночной памяти.
Программа, обращавшаяся к базе данных, была написана на ассемблере. (Первая версия СУБД Oracle, написанная в 1979 г, была написана на ассемблере и работала на PDP-11, имевшем 128 кБ памяти, более слабом, чем описанный БЭСМ-3М12, хотя и менее габаритном). Оперативная память сервера не позволяла считать в неё всю базу, поэтому подгрузка информации осуществлялась порциями. Впрочем, скорость обращения к виртуальному диску была практически такой же, как к оперативной памяти, пользователи не чувствовали разницы. Тем более — при тогдашних линиях связи. Программа работала на сервере, а пользователи обращались к ней удалённо, с телетайпов.
Каждое отделение компании оснащалось сначала телетайпами для удалённого доступа, а затем, начиная с конца 1959 года, компания начала закупать компьютеры PDP-1. Для отслеживания контейнеров использовались буквенно-цифровые коды. Их наносили на контейнеры вручную, по трафарету. В базе данных каждому коду ставилась в соответствие запись — где находится контейнер в данный момент, его пункт назначения, дата отбытия, дата прибытия, номер описи груза. Работать с описями поначалу приходилось с помощью бумажной картотеки. Но в поставку PDP-1 был включён текстовый редактор, написанный Стивом Пайнером.