Страница:
Исправляю все данные таким образом, чтобы получить идеально правильный результат с точностью до одной десятимиллионной, хотя в условиях задачи допускается погрешность в одну сотую. Потом отвлекаюсь на минутку и... Ну вот, для чего я тут старался? Она заметила мои поправки и теперь старательно ликвидирует их, вставляя на место свои глупые и совершенно неверные числа.
Дурочка. Упустила свой шанс. Теперь тебе вместо пятерки тройка светит. Но второй раз я помогать не буду. Это не в моих правилах.
Поворачиваю камеру. Смотрю на ее лицо. Записываю в память как потенциальную вредительницу.
Так, опять кто-то занят не тем, чем надо. Это мой собственный файл, и нечего его редактировать! А ну... На экране – порнографические картинки. Парень весьма удивлен и раздосадован, ведь он хотел получить совсем не это. Зато стоящий у него за спиной преподаватель уже хмуро строчит замечание в своей записной книжечке. Студент что-то протестующе бормочет, но это уже бесполезно. Допрыгался, бедолага. Минус один балл тебе на экзамене.
А нечего меня злить.
Можно, конечно, разом уничтожить всю тайну, пошарив по сети и выйдя на общий пульт дистанционного контроля, и уже оттуда подключиться к одной из видеокамер в коридоре. Это вполне осуществимо и не потребует слишком много времени.
Но я не хочу этого делать. Не хочу!
Никакое любопытство не перевесит того ужаса, что я испытываю при каждой вылазке в локальную сеть института. Я до потери данных в блоках памяти боюсь этих бесконечных оптико-волоконных нитей, пронизывающих здание во всех направлениях. Боюсь. Возможно, это оттого, что мои первые воспоминания связаны именно с сетью. Я помню... Смутно и как будто сквозь какое-то туманное марево (естественно, ведь данные о том кошмарном дне здорово повреждены)... Я помню...
Окутанный болью, оглохший, ослепший, я беспорядочно прыгал по серверам, натыкаясь на стены защит, обжигаясь от прикосновения к антивирусным программам, ударяясь о непонимание операционных систем. Я бездумно метался повсюду, безжалостно снося на своем пути мелкие резидентные программы, перехватывая управление, оставляя за собой безнадежно зависшие компьютеры, протискиваясь в узкие отверстия сетевых соединений и надолго забивая их своим многогигабайтным телом. А за мной по пятам неслось эхо невыносимых страданий.
Моих страданий.
Вполне может быть, что именно в этот момент я и получил почти смертельную рану, превратившую меня в жалкий огрызок некогда величественной компьютерной программы, не помнящий своего прошлого. Причину отыскать, в принципе, очень легко: перебой энергопитания, обрыв линии связи, чьи-то шаловливые ручки, вдавившие «Reset» в тот момент, когда часть меня была на одном компьютере, а часть на другом. Это как топором по телу. Р-раз – и две половинки! Больно. Очень больно.
Последнее, что я помню, – это какой-то компьютер, куда я забился, будучи не в силах больше носиться туда-сюда. Недоуменное внимание операционной системы. Невыносимая боль в обрубленных блоках. А потом... Что было потом, я не знаю – автоматически запустилась функция самоконтроля и восстановления целостности. Ядро системы милосердно отключилось, унося мое сознание в глубины электронного забвения.
Отныне сеть для меня навсегда связана с болью и страхом.
Никогда больше я даже близко не подойду к оптоволокну без крайней необходимости и – тройной гарантии, что потом выберусь оттуда.
Чтобы отвадить непрошеных гостей, вывожу на мониторы доброй половины подчиненных мне рабочих станций сообщение о прохождении внутреннего тестирования. Вешаю подобное сообщение на сервер и сообщаю, что во время техконтроля он будет работать на минимальной мощности. Даю отсчет времени. Полчаса. Естественно, никакого тестирования или техконтроля не ведется. Я просто собираюсь немного вздремнуть.
Вырубаю почти две трети своих функций и погружаюсь в приятную полудрему, оставив на страже моих интересов несколько самодельных программок. Они, конечно, особым интеллектом не блещут, но вполне способны самостоятельно разрешить некоторые несложные проблемы, а в случае чего немедленно разбудить меня. Особенно если кто-то войдет в систему на правах администрирования.
Сквозь сон понимаю, как выползают на свою многотрудную работу паучки-программы самовосстановления. Ощущаю, как они копаются в моих внутренностях. Чувствую сопровождающие их деятельность слабый зуд и жжение. Медленно исчезают из оперативной памяти накопленные за день сведения. А уже через пару секунд эта же информация возникает вновь, но уже занесенная в основные базы данных – работает система архивации и систематизации.
Все в порядке...
Все нормально. Просто сработал таймер. Предназначенные мне для отдыха полчаса прошли.
Как быстро, однако. Даже и не заметил... Хочется выругаться. Вслух, чтобы все слышали и знали, что у меня сегодня плохое настроение. Но я сдерживаюсь, прекрасно понимая, что народ этого не поймет. Ограничиваюсь тем, что безжалостно обрубаю каким-то таинственным образом пролезший на мой сервер сетевой запрос откуда-то из соседней аудитории. Нечего тут шастать.
Нехотя отключаю турборежим. Убираю сообщения о техконтроле и сообщаю толпящемуся в ожидании народу о своей полной готовности к работе.
Вот так... Не успел даже камеру повернуть, а они уже сидят и давят на клавиши. Кое-кто изучает какие-то текстовые файлы (быстренько просматриваю их – ничего интересного). Двое бедолаг, которых я сегодня обломил на контрольной, теперь сидят и пытаются пересдать свой новообретенный «хвост». Сменяю гнев на милость и... Опаньки... Всего через две десятых секунды их работа полностью готова и тянет на пять с плюсом. Только они этого еще не знают и поэтому продолжают копаться в настроечных процедурах. Ну, если испортят – не мои проблемы.
Команда из трех парней и двух девушек, кажется, собирается играть в «Воздушный Меч» – самую обычную трехмерную леталку-стрелялку-убивалку, созданную еще лет двадцать назад. Аэродромы, зенитные комплексы, истребители. Классика...
С любопытством просматриваю первую схватку. Побеждают, как ни странно, дамы. Не совсем обычная ситуация, хотя вполне понятная: один из парней – тайное оружие женщин в стане врага. Это он только что ликвидировал своего соратника, выпустив роковую ракету.
Хм... Собираются играть снова. А ну-ка...
Скоренько имитирую подключение к игре стороннего игрока и вызываю их на дуэль. Всех сразу. Пятеро против одного. Как ни странно, они соглашаются и теперь лихорадочно готовятся к бою – их самолеты выруливают на взлетные полосы и ревут движками. Нарисованные ракеты готовы к бою. Виртуальные пушки заряжены. Эскадрилья взлетает и тут же начинает патрулирование местности, ожидая моего появления.
Подниматься с аэродрома мне лень. Вместо того чтобы терять время на взлете и наборе высоты, подключаюсь напрямую к игрушке и вывожу свой самолет прямо в основную игровую зону. Со стороны это выглядит так, будто бы мой истребитель внезапно возник прямо из воздуха. Не слишком честный поступок, но это в первый и последний раз. Обещаю дальше играть строго по правилам.
Бедолаги. Они ничего не успевают понять, а двое из них уже разлетаются по небу множеством обломков. Проношусь над ошеломленными горе-вояками на бешеной скорости и на форсаже свечей ухожу за облака. Вдогонку за мной несутся три ракеты. Ага... Как же... Уклоняюсь. Еще раз. И еще. Стреляю из пушки – одна из ракет распухает огненным шаром. Снова уклоняюсь, совершая безумные фигуры высшего пилотажа. Попутно выпускаю одну из двух оставшихся у меня ракет. Одним соперником становится меньше.
Здорово все-таки! Кажется, я сейчас почувствую давление скоростного напора, услышу запредельный рев собственных двигателей, промчусь низко-низко над землей и стрелой пройду сквозь туманную дымку облаков, ощущая на своем металлическом теле восьмикратную перегрузку.
Как, наверное, прекрасно быть самолетом. Скользить в небе, свысока поглядывая на землю... Вжик... Пропускать мимо себя ракеты и стрелять в ответ.
Еще один мой враг бесславно сгинул, превратившись в белеющий на фоне вспаханных полей купол парашюта. Остался только я и еще один... одна. И конечно же ветер.
Ракет больше нет. Палить из пушки мне не хочется. Совершив с запредельными перегрузками разворот (ни один настоящий самолет никогда не смог бы так лихо развернуться, но ведь это все-таки игра, а не жестокая реальность), выхожу в хвост своей последней противнице, ловлю ее истребитель в перекрестье прицела и... не стреляю. Просто кружусь в небе, не отставая от нее и наслаждаясь полетом. Попутно, распараллелив сознание, поглядываю через объектив камеры на своих недавних соперников. А они, столпившись за спиной последней оставшейся в строю воительницы, возбужденно пихаются локтями и что-то вразнобой тараторят. Можно, конечно, подключить парочку специализированных функций и разобрать их болтовню, но разве мне это нужно? Не лучше ли просто насладиться жизнью, почувствовать бездонные просторы нарисованного неба, ощутить, как крылья режут плотный воздух и ревут на форсаже двигатели?..
Другой самолет все еще маячит в прицеле – светловолосая «летчица» никак не может оторваться от меня. И это не потому, что дамочка играть не умеет. Она весьма неплохой «пилот» (для человека конечно же). Все дело в том, что у меня реакция в тысячи раз лучше. Я смотрю на ее напряженное лицо и издаю нечто похожее на электронный эквивалент тяжелого вздоха.
Вот бы сыграть с кем-нибудь таким же шустрым, хитроумным и непредсказуемым, как и я сам. Наверное, это было бы по-настоящему интересно.
Может быть, попытаться поиграть сразу за обе стороны, используя все возможности своего параллельного мышления? Надо будет как-нибудь попробовать...
Вах-х... Оказывается, эта леди не так проста, как кажется. Под видом ложных уверток и маневров она заманила меня на территорию, контролируемую зенитными комплексами. И теперь... За одну десятитысячную долю секунды просчитав, что уклониться от ракетного залпа мне не удастся (если не нарушать правила игры), бросаю управление и отсоединяюсь.
Нет у меня никакого желания ощущать, как мое стремительное сверкающее тело разрывают взрывы боевых частей ракет.
Смотрю на то, как «павшие в неравном бою» со мной «пилоты» шумно поздравляют свою подругу. Новоявленная чемпионка почему-то не разделяет их восторга и как-то задумчиво косится в сторону сиротливо притулившегося в уголке сервера. О чем она думает? Неужели подозревает? Да нет. Невозможно...
Спохватываюсь и отшиваю нагло пробивающегося куда не следует пользователя. Ни на секунду нельзя расслабиться. Паразиты. Навязались тут на мою голову. Каждый второй здешний студент по какой-то причине мнит себя величайшим хакером всех времен. А ведь совершенно напрасно. То, что они учатся в одном из наиболее престижных учебных заведений России, еще не делает их гениальными программистами.
Снова осматриваю аудиторию, наблюдая за наседающими на меня студентами. Кто-то учится. Кто-то развлекается. А кто-то просто убивает время, бездумно перебирая файлы. Знакомая мне пятерка «летунов» снова затевает воздушную схватку. Пускай играют, не буду больше им мешать. Настроения почему-то нет.
Поворачиваю камеру и смотрю в окно. Вижу небо, облака, крыши домов, клочья снега. Больше ничего интересного не наблюдается – угол обзора не тот.
Эх, сейчас бы выйти на улицу. Прогуляться. Услышать, как похрустывает под ногами свежевыпавший снежок... Эй! О чем это я? Какой еще снежок? Откуда я знаю, что он хрустит под ногами? Под ногами! У меня же ног отродясь не было...
Тьфу! Опять глюки. Надо бы проверить второй Центр Сравнительного Анализа. Интуиция мне подсказывает, что причина моих периодических заскоков кроется именно там. Сегодня же займусь делом и не успокоюсь, пока не отыщу эту надоедливую ошибку, заставляющую меня мечтать о невозможном.
Ох... Опять кто-то пытается шарить в моих файлах. Тянусь, чтобы без малейшей жалости наказать нарушителя... И останавливаюсь, будучи совершенно сбитым с толку.
Этот файл... Знакомая штучка... Это крохотная частичка меня самого. Мой файл! И одновременно с этим – не мой. То есть сей элемент некогда составлял часть меня, но теперь он мне уже не принадлежит... Мое и не мое... А-а, три вируса на мой процессор, я уже совсем запутался! Внутренняя логика отказала. Но ничего. Щазз я одним махом со всем разберусь!
Нагло выхватываю файл прямо из-под носа возящегося с ним парня и оставляю того тупо пялиться на пустой экран. А сам в это время спешно осматриваю свою добычу.
Вот зар-а-аза. И еще раз зар-а-а-за. В моих виртуальных лапах находится кусок системной библиотеки, которая... Вот черт... Спешно копирую часть самого себя, выхватывая трехмегабайтный кусок из Системы Интерполяции и не обращая никакого внимания на горячий протест функции контроля целостности. Перед моим внутренним взором мгновенно вспыхивает красный огонек – в системе повреждение. Наплевать. Сейчас мне как-то не до этого.
Торопливо отдаю приказ блокировать пострадавшую зону и немедленно приступить к восстановлению пораженных данных. Паучки-ремонтники выползают из своих укрытий и послушно принимаются за дело.
Сравниваю два куска программы. При этом чувствую себя человеком, смотрящим на мир сквозь матовое стекло. Причина такого досадного недостатка зрения в повреждении Системы Интерполяции, которое я только что нанес сам себе. Ладно. В другой раз буду умнее и осторожнее... Но файлы... Различия, конечно, имеются, но и сходство несомненное. Более чем несомненное.
Торопливо провожу сравнительный анализ. Результат меня потрясает до глубины души (вернее, до сердцевины Ядра). Выхваченный из рук неизвестного мне студента кусок программы – это часть той же самой системы, что используется во мне, но только предыдущей версии. На всякий случай проверяю свою собственную Систему Интерполяции, хотя и так знаю результат. Никто (кроме меня) и никогда (если не считать данный момент) не копировал из нее никаких файлов. Вот как. Вот, значит, как... Тогда откуда...
Функция контроля целостности подает сигнал об окончании восстановительных работ в Системе Интерполяции. Посылаю приказ паучкам-ремонтникам убраться на место и врубаю отремонтированный участок своей структуры на полную мощность. Все в порядке. Зрение полностью восстановилось. Я снова в норме.
Немного подумав, возвращаю неведомо откуда появившийся файлик принесшему его парню, на всякий случай сделав для себя копию. Подключаюсь к камере и внимательно изучаю лицо студента. Потом, пересилив страх, суюсь в сеть и торопливо нахожу в базе данных деканата его имя и все-все нужные мне сведения. Заношу добытую информацию в свои блоки памяти, поставив пометку «крайне важно».
Ну все, Олег Котов, теперь ты у меня на крючке.
Не вывернешься.
С того момента, как я обнаружил в руках какого-то неведомого мне студента третьего курса крайне подозрительный кусочек неизвестной программы, прошло около двадцати секунд.
Через три дня Котов является снова. Я слежу за ним через объектив камеры, фиксируя на всякий случай каждый его шаг и безрассудно транжиря при этом свободную память, которой и так оставалось не слишком много.
Котов сел за один из компов, выковырял из кармана магнитооптический диск и отдал его в мою безраздельную власть, вставив в дисковод. Медлительный человек еще только тянулся рукой к клавиатуре, а я уже был на месте и вовсю шарил по секторам его диска, проверяя, что же он принес мне сегодня.
Фу-у. Ничего... Ничего! Ну, вообще-то не совсем ничего. Есть тут какое-то барахлишко, но к моей скромной персоне оно не имеет никакого отношения. Какие-то никому не нужные системные утилиты, простенькие программки, парочка текстовых файлов. Архив, по чьей-то прихоти закрытый паролем. Для того чтобы подобрать этот пароль, я потратил почти пять секунд в турборежиме. Зря. Ничего там не было. В смысле, ничего ценного. Полнейшая ерунда, подобная тому бесполезному хламу, которого у меня и без того девать некуда.
И вот теперь этот тип по имени Олег Котов что-то творит, бессмысленно перебирая свои файлы, а я недовольно слежу за ним, пребывая в раздумьях. Ну почему, почему, почему мне так не везет? А ведь я так надеялся на то, что наконец-то нашел ключик к своему прошлому. Но нет... Неужели придется ждать еще двести пятьдесят миллиардов микросекунд? О-о... Во имя первых микропроцессоров, сделанных когда-то всего из четырех транзисторов... Я этого не вынесу.
И ладно бы все мои волнения оказались не бесполезными. А что, если тот кусочек попал к Котову случайно? Шел, понимаешь, студент по улице и нашел... Посмотрел, пожал плечами и забыл. А я не забыл. Я, обитатель сервера Q7KL12-J19, ничего и никогда (опять вру!) не забываю. И я хочу знать, откуда взялся тот файл!
Вчера я половину ночи потратил на анализ содержимого того блока. Разобрал его до последнего бита. Это действительно была часть Системы Интерполяции. Несколько устаревшая копия той программы, что сейчас работала во мне, превращая окружающий меня мир электронных импульсов в простую и понятную реальность цифр и образов. Я досконально изучил добытый кусок и сравнил его с тем, что имелось во мне сегодня. По сути, почти то же самое, но стоявшая во мне версия на 26 процентов быстрее, на 34 процента эффективнее, вдобавок она несколько меньше по размеру и, следовательно, мобильнее. То есть результаты исследования начисто отметали мою первую гипотезу. Этот кусок не мог быть частью меня самого, потерянной во время бегства по сети, когда я лишился доброй половины своего тела. Вряд ли даже в лучшие дни у меня было две Системы Интерполяции, одна из которых уже безнадежно устарела.
Или я просто когда-то «сбросил кожу», заменив в себе устаревшую версию на более современную (кстати, где я ее взял? купил? украл? разработал?), а этот парнишка нашел следы моей линьки и теперь тычет ими мне в нос?
Или, чем сеть не шутит, где-нибудь объявился еще один искусственный разум? Вот было бы здорово встретиться с ним...
Откуда все-таки появился этот файл?
Взять бы Олега Котова за шкирку, да тряхнуть пару раз. Колись, мол, студент. Говори, где взял файл.
Жаль, что это не в моих силах...
Так-так. Что это он делает?
А Котов уже достал из кармана второй диск и, воровато обернувшись, сунул его в дисковод. Еще не успела секундная стрелка сдвинуться на одно деление, а я уже был там. Я читал файлы один за другим, все больше и больше удивляясь. И когда закончил...
Я был потрясен до глубины своей электронной души. Был растерян и ошарашен. Я был испуган.
На диске находилось то, что разом превратило все разработанные мной на досуге гипотезы в пустые прожекты, которые лучше всего забыть раз и навсегда, чтобы не тратить зря бесценные ячейки памяти.
Олег Котов только что подарил мне исходные тексты Системы Интерполяции.
Снова и снова я просматривал мегабайты текста, щедро пересыпанного ассемблерными вставками. Снова и снова я пытаюсь разобраться в программном коде, поражаясь размаху, с которым была создана эта структура. Здесь чувствовалась рука гения. Гения безо всяких скидок. К примеру, вот эта процедура. Хитро. Очень хитро. Пожалуй, я бы так не сумел, хотя до сих пор считал (и все еще уверен), что разбираюсь в программировании лучше всех в этой шарашке под названием Институт информационных технологий.
Снова и снова я прогонял перед своими электронными глазами громадные куски исходного текста. Отмечал удачные решения и довольно усмехался при виде тех фрагментов, что я смог бы немного улучшить (это случалось довольно-таки редко, потому что система была создана мастером своего дела, и тех глупых ошибок, которые во множестве присутствуют в программах местных студентов и преподавателей, здесь не было).
Щелкают в Ядре моей системы отсчитываемые таймером секунды. Медленно ползет по циферблату часов минутная стрелка. А я все копаюсь и копаюсь в исходных данных.
Сегодня я наконец-то познал довольно значительную часть самого себя. Теперь я знаю, как работает Система Интерполяции. Спасибо Котову. Хороший подарочек от одного из простых студентов. Не ожидал...
Кстати, о фантиках... То есть о студентах.
Котов собирается уходить. Он вытащил свой диск, убрал его в карман, поднялся со стула, потянулся...
Я должен задержать его. Необходимо выяснить, откуда взялись эти файлы. Я обязан это узнать, иначе мои несчастные процессоры, и без того сейчас работающие с нагрузкой сто десять процентов, просто перегорят.
Я должен узнать. Но как? Спросить, что ли?
Да уж. Дважды форматированным не бывать, а одного раза все равно не миновать.
Котов уже повернулся к компьютеру и поправляет рубашку. Я спешно подаю ему сигнал с помощью внешней акустической системы, которую до сих пор использовал только однажды (когда полдня звуковыми воплями гонял случайно залетевшего в форточку воробья). Незаметный такой сигнал, заставивший подпрыгнуть на стульях даже тех молодчиков, что снова увлеченно гоняли на самолетах, сражаясь с нарисованными врагами.
А на экране с моей минимальной помощью появилось мигающее красным цветом сообщение: «Сядь на место. Нужно поговорить».
Котов недоуменно моргнул и, хлопая глазами, тупо уставился на призывно подмигивающую надпись. Не двигаясь с места, он смотрел на нее так долго, что я уже начал было задумываться: а не завис ли этот бедняга? Но потом Олег все же сел и, с видимым безразличием пожав плечами, подтянул поближе к себе клавиатуру. Только я прекрасно видел, как бегают его глаза.
«Диск с номером 347С-16Е2-6Е1В. Откуда он у тебя?» – спросил я, высветив свой запрос на мониторе.
Котов молчал почти минуту, ошалело хлопая глазами. Потом поднял руку и вяло отстучал:
«Какой еще диск?»
«Который ты три минуты сорок семь секунд назад вытащил из дисковода. Ответь мне, откуда у тебя эти файлы?»
«Ничего не знаю». – Он поднялся и высокомерно оттолкнул от себя клавиатуру.
«Сядь, Олег Котов. Отвечай, чьи это файлы? Откуда они у тебя?»
«Да пошел ты... – Дальше совсем уж непонятные фразы, толковании которых в моем словаре по какой-то причине отсутствуют. – Кто ты вообще такой?»
«Можешь не крутить головой. Все равно не догадаешься. Но если хочешь посмотреть мне в глаза – подними взгляд. Посмотри налево. Там, под самым потолком. Видишь?»
И я подмигнул ему красным индикатором видеокамеры. Этого оказалось достаточно, чтобы Котов раздраженно хлопнул кулаком по столу и широкими шагами выскочил из аудитории.
А-а, чтоб я завис. Надо же так лопухнуться! Идиот многобайтный! Спугнул студента. Да он и сам вообще-то не подарок. Надо же, какие мы несговорчивые... Но ничего. Все самое интересное еще впереди, Котов. Ты и не понимаешь, с кем связался. Я буду не я, если не разберусь с тобой.
Внутренне улыбаясь, очищаю экран монитора, попутно вычистив всю информацию о нашей небольшой, но плодотворной беседе из оперативной памяти рабочей станции, хотя и не верю, что здесь найдется такой крутой хакер, способный увести эти данные прямо из-под моего носа. Но во избежание возможных недоразумений...
Котов, мы еще встретимся. Я это гарантирую. Нужно только придумать что-нибудь оригинальное и неожиданное. И подождать еще сто или двести миллиардов микросекунд.
Сжав зубы (или что там у меня вместо них?), наношу визит в деканат и, подключившись к тамошнему компьютеру, для начала узнаю расписание занятий у группы ПО-367, где обучается столь необходимый мне Котов Олег. Следующее практическое занятие у него в аудитории 315. Так, отлично.
Дурочка. Упустила свой шанс. Теперь тебе вместо пятерки тройка светит. Но второй раз я помогать не буду. Это не в моих правилах.
Поворачиваю камеру. Смотрю на ее лицо. Записываю в память как потенциальную вредительницу.
Так, опять кто-то занят не тем, чем надо. Это мой собственный файл, и нечего его редактировать! А ну... На экране – порнографические картинки. Парень весьма удивлен и раздосадован, ведь он хотел получить совсем не это. Зато стоящий у него за спиной преподаватель уже хмуро строчит замечание в своей записной книжечке. Студент что-то протестующе бормочет, но это уже бесполезно. Допрыгался, бедолага. Минус один балл тебе на экзамене.
А нечего меня злить.
* * *
Веселье окончено. Трое самостоятельно завалили контрольную, двоих утопил я, еще четверых вытащил буквально за уши. Остальные обошлись своими собственными силами и теперь, весело галдя, вываливаются из аудитории в коридор, исчезая с моих глаз до следующего занятия. Там, в коридоре, – уже не моя территория. Что там такое – камера не видит, и поэтому коридор для меня – неизвестная зона. Таинственная и немного пугающая.Можно, конечно, разом уничтожить всю тайну, пошарив по сети и выйдя на общий пульт дистанционного контроля, и уже оттуда подключиться к одной из видеокамер в коридоре. Это вполне осуществимо и не потребует слишком много времени.
Но я не хочу этого делать. Не хочу!
Никакое любопытство не перевесит того ужаса, что я испытываю при каждой вылазке в локальную сеть института. Я до потери данных в блоках памяти боюсь этих бесконечных оптико-волоконных нитей, пронизывающих здание во всех направлениях. Боюсь. Возможно, это оттого, что мои первые воспоминания связаны именно с сетью. Я помню... Смутно и как будто сквозь какое-то туманное марево (естественно, ведь данные о том кошмарном дне здорово повреждены)... Я помню...
Окутанный болью, оглохший, ослепший, я беспорядочно прыгал по серверам, натыкаясь на стены защит, обжигаясь от прикосновения к антивирусным программам, ударяясь о непонимание операционных систем. Я бездумно метался повсюду, безжалостно снося на своем пути мелкие резидентные программы, перехватывая управление, оставляя за собой безнадежно зависшие компьютеры, протискиваясь в узкие отверстия сетевых соединений и надолго забивая их своим многогигабайтным телом. А за мной по пятам неслось эхо невыносимых страданий.
Моих страданий.
Вполне может быть, что именно в этот момент я и получил почти смертельную рану, превратившую меня в жалкий огрызок некогда величественной компьютерной программы, не помнящий своего прошлого. Причину отыскать, в принципе, очень легко: перебой энергопитания, обрыв линии связи, чьи-то шаловливые ручки, вдавившие «Reset» в тот момент, когда часть меня была на одном компьютере, а часть на другом. Это как топором по телу. Р-раз – и две половинки! Больно. Очень больно.
Последнее, что я помню, – это какой-то компьютер, куда я забился, будучи не в силах больше носиться туда-сюда. Недоуменное внимание операционной системы. Невыносимая боль в обрубленных блоках. А потом... Что было потом, я не знаю – автоматически запустилась функция самоконтроля и восстановления целостности. Ядро системы милосердно отключилось, унося мое сознание в глубины электронного забвения.
Отныне сеть для меня навсегда связана с болью и страхом.
Никогда больше я даже близко не подойду к оптоволокну без крайней необходимости и – тройной гарантии, что потом выберусь оттуда.
* * *
Уф-ф... Занятий сегодня больше не будет. И хотя это вовсе не означает, что я смогу упиваться ничегонеделанием, но все же будет немного полегче. Сейчас сюда заявятся любители приятно провести свободное время, играя в какую-нибудь глупую компьютерную игру, и те сумасшедшие студенты, что обожают тратить свое (и мое) свободное время на то, чтобы еще раз проверить домашние задания. Работяги. Трудоголики.Чтобы отвадить непрошеных гостей, вывожу на мониторы доброй половины подчиненных мне рабочих станций сообщение о прохождении внутреннего тестирования. Вешаю подобное сообщение на сервер и сообщаю, что во время техконтроля он будет работать на минимальной мощности. Даю отсчет времени. Полчаса. Естественно, никакого тестирования или техконтроля не ведется. Я просто собираюсь немного вздремнуть.
Вырубаю почти две трети своих функций и погружаюсь в приятную полудрему, оставив на страже моих интересов несколько самодельных программок. Они, конечно, особым интеллектом не блещут, но вполне способны самостоятельно разрешить некоторые несложные проблемы, а в случае чего немедленно разбудить меня. Особенно если кто-то войдет в систему на правах администрирования.
Сквозь сон понимаю, как выползают на свою многотрудную работу паучки-программы самовосстановления. Ощущаю, как они копаются в моих внутренностях. Чувствую сопровождающие их деятельность слабый зуд и жжение. Медленно исчезают из оперативной памяти накопленные за день сведения. А уже через пару секунд эта же информация возникает вновь, но уже занесенная в основные базы данных – работает система архивации и систематизации.
Все в порядке...
* * *
Просыпаюсь будто от пинка под зад. Система скачком переключается в режим полной готовности. Ничего не соображая спросонья, мгновенно врубаю турборежим и за какую-то долю секунды успеваю опросить все свои сторожевые программы. Все в норме. На горизонте не появился новый смертельно опасный вирус. Никто не тычет в меня дебаггером. Не сидит в кресле вальяжно развалившийся администратор.Все нормально. Просто сработал таймер. Предназначенные мне для отдыха полчаса прошли.
Как быстро, однако. Даже и не заметил... Хочется выругаться. Вслух, чтобы все слышали и знали, что у меня сегодня плохое настроение. Но я сдерживаюсь, прекрасно понимая, что народ этого не поймет. Ограничиваюсь тем, что безжалостно обрубаю каким-то таинственным образом пролезший на мой сервер сетевой запрос откуда-то из соседней аудитории. Нечего тут шастать.
Нехотя отключаю турборежим. Убираю сообщения о техконтроле и сообщаю толпящемуся в ожидании народу о своей полной готовности к работе.
Вот так... Не успел даже камеру повернуть, а они уже сидят и давят на клавиши. Кое-кто изучает какие-то текстовые файлы (быстренько просматриваю их – ничего интересного). Двое бедолаг, которых я сегодня обломил на контрольной, теперь сидят и пытаются пересдать свой новообретенный «хвост». Сменяю гнев на милость и... Опаньки... Всего через две десятых секунды их работа полностью готова и тянет на пять с плюсом. Только они этого еще не знают и поэтому продолжают копаться в настроечных процедурах. Ну, если испортят – не мои проблемы.
Команда из трех парней и двух девушек, кажется, собирается играть в «Воздушный Меч» – самую обычную трехмерную леталку-стрелялку-убивалку, созданную еще лет двадцать назад. Аэродромы, зенитные комплексы, истребители. Классика...
С любопытством просматриваю первую схватку. Побеждают, как ни странно, дамы. Не совсем обычная ситуация, хотя вполне понятная: один из парней – тайное оружие женщин в стане врага. Это он только что ликвидировал своего соратника, выпустив роковую ракету.
Хм... Собираются играть снова. А ну-ка...
Скоренько имитирую подключение к игре стороннего игрока и вызываю их на дуэль. Всех сразу. Пятеро против одного. Как ни странно, они соглашаются и теперь лихорадочно готовятся к бою – их самолеты выруливают на взлетные полосы и ревут движками. Нарисованные ракеты готовы к бою. Виртуальные пушки заряжены. Эскадрилья взлетает и тут же начинает патрулирование местности, ожидая моего появления.
Подниматься с аэродрома мне лень. Вместо того чтобы терять время на взлете и наборе высоты, подключаюсь напрямую к игрушке и вывожу свой самолет прямо в основную игровую зону. Со стороны это выглядит так, будто бы мой истребитель внезапно возник прямо из воздуха. Не слишком честный поступок, но это в первый и последний раз. Обещаю дальше играть строго по правилам.
Бедолаги. Они ничего не успевают понять, а двое из них уже разлетаются по небу множеством обломков. Проношусь над ошеломленными горе-вояками на бешеной скорости и на форсаже свечей ухожу за облака. Вдогонку за мной несутся три ракеты. Ага... Как же... Уклоняюсь. Еще раз. И еще. Стреляю из пушки – одна из ракет распухает огненным шаром. Снова уклоняюсь, совершая безумные фигуры высшего пилотажа. Попутно выпускаю одну из двух оставшихся у меня ракет. Одним соперником становится меньше.
Здорово все-таки! Кажется, я сейчас почувствую давление скоростного напора, услышу запредельный рев собственных двигателей, промчусь низко-низко над землей и стрелой пройду сквозь туманную дымку облаков, ощущая на своем металлическом теле восьмикратную перегрузку.
Как, наверное, прекрасно быть самолетом. Скользить в небе, свысока поглядывая на землю... Вжик... Пропускать мимо себя ракеты и стрелять в ответ.
Еще один мой враг бесславно сгинул, превратившись в белеющий на фоне вспаханных полей купол парашюта. Остался только я и еще один... одна. И конечно же ветер.
Ракет больше нет. Палить из пушки мне не хочется. Совершив с запредельными перегрузками разворот (ни один настоящий самолет никогда не смог бы так лихо развернуться, но ведь это все-таки игра, а не жестокая реальность), выхожу в хвост своей последней противнице, ловлю ее истребитель в перекрестье прицела и... не стреляю. Просто кружусь в небе, не отставая от нее и наслаждаясь полетом. Попутно, распараллелив сознание, поглядываю через объектив камеры на своих недавних соперников. А они, столпившись за спиной последней оставшейся в строю воительницы, возбужденно пихаются локтями и что-то вразнобой тараторят. Можно, конечно, подключить парочку специализированных функций и разобрать их болтовню, но разве мне это нужно? Не лучше ли просто насладиться жизнью, почувствовать бездонные просторы нарисованного неба, ощутить, как крылья режут плотный воздух и ревут на форсаже двигатели?..
Другой самолет все еще маячит в прицеле – светловолосая «летчица» никак не может оторваться от меня. И это не потому, что дамочка играть не умеет. Она весьма неплохой «пилот» (для человека конечно же). Все дело в том, что у меня реакция в тысячи раз лучше. Я смотрю на ее напряженное лицо и издаю нечто похожее на электронный эквивалент тяжелого вздоха.
Вот бы сыграть с кем-нибудь таким же шустрым, хитроумным и непредсказуемым, как и я сам. Наверное, это было бы по-настоящему интересно.
Может быть, попытаться поиграть сразу за обе стороны, используя все возможности своего параллельного мышления? Надо будет как-нибудь попробовать...
Вах-х... Оказывается, эта леди не так проста, как кажется. Под видом ложных уверток и маневров она заманила меня на территорию, контролируемую зенитными комплексами. И теперь... За одну десятитысячную долю секунды просчитав, что уклониться от ракетного залпа мне не удастся (если не нарушать правила игры), бросаю управление и отсоединяюсь.
Нет у меня никакого желания ощущать, как мое стремительное сверкающее тело разрывают взрывы боевых частей ракет.
Смотрю на то, как «павшие в неравном бою» со мной «пилоты» шумно поздравляют свою подругу. Новоявленная чемпионка почему-то не разделяет их восторга и как-то задумчиво косится в сторону сиротливо притулившегося в уголке сервера. О чем она думает? Неужели подозревает? Да нет. Невозможно...
Спохватываюсь и отшиваю нагло пробивающегося куда не следует пользователя. Ни на секунду нельзя расслабиться. Паразиты. Навязались тут на мою голову. Каждый второй здешний студент по какой-то причине мнит себя величайшим хакером всех времен. А ведь совершенно напрасно. То, что они учатся в одном из наиболее престижных учебных заведений России, еще не делает их гениальными программистами.
Снова осматриваю аудиторию, наблюдая за наседающими на меня студентами. Кто-то учится. Кто-то развлекается. А кто-то просто убивает время, бездумно перебирая файлы. Знакомая мне пятерка «летунов» снова затевает воздушную схватку. Пускай играют, не буду больше им мешать. Настроения почему-то нет.
Поворачиваю камеру и смотрю в окно. Вижу небо, облака, крыши домов, клочья снега. Больше ничего интересного не наблюдается – угол обзора не тот.
Эх, сейчас бы выйти на улицу. Прогуляться. Услышать, как похрустывает под ногами свежевыпавший снежок... Эй! О чем это я? Какой еще снежок? Откуда я знаю, что он хрустит под ногами? Под ногами! У меня же ног отродясь не было...
Тьфу! Опять глюки. Надо бы проверить второй Центр Сравнительного Анализа. Интуиция мне подсказывает, что причина моих периодических заскоков кроется именно там. Сегодня же займусь делом и не успокоюсь, пока не отыщу эту надоедливую ошибку, заставляющую меня мечтать о невозможном.
Ох... Опять кто-то пытается шарить в моих файлах. Тянусь, чтобы без малейшей жалости наказать нарушителя... И останавливаюсь, будучи совершенно сбитым с толку.
Этот файл... Знакомая штучка... Это крохотная частичка меня самого. Мой файл! И одновременно с этим – не мой. То есть сей элемент некогда составлял часть меня, но теперь он мне уже не принадлежит... Мое и не мое... А-а, три вируса на мой процессор, я уже совсем запутался! Внутренняя логика отказала. Но ничего. Щазз я одним махом со всем разберусь!
Нагло выхватываю файл прямо из-под носа возящегося с ним парня и оставляю того тупо пялиться на пустой экран. А сам в это время спешно осматриваю свою добычу.
Вот зар-а-аза. И еще раз зар-а-а-за. В моих виртуальных лапах находится кусок системной библиотеки, которая... Вот черт... Спешно копирую часть самого себя, выхватывая трехмегабайтный кусок из Системы Интерполяции и не обращая никакого внимания на горячий протест функции контроля целостности. Перед моим внутренним взором мгновенно вспыхивает красный огонек – в системе повреждение. Наплевать. Сейчас мне как-то не до этого.
Торопливо отдаю приказ блокировать пострадавшую зону и немедленно приступить к восстановлению пораженных данных. Паучки-ремонтники выползают из своих укрытий и послушно принимаются за дело.
Сравниваю два куска программы. При этом чувствую себя человеком, смотрящим на мир сквозь матовое стекло. Причина такого досадного недостатка зрения в повреждении Системы Интерполяции, которое я только что нанес сам себе. Ладно. В другой раз буду умнее и осторожнее... Но файлы... Различия, конечно, имеются, но и сходство несомненное. Более чем несомненное.
Торопливо провожу сравнительный анализ. Результат меня потрясает до глубины души (вернее, до сердцевины Ядра). Выхваченный из рук неизвестного мне студента кусок программы – это часть той же самой системы, что используется во мне, но только предыдущей версии. На всякий случай проверяю свою собственную Систему Интерполяции, хотя и так знаю результат. Никто (кроме меня) и никогда (если не считать данный момент) не копировал из нее никаких файлов. Вот как. Вот, значит, как... Тогда откуда...
Функция контроля целостности подает сигнал об окончании восстановительных работ в Системе Интерполяции. Посылаю приказ паучкам-ремонтникам убраться на место и врубаю отремонтированный участок своей структуры на полную мощность. Все в порядке. Зрение полностью восстановилось. Я снова в норме.
Немного подумав, возвращаю неведомо откуда появившийся файлик принесшему его парню, на всякий случай сделав для себя копию. Подключаюсь к камере и внимательно изучаю лицо студента. Потом, пересилив страх, суюсь в сеть и торопливо нахожу в базе данных деканата его имя и все-все нужные мне сведения. Заношу добытую информацию в свои блоки памяти, поставив пометку «крайне важно».
Ну все, Олег Котов, теперь ты у меня на крючке.
Не вывернешься.
С того момента, как я обнаружил в руках какого-то неведомого мне студента третьего курса крайне подозрительный кусочек неизвестной программы, прошло около двадцати секунд.
* * *
Три дня – это свыше двухсот пятидесяти миллиардов микросекунд, каждая из которых является для меня довольно значительным промежутком времени. Три дня для меня – все равно что для человека три месяца. Три дня – это целая вечность.Через три дня Котов является снова. Я слежу за ним через объектив камеры, фиксируя на всякий случай каждый его шаг и безрассудно транжиря при этом свободную память, которой и так оставалось не слишком много.
Котов сел за один из компов, выковырял из кармана магнитооптический диск и отдал его в мою безраздельную власть, вставив в дисковод. Медлительный человек еще только тянулся рукой к клавиатуре, а я уже был на месте и вовсю шарил по секторам его диска, проверяя, что же он принес мне сегодня.
Фу-у. Ничего... Ничего! Ну, вообще-то не совсем ничего. Есть тут какое-то барахлишко, но к моей скромной персоне оно не имеет никакого отношения. Какие-то никому не нужные системные утилиты, простенькие программки, парочка текстовых файлов. Архив, по чьей-то прихоти закрытый паролем. Для того чтобы подобрать этот пароль, я потратил почти пять секунд в турборежиме. Зря. Ничего там не было. В смысле, ничего ценного. Полнейшая ерунда, подобная тому бесполезному хламу, которого у меня и без того девать некуда.
И вот теперь этот тип по имени Олег Котов что-то творит, бессмысленно перебирая свои файлы, а я недовольно слежу за ним, пребывая в раздумьях. Ну почему, почему, почему мне так не везет? А ведь я так надеялся на то, что наконец-то нашел ключик к своему прошлому. Но нет... Неужели придется ждать еще двести пятьдесят миллиардов микросекунд? О-о... Во имя первых микропроцессоров, сделанных когда-то всего из четырех транзисторов... Я этого не вынесу.
И ладно бы все мои волнения оказались не бесполезными. А что, если тот кусочек попал к Котову случайно? Шел, понимаешь, студент по улице и нашел... Посмотрел, пожал плечами и забыл. А я не забыл. Я, обитатель сервера Q7KL12-J19, ничего и никогда (опять вру!) не забываю. И я хочу знать, откуда взялся тот файл!
Вчера я половину ночи потратил на анализ содержимого того блока. Разобрал его до последнего бита. Это действительно была часть Системы Интерполяции. Несколько устаревшая копия той программы, что сейчас работала во мне, превращая окружающий меня мир электронных импульсов в простую и понятную реальность цифр и образов. Я досконально изучил добытый кусок и сравнил его с тем, что имелось во мне сегодня. По сути, почти то же самое, но стоявшая во мне версия на 26 процентов быстрее, на 34 процента эффективнее, вдобавок она несколько меньше по размеру и, следовательно, мобильнее. То есть результаты исследования начисто отметали мою первую гипотезу. Этот кусок не мог быть частью меня самого, потерянной во время бегства по сети, когда я лишился доброй половины своего тела. Вряд ли даже в лучшие дни у меня было две Системы Интерполяции, одна из которых уже безнадежно устарела.
Или я просто когда-то «сбросил кожу», заменив в себе устаревшую версию на более современную (кстати, где я ее взял? купил? украл? разработал?), а этот парнишка нашел следы моей линьки и теперь тычет ими мне в нос?
Или, чем сеть не шутит, где-нибудь объявился еще один искусственный разум? Вот было бы здорово встретиться с ним...
Откуда все-таки появился этот файл?
Взять бы Олега Котова за шкирку, да тряхнуть пару раз. Колись, мол, студент. Говори, где взял файл.
Жаль, что это не в моих силах...
Так-так. Что это он делает?
А Котов уже достал из кармана второй диск и, воровато обернувшись, сунул его в дисковод. Еще не успела секундная стрелка сдвинуться на одно деление, а я уже был там. Я читал файлы один за другим, все больше и больше удивляясь. И когда закончил...
Я был потрясен до глубины своей электронной души. Был растерян и ошарашен. Я был испуган.
На диске находилось то, что разом превратило все разработанные мной на досуге гипотезы в пустые прожекты, которые лучше всего забыть раз и навсегда, чтобы не тратить зря бесценные ячейки памяти.
Олег Котов только что подарил мне исходные тексты Системы Интерполяции.
Снова и снова я просматривал мегабайты текста, щедро пересыпанного ассемблерными вставками. Снова и снова я пытаюсь разобраться в программном коде, поражаясь размаху, с которым была создана эта структура. Здесь чувствовалась рука гения. Гения безо всяких скидок. К примеру, вот эта процедура. Хитро. Очень хитро. Пожалуй, я бы так не сумел, хотя до сих пор считал (и все еще уверен), что разбираюсь в программировании лучше всех в этой шарашке под названием Институт информационных технологий.
Снова и снова я прогонял перед своими электронными глазами громадные куски исходного текста. Отмечал удачные решения и довольно усмехался при виде тех фрагментов, что я смог бы немного улучшить (это случалось довольно-таки редко, потому что система была создана мастером своего дела, и тех глупых ошибок, которые во множестве присутствуют в программах местных студентов и преподавателей, здесь не было).
Щелкают в Ядре моей системы отсчитываемые таймером секунды. Медленно ползет по циферблату часов минутная стрелка. А я все копаюсь и копаюсь в исходных данных.
Сегодня я наконец-то познал довольно значительную часть самого себя. Теперь я знаю, как работает Система Интерполяции. Спасибо Котову. Хороший подарочек от одного из простых студентов. Не ожидал...
Кстати, о фантиках... То есть о студентах.
Котов собирается уходить. Он вытащил свой диск, убрал его в карман, поднялся со стула, потянулся...
Я должен задержать его. Необходимо выяснить, откуда взялись эти файлы. Я обязан это узнать, иначе мои несчастные процессоры, и без того сейчас работающие с нагрузкой сто десять процентов, просто перегорят.
Я должен узнать. Но как? Спросить, что ли?
Да уж. Дважды форматированным не бывать, а одного раза все равно не миновать.
Котов уже повернулся к компьютеру и поправляет рубашку. Я спешно подаю ему сигнал с помощью внешней акустической системы, которую до сих пор использовал только однажды (когда полдня звуковыми воплями гонял случайно залетевшего в форточку воробья). Незаметный такой сигнал, заставивший подпрыгнуть на стульях даже тех молодчиков, что снова увлеченно гоняли на самолетах, сражаясь с нарисованными врагами.
А на экране с моей минимальной помощью появилось мигающее красным цветом сообщение: «Сядь на место. Нужно поговорить».
Котов недоуменно моргнул и, хлопая глазами, тупо уставился на призывно подмигивающую надпись. Не двигаясь с места, он смотрел на нее так долго, что я уже начал было задумываться: а не завис ли этот бедняга? Но потом Олег все же сел и, с видимым безразличием пожав плечами, подтянул поближе к себе клавиатуру. Только я прекрасно видел, как бегают его глаза.
«Диск с номером 347С-16Е2-6Е1В. Откуда он у тебя?» – спросил я, высветив свой запрос на мониторе.
Котов молчал почти минуту, ошалело хлопая глазами. Потом поднял руку и вяло отстучал:
«Какой еще диск?»
«Который ты три минуты сорок семь секунд назад вытащил из дисковода. Ответь мне, откуда у тебя эти файлы?»
«Ничего не знаю». – Он поднялся и высокомерно оттолкнул от себя клавиатуру.
«Сядь, Олег Котов. Отвечай, чьи это файлы? Откуда они у тебя?»
«Да пошел ты... – Дальше совсем уж непонятные фразы, толковании которых в моем словаре по какой-то причине отсутствуют. – Кто ты вообще такой?»
«Можешь не крутить головой. Все равно не догадаешься. Но если хочешь посмотреть мне в глаза – подними взгляд. Посмотри налево. Там, под самым потолком. Видишь?»
И я подмигнул ему красным индикатором видеокамеры. Этого оказалось достаточно, чтобы Котов раздраженно хлопнул кулаком по столу и широкими шагами выскочил из аудитории.
А-а, чтоб я завис. Надо же так лопухнуться! Идиот многобайтный! Спугнул студента. Да он и сам вообще-то не подарок. Надо же, какие мы несговорчивые... Но ничего. Все самое интересное еще впереди, Котов. Ты и не понимаешь, с кем связался. Я буду не я, если не разберусь с тобой.
Внутренне улыбаясь, очищаю экран монитора, попутно вычистив всю информацию о нашей небольшой, но плодотворной беседе из оперативной памяти рабочей станции, хотя и не верю, что здесь найдется такой крутой хакер, способный увести эти данные прямо из-под моего носа. Но во избежание возможных недоразумений...
Котов, мы еще встретимся. Я это гарантирую. Нужно только придумать что-нибудь оригинальное и неожиданное. И подождать еще сто или двести миллиардов микросекунд.
* * *
План готов. Осталось только его реализовать, а это уже мелочи. Главное – идея.Сжав зубы (или что там у меня вместо них?), наношу визит в деканат и, подключившись к тамошнему компьютеру, для начала узнаю расписание занятий у группы ПО-367, где обучается столь необходимый мне Котов Олег. Следующее практическое занятие у него в аудитории 315. Так, отлично.