u/DapperActivity8705

▲ 0 r/osdev

Я разрабатываю свою ос, мне нужны идеи и помощь.

Всем привет, я пишу здесь об этом так как не знаю что добавить. Я делаю собственное ядро на VoidLang основанном на C++, но оно немного кривое, пока что работоспособных прототипов нет (кроме Linux дистрибутива созданного мной 2 месяца назад, в самом начале проекта основанного на спор), вот некоторые изменения файловой системы:

***.vx (ранее .void, это исполняемые файлы по типу .exe)***
***.vkr (новые файлы, модули ядра)***
***.vsec (системы безопасности)***
***.vdat (контейнеры данных вместо .vd)***
***.varc (ранее .xsr, разница в том что новые не сжимают файлы, как можно понять является архивом)***
***.vcfg (файл конфиги)***
***.vme (ранее .vud, файл пользователя)***
***.vsav (файл сохранений)***
***.vth (файл темы)***
***.vlog (файл для логов системы и приложений)***
***.vfn (файл для шрифта)***
***.vsh (скрипты)***
***.vai (файл для ИИ модулей на будущее)***

Дополнительно:

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

  1. Мой VoidLang (HolyVoid) — это не LLVM-проект и не клон C.
    Я не использую сторонние компиляторы для продакшена. Мой язык базируется на синтаксисе C++, но это самописный транслятор, который я называю HolyVoid. Сейчас для прототипирования он конвертирует код (.vc) напрямую в чистый C++, который потом собирается GCC. Это временная мера, чтобы отладить синтаксис. В финальной версии транслятор будет генерировать сразу готовый .vx-файл (мой исполняемый формат) напрямую в байт-код, минуя GCC и LLVM. Никакой LLVM на целевом железе не нужен.
  2. Почему не GCC, не Clang и не общепринятые форматы.
    Я пишу не просто софт, а закрытую экосистему. Каждый файл в ней (.vx, .vkr, .vdat) имеет не только расширение, но и вшитую цифровую подпись. Ядро просто не запустит код, если он не подписан моим ключом разработчика. Использование чужих открытых форматов (ELF, PE) ломает эту модель безопасности на корню. Поэтому все форматы свои.
  3. «Всратость» форматов — это осознанный архитектурный выбор.
    Новые форматы (.vx, .vkr, .vdrv, .vfeel, .vsoul, .vdat, .varc, .vcfg, .vme, .vsav, .vth, .vlog, .vfn, .vsh, .vai) — это не рандомный список. Каждый тип имеет свою структуру заголовка с магическим числом и своё место в системе. Драйверы разделены на классы (.vdrv для стандартных устройств, .vfeel для сенсоров, .vsoul для ИИ-ускорителей), чтобы ядро могло их изолировать. Это не неудобно, это дисциплина.

Если у вас есть технические вопросы по архитектуре микроядра, по системе объектов Void или по модели безопасности — задавайте. Я отвечу, когда смогу. Интернет нестабилен, но проект жив.

reddit.com
u/DapperActivity8705 — 1 day ago
▲ 0 r/Operatingsystems+1 crossposts

Я разрабатываю свою ОС, мне нужны советы

Всем привет, я пишу здесь об этом так как не знаю что добавить. Я делаю собственное ядро на VoidLang основанном на C++, но оно немного кривое, пока что работоспособных прототипов нет (кроме Linux дистрибутива созданного мной 2 месяца назад, в самом начале проекта основанного на спор), вот некоторые изменения файловой системы:

.vx (ранее .void, это исполняемые файлы по типу .exe)
.vkr (новые файлы, модули ядра)
.vsec (системы безопасности)
.vdat (контейнеры данных вместо .vd)
.varc (ранее .xsr, разница в том что новые не сжимают файлы, как можно понять является архивом)
.vcfg (файл конфиги)
.vme (ранее .vud, файл пользователя)
.vsav (файл сохранений)
.vth (файл темы)
.vlog (файл для логов системы и приложений)
.vfn (файл для шрифта)
.vsh (скрипты)
.vai (файл для ИИ модулей на будущее)

Могу ответить на некоторые вопросы как смогу, но не обещаю что буду отвечать часто, в регионе отключают интернет.

reddit.com
u/DapperActivity8705 — 1 day ago