Чтение онлайн

на главную - закладки

Жанры

Шрифт:

Решив начать с символов размером около одного сантиметра, я смог нарисовать около трёхсот их штук по самой большой окружности вокруг себя.

Первый, созданный нами шрифт, был аляповат, некрасив. Некоторые линии, из которых состояли буквы, были избыточно тонкие или наоборот — жирные. Этера и Косм всё время порывались его переделать, но я останавливал их: впереди ещё такое количество работы, что подобные мелочи можно отложить на более позднее время. Текст получается разборчивым и ладно!

К концу пятого дня, когда плетение репликации

дошло до реализации сорокового слоя CPU (у меня уже почти триллион процессоров!) я доделал некоторое подобие терминала: я могу выводить текст из памяти, на виртуальный экран. Курсора нет, интерактивности нет, но текст уже можно читать!

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

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

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

Первая функция, которую я сделал — выделение памяти по запросу от программы. Чтобы не возиться со сложными алгоритмами, я выбрал самую простую систему аллокации: слаб-аллокатор. Изначально, вся память всего компьютера размещается в одном слаб-блоке. Когда пользователь запрашивает кусок, то первый найденный свободный блок делится на два до тех пор, пока такие деления можно производить. Затем один из полученных блоков возвращается пользователю. При освобождении памяти, смежные пары слаб-блоков объединяются в более крупные, если оказываются свободными.

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

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

В результате, к десятому дню от запуска программы репликации, когда компьютер построил уже около семидесяти слоёв CPU, я доделал наконец функции управления памятью и реализовал простейшую базу данных: ключ-значение. Ключ — это имя файла или каталога, а значение — это его содержимое. Если в записи хранится каталог, то содержимое это такая же база данных.

В таком, радикально упрощённом, виде у меня появилась файловая система. Производительность её крайне мала, поскольку и для выделения памяти и для работы с именами используются блокировки, но пользователей пока очень мало и для старта нас всё это устроит.

В ходе всех этих работ, а так же наших с ним занятий, у Косма

наконец получилось использовать два сознания и он начал помогать нам с Этерой более активно.

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

— Драко говорит, что ему не хватает энергии. — сообщил я Эт, глядя в терминал.

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

— Кажись мы вляпались. — пожаловался я. — Не получается остановить процесс!

— Что-о? — воскликнула Эт и тоже выскочила в обычную реальность.

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

— Не останавливается! — сокрушённо повторил я ещё раз.

— Это что, врата? Как они здесь оказались? — спросила Эт.

— Нет, это наш компьютер. — ответил я, продолжая попытки остановить процесс репликации.

— А что с ним происходит?

— Он растёт, но ему не хватает энергии Сути. Получается, что он начал забирать её из окружающего пространства. Похоже, эльфы не смогут уничтожить Рею! — мрачно пошутил я.

— Почему?

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

Я считал, что в Сути бесконечное количество энергии, а оказалось это не так. Когда мы исчерпали энергию Сути поблизости от Орион-128, то он стал забирать её и из нашего пространства.

Вот так вот могло бы выглядеть уничтожение Реи эльфами.

— Что делать?

— Пытаться остановить его!

Я написал программу, проходящую по списку занятых процессоров, останавливающую их работу и перезапускающую себя. Таким образом, программа размножения сигнала “стоп” стала распространяться по ядрам.

— Почему ты такой спокойный?

— Драко удаляет адреналин. Без этого у меня не получалось даже вздохнуть, так страшно стало! — ответил я. — Так! Получается, агрессивность распространения программы репликации значительно выше, чем программы “стоп”, ещё бы: репликацией занимается два в девяносто второй степени процессоров!

Эт, — попросил я, продолжая попытки обуздать происходящее, — погода теперь позволяет, ты пока наведи телескоп на острова Косма, здесь уже скоро всё будет в чёрной дыре. Прыгнем и будем пытаться остановить это оттуда.

Поделиться:
Популярные книги

Черный Маг Императора 13

Герда Александр
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 13

Муж на сдачу

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Муж на сдачу

Мастер 8

Чащин Валерий
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер 8

Черный Маг Императора 10

Герда Александр
10. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 10

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Баронесса. Эхо забытой цивилизации

Верескова Дарья
1. Проект «Фронтир Вита»
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Баронесса. Эхо забытой цивилизации

Барин-Шабарин 2

Гуров Валерий Александрович
2. Барин-Шабарин
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Барин-Шабарин 2

Бестужев. Служба Государевой Безопасности

Измайлов Сергей
1. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Пять попыток вспомнить правду

Муратова Ульяна
2. Проклятые луной
Фантастика:
фэнтези
эпическая фантастика
5.00
рейтинг книги
Пять попыток вспомнить правду

Барон Дубов 6

Карелин Сергей Витальевич
6. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 6

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма