DEV Community

Paull Knya-z
Paull Knya-z

Posted on • Edited on

Я пропал: самая сложная вещь

Последнее время вы могли заметить что моя производительность упала и гитхаб просто пустой, а посты в dev не сверкают разнообразием, и постоянно не код и paull-kernel, а новички со странными запросами и списки моих ссылок. Что же случилось?


на данный момент snorkel-os и paull-kernel заморожены. Без возможности разморозки и находятся в долгой консервации.


Итак, я нашел реально сложный проект: GEOS. Снова ос? Да. Но вначале немного предыстории.


Как только разработка paull-kernel полностью подошла к концу, я поклялся больше НИКОГДА не писать ос, так как прошел через жесть. Но что такое GEOS? Очередная операционная система? Не совсем. Недавно мне стало скучно почивать на лаврах, и я решил найти самый сложный челлендж, сложнее чем написание ОС. Что же это такое? Самой сложной задачей в программировании считается написание своей оперативной системы. Но, видимо не для меня. И я решил найти новое самое сложное задание.


GEOS - дословно genetic engine operating system. Что это значит? Сейчас все объясню.

Это операционная система которая пишет сама себя. Вам кажется бред? Не совсем. Это не у меня в голове хлебушек. Это РЕАЛЬНО сложное задание.

Итак, а как это выглядит и как работает?
Все на самом деле немного проще (нет).
По факту я даже не пишу на NASM, все что мне нужно - это тонна различных пазлов кусков кода. Наверно, не очень понятно. Сейчас подробнее:

  1. Есть программа, наверно на C или python. Эта программа собирает куски nasm кода.

  2. с помощью фитнес-функции ищет самый лучший по продуктивности(без #GP, возможных ошибок компиляции итд).

  3. Дальше самый продуктивный код из 1000 вариантов передается мне, а я его запускаю.

Все максимально просто. Но это не всё. Для совершенства кода позволяется мутация - это небольшие правки, например не 0,1 а 0,3. Небольшие отклонения для поиска лучшего.


Вот собственно весь принцип работы. Ничего сложного нет, но сам факт того, что ос пишет сама себя - это взрывает мозг. Также нужно учесть просчет 1000 вариантов для поиска лучшего. Хотя можно даже искать несколько вариантов.

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

Сложности реализации и почему это сложнее написания ОС.

Когда ты пишешь ос,ты ориентируешься на свои знания,а не на погрешности и просчитывания 1000 вариантов кода. У тебя застывший код. С этим проектом все иначе. Код по разному структурируется, никогда не знаешь что будет. И в этом гениальность - ты можешь искать максимально необычный код, который будет работать в несколько раз лучше твоего. И это прорыв! Потому что ты ищешь не просто вариант кода, а лучший из лучших.


Немного в конце: я хочу чтобы этот проект помог и вдохновил кого-то. Возможно, он не гениальный (у меня 113 iq так что уровень Линуса не ставьте), я просто делаю то, что люблю. Это не повод заработать денег, я абсолютно против денег в творчестве, и тем более в open source. Вы можете заметить, что в гитхаб у меня всегда поставлена лицензия MIT. То есть мой код может взять любой желающий и сделать его лучше. Я всегда хотел этого, и только недавно понял насколько важно.

Хочу попросить не осуждать мои предыдущие статьи, буквально высосанные из пальца. Хотя некоторые из них не были ужасными, не все мне понравились. Поэтому ждали хорошую полную статью - держите, не роняйте.

У меня все.

P.S. многим интересно, какой у меня возраст? Мне 12 лет. Живите с этим.

Happy low-level codding.

Happy codding!

Top comments (0)