Выбрать главу

“В общем, пусть и в зачаточной форме, операционная система Ориона-128 должна уметь перемещать память между процессами.” — подумал я и стал прорабатывать этот вопрос.

Но затем, чем дольше я размышлял, тем больше убеждался, что поддержка виртуализации памяти нужна только в случае жёсткого её недостатка. Если я попытаюсь сделать минимальный блок памяти, скажем размером в 4 миллиарда ячеек, то мне придётся дать возможность делать индексы длиной до 2^96 слов. Запредельный оверхед!

Это уже получается вторая как бы философская проблема при построении компьютеров, решение которой я просто отбрасываю.

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

Поскольку для меня ни та ни другая проблемы не актуальны, то я могу просто выбросить их решение из головы. Если вдруг мне не хватит 128 битного пространства, я ведь могу перейти на 256-битное! Нужно строить первый десяток ядер и идти к тому, чтобы Орион-128 начал строить сам себя!

От этих размышлений меня отвлекла Кора, внезапно повернув мои мысли в плоскость, до которой я сам бы не додумался.

— Насколько я понимаю, твой компьютер — это исключительно плетение. А почему? — спросила она.

— Э? — остановился я, сбитый с толку непонятным вопросом. — А какой он ещё должен быть по твоему?

— Чародейский. Магия без плетений.

— Как это так? Компьютер и магия без плетений? — опешил я.

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

— Так.

— Ты говорил, что нужно пытаться совмещать чародейство с магией.

— Говорил.

— Тогда почему ты тоже собираешься делать компьютер исключительно как плетение? Почему ты не рассматриваешь вариант построения чародейского компьютера?

— Что-то я тебя не понимаю. Я чувствую что ты дело говоришь, но не могу ухватить суть. Объясни? — попросил я.

— Вот, смотри. Шип. — Кора сплела Шип, которому учил её я. — А вот ледяной Шип. Ледяной в разы эффективнее!

— Ты предлагаешь… — Я замолк поражённый огромностью той мысли, что наконец вошла в мою голову.

— Добавить льда и огоньку в плетение компьютера. Да, я предлагаю сделать именно это!

— И что получится? — спросил я.

— Откуда я знаю? Когда ты впервые добавил в Шип льдинку, то ты не знал что получится. А потом ты ещё пробовал подпустить в него огоньку. Нужно сделать это и посмотреть что будет.

— Кора, Корушка ты моя умная! Посиди здесь, я сейчас!

Я выскочил на улицу. Нет, времени нет! Я телепортировался на рынок в Баанг-Уудэ, выскочил у цветочной палатки, купил большой букет цветов, а затем телепортировался назад, выйдя около нашего номера. Встав перед дверью я три раза стукнул по ней костяшками пальцев.

— Кто там? — спросила Кора.

— Откройте пожалуйста! — попросил я.

Когда дверь открылась, я вошёл, вставляя в её руки букет.

— Ой! Это мне? — воскликнула она.

— Самому умному цветочку — сюрприз!

— Я же говорила, что у нас получится настоящий цветочный год! — Она окунула носик в лепестки.

— Только вот Этеры здесь не хватает! — пожаловался я.

— Пока мы в Цехине, придётся поскучать по ней!

— Поскучаем! — повторил я, целуя её щёки.

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

Радио-86РК собирает всё это около полутора часов. Но этот прототип моего компьютера работает всего на частоте 1 килогерц. Уже запустив плетение в работу, я вспомнил, что мне же нужны часы! Чтобы двигать магическими экструдерами нужно задавать скорость перемещения, а для этого надо опираться на измерения времени. Прерываний у меня нет, следовательно, чтобы дойти до саморепликации моему Орион-128 нужно сразу делать два ядра.