Шрифт:
Закладка:
Всё использованное — это, разумеется, неидеальные решения, но проблема в том, чтобы вырваться из замкнутого круга написания программ в кодах, мне нужно набрать некую критическую массу решённых задач. Приходится пока приносить жертвы в угоду простоте реализации.
Со всей этой вознёй я составляю список аппаратных доработок, который я планирую доделать в первую очередь: аппаратная поддержка примитивов синхронизации, аппаратная поддержка системы выделения памяти без блокировок и так далее.
В результате, к десятому дню от запуска программы репликации, когда компьютер построил уже около семидесяти слоёв CPU, я доделал наконец функции управления памятью и реализовал простейшую базу данных: ключ-значение. Ключ — это имя файла или каталога, а значение — это его содержимое. Если в записи хранится каталог, то содержимое это такая же база данных.
В таком, радикально упрощённом, виде у меня появилась файловая система. Производительность её крайне мала, поскольку и для выделения памяти и для работы с именами используются блокировки, но пользователей пока очень мало и для старта нас всё это устроит.
В ходе всех этих работ, а так же наших с ним занятий, у Косма наконец получилось использовать два сознания и он начал помогать нам с Этерой более активно.
К пятнадцатому дню от запуска проекта мы занимались созданием интерактивного терминала, показывающего текстовые файлы на виртуальном экране. Находясь в состоянии глубокого погружения в Суть и астрал, мы мало обращали внимание на то, что происходит вокруг и, возможно, если бы мой Драко не пожаловался на происходящее, так бы и погибли.
— Драко говорит, что ему не хватает энергии. — сообщил я Эт, глядя в терминал.
— Ну и что? Возьми из Сути! — буркнула она, пытаясь наладить обратную связь между положением виртуального курсора на экране и мысленным управляющим воздействием.
— Кажись мы вляпались. — пожаловался я. — Не получается остановить процесс!
— Что-о? — воскликнула Эт и тоже выскочила в обычную реальность.
Мы валялись на нашей кровати, а рядом с нами висело Оно. Чёрное, втягивающее в себя всё вокруг, нечто. Это нечто пожирало энергию из окружающей среды, висело почти рядом с нами и, кстати, оно уже сожрало крышу нашего импровизированного домика.
— Не останавливается! — сокрушённо повторил я ещё раз.
— Это что, врата? Как они здесь оказались? — спросила Эт.
— Нет, это наш компьютер. — ответил я, продолжая попытки остановить процесс репликации.
— А что с ним происходит?
— Он растёт, но ему не хватает энергии Сути. Получается, что он начал забирать её из окружающего пространства. Похоже, эльфы не смогут уничтожить Рею! — мрачно пошутил я.
— Почему?
— Потому, что её уничтожим мы. 2 в 92 степени ядер делают новые ядра. Через три с половиной часа их количество удвоится. Через семь часов — учетверится. Думаю, что если процесс не остановить, то планета ухнет в эту чёрную дыру уже к сегодняшнему вечеру.
Я считал, что в Сути бесконечное количество энергии, а оказалось это не так. Когда мы исчерпали энергию Сути поблизости от Орион-128, то он стал забирать её и из нашего пространства.
Вот так вот могло бы выглядеть уничтожение Реи эльфами.
— Что делать?
— Пытаться остановить его!
Я написал программу, проходящую по списку занятых процессоров, останавливающую их работу и перезапускающую себя. Таким образом, программа размножения сигнала “стоп” стала распространяться по ядрам.
— Почему ты такой спокойный?
— Драко удаляет адреналин. Без этого у меня не получалось даже вздохнуть, так страшно стало! — ответил я. — Так! Получается, агрессивность распространения программы репликации значительно выше, чем программы “стоп”, ещё бы: репликацией занимается два в девяносто второй степени процессоров!
Эт, — попросил я, продолжая попытки обуздать происходящее, — погода теперь позволяет, ты пока наведи телескоп на острова Косма, здесь уже скоро всё будет в чёрной дыре. Прыгнем и будем пытаться остановить это оттуда.
У нас уже было такое число ядер, что задача доставить до них информацию о том, что требуется остановиться оказалась не простой! Этера взяла меня за руку, завела в телепорт, а я всё пытался решить этот ребус.
— Ты собирался исследовать Слёзы чтобы ускорять время? — напомнила она мне.
— Ага, только надо было с этого начинать! Теперь уже поздно с этим возиться, не успеем. Так, я немного исправил программу, посмотрим что теперь получится…
— Получается, что тот способ, что ты придумал для борьбы с голодом кмэла нерабочий?
— Ага. Если мы будем брать энергию для него из Сути, то это ничего не изменит… Хм. Он не позволяет мне изменить программу!
— Кто?
— Компьютер! Я начал исправлять ячейки собственно программы репликации: меняю их, а они восстанавливаются обратно!
Чёрт! Шина управления CPU показывает все они заняты! Всё, я полностью потерял над ним контроль!
Я выпал в реальность и заглянул в телескоп, который Этера направила на то, что некогда было нашим пляжем: чёрная дыра была уже несколько километров в диаметре, она захватывала в себя часть гор у берега и значительное количество воды. Вода, попадая в дыру, видимо, пропадала, поэтому сильнейшее течение превратило море в этакую бурную реку, летящую в бездну.
— Что нам теперь делать? — спросила Эт.
— Доступа к управлению больше нет. Остаётся только наблюдать. Девяносто третий слой. — прокомментировал я.
— Как программа могла сама восстанавливаться?
— Не знаю… Смотри, оно загорелось!
Чёрная дыра засветилась: сперва в её центре зажглась искорка, затем её яркость плавно увеличилась, она выросла в размерах и через несколько секунд всё это превратилось в этакую яркую звезду, диаметром километров шесть, наполовину погружённую в толщу земли.
— Что это?
— Не знаю, но это утешает. — сдерживать эмоции, даже при помощи Драко, было всё труднее и труднее.
— Утешает, почему?
— Ему не хватает энергии и оно растёт не только количественно, но и меняется качественно. Была чёрная дыра, теперь этакое солнышко. Качественные изменения говорят нам, что процесс может привести к иному результату, чем мы думаем. Может апокалипсис не случится? Может всё как-то само остановится?
— Гляди! Теперь оно покрывается льдом!
Огромный, огненный шар вдруг стало затягивать в лёд. Огонь совершенно не мешал льду, не плавил его: каким-то образом они отлично сосуществовали.
Сперва на светящейся поверхности шара появились отдельные льдинки, затем они стали расти в размерах, соединяясь между собой в большие куски льда,