К книге
Проект «Сфера-80»: ОлимпиадаГлава 34 Сеть
77%
Глава 34 Сеть
34

Сотрудники спецсвязи довезли опечатанные ящики до режимной части, а в лабораторию их внесли уже двое хмурых работников хозяйственного отдела под присмотром человека из спецчасти. Сосновые доски жалобно скрипнули, когда последний ящик опустился на линолеум. Старший молча протянул планшет с зажимом. Морозов расписался в ведомости, мельком мазнув взглядом по бордовым кляксам сургучных печатей на крышках. Рядом с государственными гербами отчетливо виднелся номер отправителя и штамп управления, но не фамилии людей, через которых прошла эта железная логистика.

Дверь за ними закрылась. В коридоре стихли шаги.

Алексей подцепил небольшим металлическим ломиком край верхней доски. Сталь с хрустом вошла в щель. Рычаг. Заскрежетали длинные гвозди, неохотно покидая посадочные места. Крышка отлетела в сторону, подняв в воздух облачко древесной пыли.

Плотный запах ударил в нос. Так пахла промышленная техника прямо с конвейера — смесь консервационной смазки, едкого растворителя, картона и свежего металла.

Тяжелая, грубая материя этого времени вновь напомнила о себе. Морозов знал, что там, в двадцать первом веке, терабайты данных будут умещаться на пластинке размером с ноготь, не издающей ни единого звука. Здесь же хранение информации требовало чугунной массивности, килограммов меди и алюминия, залитых литолом и машинным маслом. Это была вычислительная техника, которую можно было использовать как оружие ближнего боя или фундамент для станка.

Но именно в этой суровой, неприкрытой брутальности крылась своя странная, гипнотическая эстетика. Болгарские инженеры не думали об изяществе линий или эргономике. Они проектировали механизм, способный выдержать перепады напряжения, постоянные вибрации заводского цеха и небрежное обращение уставших операторов. Каждый болт, каждая фрезерованная деталь кричали о монументальной надежности. В этом громоздком железе скрывалась сложнейшая точная механика — прецизионные шаговые двигатели, магнитные головки, способные считывать микроскопические изменения магнитного поля на огромной скорости.

Алексей медленно втянул носом густой промышленный аромат, смахнув налипшую на пальцы мелкую древесную пыль. Запах прогресса в тысяча девятьсот восьмидесятом году не отдавал стерильным пластиком и озоном кондиционируемых серверных комнат. Он пах солидолом, стружкой и клеем. Для него этот запах стал своеобразным якорем, окончательно привязывающим сознание к реальности. Алексей прекрасно понимал: без этих дополнительных тяжелых ящиков вся их гениальная модульная архитектура «Сферы» так и останется запертой в единичном экземпляре. Новые дисководы были порталом. Громоздким, шумным, пахнущим смазкой порталом в настоящую вычислительную свободу, где можно было развернуть полноценные рабочие места для всей команды.

Морозов запустил руки в ящик, раздвигая слои жесткой крафтовой бумаги. Пальцы нащупали холодный металлический кожух.

— Помогай, Женя. Тяжелый.

Громов шагнул вперед. Вдвоем они вытянули на свет массивный, угловатый блок. Еще один болгарский восьмидюймовый дисковод ИЗОТ. Громоздкий, размером с хороший чемодан, выкрашенный в цвет слоновой кости. Никакого изящества. Чистая, брутальная функциональность социалистического машиностроения.

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

— Высший класс, — пробормотал Громов, достав из дисковода защитный лист с надписью «ОТСТРАНЕТЕ ПРЕДИ ВКЛЮЧВАНЕ» и заглядывая в широкую щель приемника. — Головки чистые. Прямой привод.

— Готовьте столы, — скомандовал Морозов, берясь за ломик для вскрытия второго ящика. — Освобождайте периметр. Всё лишнее — в шкафы.

Лаборатория пришла в движение. Люба Ветрова сгребла в охапку ворох старых синек и мотки провода МГТФ, освобождая длинный стол у окна. Громов сдвинул в угол осциллографы и коробки с отбракованными герконами. Поверхности столов застилались антистатическими ковриками.

Началась методичная, выверенная сборка.

Люба установила на каждый из трех столов по плоскому металлическому поддону — основе прототипа «Сферы-82». В центре каждой платы хищно поблескивал золотыми выводами керамический процессор К580 в окружении микросхем системного контроллера и плотного массива ОЗУ на тридцать два килобайта. Рядом скромно темнел глазок единственной микросхемы ПЗУ. В этот кристалл, прошитый накануне на их безотказной «Молотилке», Громов зашил крошечный, но жизненно важный код первичного загрузчика. Его единственной задачей было дернуть контроллер дисковода при включении питания и заставить его считать ядро операционной системы с дискеты. Вместо бесконечных рядов примитивной логики первой модели, здесь доминировала компактная мощь микропроцессорной архитектуры.

Олег Тимофеев, тихо насвистывая, водрузил сверху на корпуса три телевизора «Юность» и принялся скрупулезно подключать коаксиальные кабели видеовывода, вымеряя волновое сопротивление. Их кинескопы тускло отсвечивали серым стеклом.

Девушка протянула к каждому комплекту толстые жгуты питающих проводов от трех независимых трансформаторных блоков. Ветрова работала сосредоточенно, проверяя полярность и надежность контактов щупами мультиметра. Для нее не существовало мелочей. Ошибка в питании могла выжечь дефицитные кристаллы за долю микросекунды.

Громов разматывал широкие, похожие на серые ремни, интерфейсные шлейфы. Он аккуратно насаживал пластиковые колодки на контактные гребенки контроллеров. Морозов шел следом. Он проверял каждое болтовое соединение, каждый изгиб кабеля. Фиксировал винты на разъемах видеоконтроллеров.

Спустя час посреди привычного хаоса КБ-3 выросли три абсолютно чистых, самодостаточных рабочих места. Три независимые вычислительные машины.

Громов подошел к сейфу. Достал пластиковый бокс. Выудил оттуда три огромных черных квадрата — восьмидюймовые дискеты. Гибкие магнитные диски казались комично огромными, но именно на этих тонких ферролаковых блинах покоилось ядро их системы. Свежеоткомпилированная, очищенная от программных ошибок операционная система МикроДОС.

Программист поочередно вставил дискеты в пасти болгарских приводов. С силой опустил защелки. Металлический лязг трижды разорвал тишину лаборатории, намертво фиксируя носители внутри механизмов.

Команда отступила на шаг.

— Готовы? — Морозов посмотрел на коллег.

Люба перевела дыхание и стерла несуществующую пыль с халата. Громов нервно потер переносицу.

— Запускаем.

Они синхронно потянулись к тумблерам блоков питания.

Три жестких щелчка слились в один.

Лаборатория наполнилась звуком. Загудели блоки питания. Следом сработали пусковые реле — сухой треск замкнувшихся контактов.

Люба вцепилась побелевшими пальцами в край стола. Она знала: если стабилизаторы напряжения сейчас просядут хотя бы на долю вольта под этой чудовищной нагрузкой, процессоры мгновенно уйдут в аппаратный сброс, и система не загрузится.

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

Шаговые двигатели дисководов ожили. Металлический стрекот позиционирующихся головок ударил по ушам. Механика искала нулевую дорожку.

Керамические сердца трех процессоров К580 погнали по шинам данных первые байты загрузочных секторов.

Морозов смотрел на черно-белые экраны дисплеев. Кинескопы моргнули. Прогрелись катоды. Статическое электричество затрещало по поверхности стекол, притягивая микроскопические пылинки. Серая пелена сменилась глубоким черным фоном.

На левом экране вспыхнул ровный белый прямоугольник курсора.

Секунда. Две.

Строчный трансформатор тонко, на гране слышимости, пискнул. Экран быстро, с характерным стрекотанием развертки, заполнился строками стартового сообщения:

`МикроДОС 1.0 на ПЭВМ Сфера-82 20 НОЯ 80`

` 32К ОЗУ Экран 64×25`

И следом, отступив пустую строку, появилось системное приглашение:

`А`

Средний монитор моргнул и послушно выдал такой же текст.

Правый экран задержался на мгновение, заставив Любу судорожно сглотнуть, но тут же расцвел идентичным загрузочным заголовком.

Все три ИЗОТа одновременно затихли, прекратив чтение. Шпиндели продолжали мерно гудеть, удерживая диски на рабочих оборотах. Машины ждали ввода команд.

Три мигающих прямоугольника курсоров под буквами «А» на экранах старых советских телевизоров казались живыми пульсами. В полумраке лаборатории мерцающий свет люминесцентных ламп смешивался с тусклым зеленовато-белым свечением кинескопов и дрожал на стеклах осциллографов.

Морозов смотрел на экраны, и в этот момент время для него привычно спрессовалось. Он видел перед собой не просто примитивный командный интерпретатор. В этих строгих, угловатых пикселях зарождалась та самая цифровая эпоха, которая спустя десятилетия опутает всю планету оптиковолоконными сетями. Сейчас, здесь, в тесной и пропахшей канифолью комнате КБ-3, они стояли у самого истока. Три независимые машины ждали. Они работали абсолютно синхронно, не мешая друг другу и не просаживая общую сеть питания лаборатории. Они просто ожидали команд.

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

— Есть, — выдохнул Громов.

Он сжал кулак и с размаху ударил им по собственной раскрытой ладони. Звонкий хлопок.

— Новое модульное ядро встало как влитое! — программист широко, искренне улыбнулся. — Ни одного сбоя по шине при одновременном запуске. Ни одной ошибки позиционирования. Переписанный обработчик прерываний сожрал эту механику на всех трех машинах и даже не подавился.

Олег Тимофеев победно хлопнул в ладоши, глядя на три одинаковых мигающих курсора:

— И развертка не поплыла! Видеоконтроллер держит кадр, несмотря на то, что эти болгарские монстры рвут память по прямому доступу!

Люба прикрыла глаза. Ее плечи резко опустились, сбрасывая накопившееся за утро напряжение. Она провела влажными ладонями по полам белого халата. Силовые цепи выдержали пусковой удар, помех на видеовыводе нет. Схемотехника прошла свой главный стресс-тест.

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

Громов отошел к подоконнику, доставая из кармана смятую пачку «Явы». Он заслужил этот перекур. Ветрова уже прикидывала в уме, как оформлять документацию для нормоконтроля, задумчиво массируя затекшую шею.

Алексей остановился в центре комнаты.

Он смотрел на три гудящих металлических ящика. Три черно-белых экрана. Три светящихся курсора. Для Громова и Любы это был триумф. Вершина эволюции.

Для Морозова это был тупик.

Взгляд Алексея скользил по пустому пространству между столами. Физическое расстояние между машинами составляло от силы полтора метра. Но в архитектурном смысле их разделяла бесконечность. В его родном двадцать первом веке изолированный от внешней среды компьютер воспринимался как мертвый кусок кремния. Без доступа к глобальной паутине даже самый мощный процессор деградировал до состояния быстрого калькулятора или умной печатной машинки.

Эти три «Сферы-82» были слепы и глухи друг к другу. Чтобы передать написанный Громовым код на машину Любы, программисту придется нажать кнопку извлечения дискеты, дождаться, пока тяжелый шпиндель остановится, вытащить черный пластиковый квадрат, сделать три шага по линолеуму, вставить дискету во второй ИЗОТ и ввести команду чтения. Бег в кроссовках по лаборатории. «Сникернет». Пещерный век маршрутизации.

Физическая потребность связать эти узлы воедино резала Морозова изнутри. Он не собирался строить армию вычислительных инвалидов.

Алексей поднял руки и громко, сухо хлопнул в ладоши.

Один раз.

Звук ударил по стенам, мгновенно разбив уютную атмосферу праздника.

Громов замер с не зажженной спичкой в руке. Люба вскинула голову, недоуменно глядя на Морозова.

— Отставить эйфорию, — ровно произнес Морозов.

Он развернулся и быстро подошел к старой меловой доске, висевшей у двери. Схватил из желоба кусок мела.

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

Мел с силой ударил по черной поверхности.

Морозов нарисовал три квадратных бокса. Далеко друг от друга.

— Это наша текущая архитектура. Машина Жени. Машина Любы. Моя машина. Три замкнутых контура.

Он сжал мел крепче.

— А теперь смотрите.

Рука Алексея резко провела прямую, жирную белую линию, соединяющую первый квадрат со вторым. Мел скрипнул. Вторая линия легла от второго к третьему. Третья замкнула контур, соединив крайние квадраты.

Осыпалась белая пыль.

— Машины не должны просто стоять на соседних столах, — жестко, чеканя каждое слово, произнес Морозов. — Они обязаны общаться. Пересылать массивы данных по медному кабелю. Делить ресурсы. Если на машине Жени лежит текстовый файл, Люба должна иметь возможность открыть его со своей клавиатуры, не вставая со стула и не таская в руках дискеты.

Мерное гудение шпинделей болгарских дисководов, до этого бывшее фоном, теперь казалось оглушительным.

Алексей дважды подчеркнул рисунок снизу.

— Вспоминайте наш разговор про сети. Локальная Вычислительная Сеть. ЛВС. По-английски — LAN. Мы создадим физическую и программную связь между нашими «Сферами».

Громов выронил спичку. Она беззвучно упала на линолеум.

Для советского инженера тысяча девятьсот восьмидесятого года концепция связи сама по себе не была фантастикой. Стойки ЕС ЭВМ давно имели систему удаленного доступа. Но это был доступ через так называемые «глупые терминалы» — экран с клавиатурой, который ничего не вычислял сам, а лишь отправлял нажатия клавиш на центральный процессор мейнфрейма и отрисовывал полученный ответ. Иерархия «ведущий-ведомый».

— Мы будем двигаться параллельно по двум направлениям, — продолжил Морозов, постукивая мелом по доске. — Задача номер один: Женя пишет программу-эмулятор терминала ЕС ЭВМ. Мы подключаем нашу «Сферу» к их магистрали, и для мейнфрейма наша машина выглядит как обычный советский терминал. Мы получим доступ к базам данных Госкомстата и заводским АСУ. Мы сможем паразитировать на их мощностях.

Громов кивнул, эта задача была ему понятна. Но Морозов тут же перешел к главному:

— Но это лишь мост в старый мир. Задача номер два: одноранговая сеть между самими «Сферами». Настоящая ЛВС, где каждая машина равноправна, где нет центрального шкафа, который всем диктует условия.

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

— Мы не будем изобретать велосипед, изобретая алгоритмы борьбы с коллизиями, — Морозов нарисовал поверх соединенных квадратов замкнутое кольцо. — Мы используем маркерный протокол. Эстафетную палочку. По коаксиальному кабелю от машины к машине по кругу непрерывно бежит специальный короткий пакет данных — маркер. Если «Сфера» Любы хочет отправить файл на машину Жени, она ждет, пока мимо пробежит маркер, «захватывает» его, прицепляет к нему кусок своего файла с адресом Жени и отправляет дальше по кабелю. Пока маркер занят, никто другой в эфир влезть не может. Данные доходят до Жени, он забирает пакет, и маркер снова становится свободным. Никаких аппаратных столкновений в кабеле. Жесткая математическая очередь.

Масштаб задачи обрушился на команду. Одно дело — понимать принцип маркерного кольца в теории, и совершенно другое — реализовать его драйверы и спаять сетевые трансиверы для первых предсерийных образцов, когда МикроДОС только-только начала стабильно работать с дискетами.

В наступившей тишине Громов молча тер переносицу, а Люба не отрывала взгляда от исписанной мелом доски. Он не давил, молча давая им время переварить задачу. В своей прошлой, будущей жизни он привык к тому, что сеть — это нечто абсолютно базовое, как напряжение в розетке. Забрать у компьютера сеть значило мгновенно ослепить его. Здесь же ему приходилось выступать в роли демиурга, требующего от людей воплотить концепцию электрического света. И самая прагматичная ирония заключалась в том, что этот свет будущего им предстояло собрать из деталей, выменянных за коньяк, и компонентов, с боем вырванных у кураторов в серых костюмах.

Громов медленно подошел к доске, скользя взглядом по белым линиям между квадратами. Его губы чуть приоткрылись.

Он тяжело сглотнул, переведя взгляд с доски на свои дрогнувшие пальцы.

Минуту назад он почивал на лаврах единоличного создателя операционной системы. Теперь его МикроДОС казалась ему детской поделкой.

— Связь… — пробормотал Евгений. — Леша, мы обсуждали теорию, а ты требуешь практику. Это не просто перекинуть байт через порт. Это пакеты. Мне нужно резать файл на куски. Маркировать каждый кусок адресом получателя. Контрольные суммы в хвосте. Аппаратные прерывания на каждый принятый пакет.

Громов схватился за голову, ероша немытые волосы.

— А если они начнут передавать данные одновременно? — голос программиста сорвался. — В кольце нельзя просто орать всем сразу. Кто держит маркер? Что делать, если маркер потерялся? Как организовать арбитраж на программном уровне? Мне придется с нуля писать первый протокол обмена. Это тысячи строк ассемблера!

— Напишешь, — спокойно ответил Морозов. — Не один. Саша возьмет тесты, операторы помогут гонять обмен по ночам, а я дам ограничения. Самый простой протокол. Для начала — передача маркера по кольцу. Я помогу, не переживай.

Ветрова не смотрела на доску. Она смотрела на задние панели гудящих «Сфер». Схемотехник внутри нее уже включился в гонку, отбросив сомнения.

— Программный арбитраж — это лирика, — резко бросила Люба, подходя к своему рабочему столу. — Физический уровень важнее. Частота передачи данных?

— Максимальная, которую вытянет портовый контроллер, — ответил Алексей.

— Поймаем затухание сигнала. И наводки. — Ветрова оперлась руками о стол, её глаза сузились, сканируя воображаемые схемы. — Если мы выведем этот линк за пределы лаборатории, в цех… Там работают станки. Искрят пускатели. Обычный провод сработает как антенна и соберет весь электромагнитный мусор завода.

Она выдвинула ящик стола и вытащила толстый, потрепанный справочник по кабельной продукции. Страницы зашуршали с пулеметной скоростью.

— Обычная многожильная лапша не пойдет, — Люба рассуждала вслух, водя ногтем по колонкам цифр. — Нам нужна защита. Либо экранированная витая пара. Плотный повив с шагом не менее двадцати скруток на метр, в медной оплетке. Либо телевизионный коаксиал. Коаксиал лучше держит высокочастотный сигнал и глушит внешние ЭМИ-импульсы.

Девушка захлопнула справочник.

— Придется паять отдельные платы сетевых трансиверов. Развязывать гальванически через оптроны, иначе, если пробьет блок питания на одной машине, сгорят все три по кабелю.

Морозов стер меловую пыль с пальцев, осознавая, что они пересекли невидимую черту. Идея заразила их, перестроив алгоритмы мышления. Команда КБ-3 перестала быть сборщиками персональных машин. С этой минуты они приступили к созданию локальной вычислительной сети.

Громов развернулся на каблуках. Он бросил взгляд на нетронутую сигарету на подоконнике и, не раздумывая, сел обратно на стул перед мерцающим черно-белым экраном первой машины. Благо, на скопированных в Зеленограде дискетах лежало не только «голое» ядро МикроДОС. Там хранился полный арсенал профессионального разработчика: отладчики, макроассемблер и текстовые редакторы.

Евгений перешёл в режим совместимости с CP/M и уверенно набрал команду `ED LAN.ASM`. Дисковод коротко, с хрустом обратился к магнитному диску, подгружая утилиту в память, и командная строка сменилась чистым рабочим полем редактора. Пальцы программиста зависли над клавиатурой, готовясь вбивать первые ассемблерные директивы новой подпрограммы обмена.

Люба вытащила из-под кипы синек чистый лист миллиметровки. Защелкал цанговый карандаш. Она начала набрасывать схему гальванической развязки порта.

Алексей вернулся к своему столу. На экране его машины, сразу под строкой загрузки, одиноко мигал курсор `А`, ожидая первых команд нового участка работы. Он выдвинул стул и сел, придвигая к себе стопку чистой бумаги для расчета таймингов маркера, ожиданий и тайм-аутов.

Предыдущая главаГлава 34 из 44Следующая глава