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

на главную

Жанры

Шрифт:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

— Почему?

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

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

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

— Что делать?

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

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

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

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

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

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

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Я – Стрела. Трилогия

Суббота Светлана
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
6.82
рейтинг книги
Я – Стрела. Трилогия

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара

Романов. Том 1 и Том 2

Кощеев Владимир
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25
рейтинг книги
Романов. Том 1 и Том 2

Найди меня Шерхан

Тоцка Тала
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70
рейтинг книги
Найди меня Шерхан

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам

Я – Орк. Том 2

Лисицин Евгений
2. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 2

Мимик нового Мира 10

Северный Лис
9. Мимик!
Фантастика:
юмористическое фэнтези
альтернативная история
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 10

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Кровь и Пламя

Михайлов Дем Алексеевич
7. Изгой
Фантастика:
фэнтези
8.95
рейтинг книги
Кровь и Пламя

Законы Рода. Том 5

Flow Ascold
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5