Там, где одни видели абстракцию, другие видели истину (А.Камю).

Основатель CentOS создал совместимое с Linux ядро на языке Rust с помощью искусственного интеллекта всего за 11 дней


Основатель CentOS создал совместимое с Linux ядро на языке Rust с помощью искусственного интеллекта всего за 11 дней

Грегори Куртцер, основатель CentOS и Rocky Linux, представил Ginux — экспериментальное ядро операционной системы, написанное в основном на языке Rust и разработанное с помощью искусственного интеллекта за 11 дней. В отличие от дистрибутивов Linux, Ginux использует независимое ядро, предназначенное для запуска существующих приложений пользовательского пространства Linux без использования ядра Linux.

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

Согласно техническому отчету Kurtzer, за 11 дней разработки одна постоянная задача OpenAI Codex с использованием модели GPT-5.6 Sol сгенерировала около 139 000 строк сохраненного кода для реализации и тестирования.

Несмотря на сжатые сроки, Ginux включает в себя собственное управление памятью, планировщик задач, модель процессов, виртуальную файловую систему, сетевой стек, поддержку устройств и уровень совместимости с Linux ABI. Он предназначен для систем x86-64 и загружается напрямую через UEFI без использования базового ядра Linux.

Одним из заметных достижений является возможность запускать отдельные немодифицированные приложения Alpine Linux с использованием musl и BusyBox, а также программы Rocky Linux с использованием glibc. Прототип также может загружать пользовательское пространство Rocky Linux 10 с systemd через multi-user.target этап.

Что касается совместимости с Linux, Ginux поддерживает 375 системных вызовов из интерфейса Linux 6.12 x86-64. Из них 82 реализованы полностью, 245 — частично, а 48 намеренно не поддерживаются.

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

Ядро, встроенный контроллер администрирования и основные загрузочные компоненты упакованы в один GINUX.EFI образ. Контроллер работает в пользовательском пространстве, а не в пространстве ядра, и управляет конфигурацией, устройствами, сетью и операциями в домене.

На данный момент разработка и тестирование в основном сосредоточены на виртуальных машинах с использованием QEMU/KVM, конфигурацией x86-64 Q35, прошивкой OVMF, Intel IOMMU и устройствами virtio. В репозитории также описано выполнение в режиме эмуляции QEMU на Apple Silicon.

Однако Куртцер подчеркивает, что Ginux остается исследовательским прототипом, а не готовой к использованию операционной системой. Поддержка ABI в Linux неполная, аппаратная поддержка ограничена, а такие области, как сетевое взаимодействие, функциональность файловой системы, контроль ресурсов и безопасность, все еще требуют существенной доработки.

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

Ginux доступен как программное обеспечение с открытым исходным кодом под лицензией Apache 2.0 на GitHub. Те, кого интересует методология разработки и технические аспекты, могут ознакомиться с исследовательским отчетом Куртцера.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала