Rust является новинкой в области языков программирования из-за того, насколько надежна его защита памяти. Однако проблемы, связанные с гонками и утечками памяти, вряд ли можно назвать новыми, и, как обычно отмечают седобородые, они уже были в некотором роде решены: у нас есть Ada. Так что, если вам нужно ядро с защитой памяти, но вас не интересует новый, «ржавый» код, возможно, вас заинтересует ядро Ironclad OS, полностью написанное на Ada.
ЛАДНО, не совсем на классическом Ada.
; они также утверждают, что используют SPARK, но поскольку SPARK и Ada более десяти лет назад сблизили синтаксис, мы будем называть это просто Ada. Однако набор инструментов SPARK означает, что они могут получить это ядро, прошедшее официальную проверку, что является большим преимуществом. Если вы «не разбираетесь в CS», это просто означает, что компилятор может подтвердить, что код будет выполнять то, что мы хотим, при любых возможных условиях», — думаю, мы все можем согласиться с тем, что это хорошая возможность сказать о сути вашей операционной системы. Приятно иметь возможность сказать что-то о любом коде, и это одна из причин, по которой вы, возможно, захотите программировать в Ada.
Это также не то, что мы можем сказать без оговорок о Ironclad OS, поскольку процесс проверки все еще продолжается. Тем не менее, эта высокая цель, безусловно, отличает Ironclad от других проектов с ядром POSIX.
Да, ядро Ironclad OS совместимо с POSIX, как и его аналог Redox OS на базе Rust. Хотя было бы неплохо увидеть какие-то инновации за пределами POSIX (за пределами того, что делает Redmond в наши дни), создание ядра, совместимого с POSIX, безусловно, делает его намного более полезным. Ядро Ironclad OS полностью работает с открытым исходным кодом под управлением GPLv3, без встроенных двоичных объектов. Операционной системе это понравится, а остальные из нас смогут использовать двоичные двоичные объекты, необходимые для работы нашего оборудования в обычном режиме, так что это беспроигрышный вариант.
В настоящее время они ориентированы на RISC-V и x86, тестовыми платформами являются MilkV и LattePanda SBC. Если бы кто-то захотел взяться за проект в одиночку, он, вероятно, смог бы усилить поддержку других архитектур, если в наши дни популярны какие-либо другие SBC. Возможно, PowerPC?
Для поддерживаемых архитектур уже существует полезный (в некоторых значениях этого слова) дистрибутив в виде Gloire, который назван в честь первого океанского броненосца. Изображение в заголовке представляет собой скриншот с X-сервера, работающего на этом дистрибутиве.