Show HN: I wrote an OS in 1000 lines of Zig
Разработчик создал операционную систему всего в 1000 строк кода на языке Zig. Проект демонстрирует минималистичный подход к построению ОС, включая базовые функции: управление процессами, памятью и простой интерфейс. Zig выбран за его безопасность, производительность и низкоуровневые возможности.
Такой лаконичный код позволяет легко изучать и модифицировать систему, что полезно для образовательных целей. Проект подчёркивает, что сложные системы можно создавать без избыточного кода, используя современные языки программирования.
Комментарии (20)
- Создание минималистичной ОС на Zig в рамках 1000 строк кода с базовыми функциями: загрузка, управление памятью, планирование задач и вывод текста.
- Критика и вопросы по реализации: отсутствие консольного вывода, несоответствие README, проблемы сборки на разных платформах.
- Обсуждение технических деталей: формат выходных файлов, поддержка архитектур (RISC-V, ARM), использование библиотек.
- Рекомендации по улучшению: исправить .gitignore, уточнить версии компилятора, дополнить документацию.
- Ссылки на аналогичные проекты и запрос на более глубокий анализ целей проекта и опыта использования Zig.
Writing a Hypervisor in 1k Lines
Я написал учебник по созданию гипервизора с нуля за 1 000 строк кода: 1000hv.seiya.me. Это тип-1 гипервизор для 64-битного RISC-V с расширением H в QEMU. Подойдёт тем, кто уже прошёл OS in 1 000 Lines.
Код на стабильном Rust — без nightly. Сообщество Rust наконец-то добавило всё необходимое, включая inline-assembly.
Идея книги: гипервизор — это «обработчик событий»:
const vcpu = new VirtualCPU(memory);
while (true) {
try { vcpu.resume(); }
catch (e) { handle(e); } // MMIO, прерывания…
}
Он запускает гостевую ОС, перехватывает выходы из VM и возвращается. Это позволяет строить не только классические ОС, но и безопасные среды вроде gVisor или Hyperlight.
Книга уже доступна онлайн. Приятного кодинга!
Комментарии (9)
- RISC-V можно полностью виртуализировать методом «ловушка-и-эмуляция» без аппаратного расширения, но обход таблиц страниц будет медленным.
- @drob518 уточнил: обход таблиц страниц выполняется программно, а не аппаратно.
- @nerpderp82 спросил, можно ли использовать RVV для обхода таблиц страниц.
- @anchovy_ попросил литературу по гипервизорам; @dmitrygr дал ссылки на академическую теорию и практику VMware.
- @TZubiri посоветовал учиться по документации производителей и исходному коду, а не по университетским книгам.
AnduinOS 💬 Длинная дискуссия
AnduinOS — лёгкий, приватный, бесплатный дистрибутив на базе Ubuntu.
ISO 2 ГБ, GNOME-оболочка, Flatpak-приложения, никакого слежения.
Совместим с пакетами Ubuntu, подходит для работы, игр, сервера и обучения.
Версии
- LTS 1.1 (Noble Numbat) — до апреля 2029, GNOME 46, ядро 6.11, стабильность.
- Standard 1.3 (Plucky Puffin) — до января 2026, GNOME 48, ядро 6.14, новейшие функции.
Ссылки
«Переход с Windows прошёл безболезненно, система лёгкая и красивая» — пользователи.
Комментарии (179)
- Многие спутали название «AnduinOS» с «ArduinoOS».
- Это одиночный проект китайского инженера Microsoft: ремикс Ubuntu с GNOME, стилизованным под Windows 11.
- Критика: «distro-дистро-дистро» не заслуживает звания OS, не ясен уникальный посыл по сравнению с Mint/Ubuntu.
- Плюсы: простая установка Flatpak, может помочь консервативным пользователям перейти с Windows.
- Минусы: нет ARM-сборки, в скриншотах замечен сомнительный WPS Office, отсутствует описание отличий от Ubuntu.