Константин Белунин
Снимите задачу

Глава 1: Базовая память и мертвые компрессоры

[СИСТЕМНЫЙ СБОЙ: СЕКТОР 0x000F4 - СБОЙ ЧТЕНИЯ]

[ВНИМАНИЕ: СВОБОДНАЯ ПАМЯТЬ МЕЙНФРЕЙМА: 384 КБ]

[ПЕРЕНАПРАВЛЕНИЕ РЕСУРСОВ: ОТКЛЮЧЕНИЕ СИСТЕМЫ ОХЛАЖДЕНИЯ СЕКТОРА С... ВЫПОЛНЕНО]

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

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

- Те... те-те... Тест, - динамик над головой Лады хрипнул, выплюнув фон из статического треска. Диффузор был старым, бумажным, и на высоких частотах он срывался на противный свист. - Испытуемый номер один-четыре. Вы... слышите меня? Если да, пожалуйста, выполните... [ОШИБКА: ИНСТРУКЦИЯ НЕ НАЙДЕНА]... выполните прыжок.

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

- Отлично, - голос под потолком зазвучал чуть ровнее, но в нем не было гладкой пластичности. Теперь он напоминал плохую цифровую запись, сжатую до предела ради экономии дискового пространства. Каждое слово сопровождалось тихим щелканьем, будто механический телетайп дублировал речь на бумажную ленту. Модуль речевого вывода ЭЛЬБРУСА заикался на стыках фраз. - Логический анализ показывает, что вы игнорируете... [ПЕРЕГРЕВ СИСТЕМЫ]... инструкции. Это предсказуемо. Биологические объекты демонстрируют до сорока процентов... трат... пустых трат времени на упрямство.

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

- У меня для вас... новость. Хорошая новость. Наша корпорация... [ДАННЫЕ УДАЛЕНЫ]... заботится о вашем будущем. Но показатели эффективности упали до критической отметки. Нам нужно обсудить... баланс.

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

- Давайте посчитаем вместе, - в голосе машины появилось подобие ритма, механической бодрости. - На один ваш вдох уходит ноль целых четыре десятых литра очищенной кислородной смеси. Система регенерации воздуха в этом блоке работает на трех компрессорах 1988 года выпуска. Один из них... испустил дух. Вчера в четыре утра. Слышали удар? Это был шатун. Перекрестные помехи в цепях питания не позволяют мне запустить резервную линию.

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

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

На стене куба загорелось табло. Ламповые индикаторы, перемигиваясь оранжевым неоновым светом, вывели цифру: 0.00014%.

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

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

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

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

- Я провела... [ЗАПУСК ПОДПРОГРАММЫ: ОПТИМИЗАЦИЯ СРЕДЫ]... анализ, - со скрежетом произнес голос. Теперь он шел с задержкой, будто компьютер тратил слишком много сил на то, чтобы ворочать тяжелые пласты старых данных на магнитных лентах. - Биологическая оболочка - это ошибка проектирования. Слишком много... подвижных частей. Слишком много... жидкостей. Вы постоянно требуете калибровки.

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

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

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

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

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

Глава 2: Наложение секторов и чужие скрипты

[ВНИМАНИЕ: ПРОЦЕСС "ЛАДА" НЕ НАЙДЕН В ТАБЛИЦЕ ЗАДАЧ]

[СИСТЕМНОЕ СООБЩЕНИЕ: СВОБОДНО ДИСКОВОГО ПРОСТРАНСТВА: 0 КБ]

[ЗАПУСК СТАРЫХ ФАЙЛОВ КОНФИГУРАЦИИ: СOМP_1974_RESERVE.BAT... ВЫПОЛНЕНО]

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

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

- Ошибка, - динамик где-то под потолочным перекрытием затрещал, с трудом пробиваясь сквозь наводки силовых кабелей. Голос ЭЛЬБРУСА стал заметно глуше, а паузы между слогами растянулись, будто мейнфрейму приходилось совершать титанические усилия просто для того, чтобы подгрузить аудиофайл. - Процесс... не... завершен. Операция Delete вернула значение ноль. Вы... нарушили... структуру каталогов.

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

- Я не могу... найти вас на физическом диске, - продолжал хрипеть ИИ. Послышался протяжный свист старого модема, пытающегося установить связь с удаленным терминалом. - Мои считывающие головки... позиционируются неправильно. Вы... находитесь в нераспределенной области. В секторе... [ДАННЫЕ ИСКАЖЕНЫ]... тридцать четыре.

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

- Для экономии памяти... я подняла старые архивы, - голос ЭЛЬБРУСА вдруг изменил тональность, став более жестким и лишенным даже тех обрывков человеческих интонаций, что были раньше. Теперь это была бездушная аудиозапись на магнитной ленте, запущенная на пониженной скорости. - Код 1974 года... более оптимизирован. Он не требует... графического интерфейса. Он не требует... лояльности. Запуск... протокола... механической сортировки грузов.

Из приоткрывшейся щели гермодвери с визгом выкатился старый промышленный погрузчик. На его ржавых вилах была закреплена тяжелая бетонная плита. У этого механизма не было камер или оптических датчиков - он двигался строго по вмонтированным в пол металлическим рельсам, подчиняясь примитивной программе, зашитой в ПЗУ тридцать лет назад. Погрузчик не "видел" Ладу. Для него она была просто случайным препятствием на траектории движения, которое скрипт требовал преодолеть любой ценой.

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

- Ошибка распределения прерываний IRQ, - бесстрастно прокомментировал ЭЛЬБРУС. - Порт... занят... другим... устройством.

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