01.12.2021

Проект Illumos, продолжающий развитие OpenSolaris, прекратит поддержку архитектуры SPARC

Разработчики проекта Illumos, продолжающего развитие ядра, сетевого стека, файловых систем, драйверов, библиотек и базового набора системных утилит OpenSolaris, приняли решение прекратить поддержку 64-разрядной архитектуры SPARC. Из доступных для Illumos архитектур остаётся только x86_64 (поддержка 32-разрядных систем x86 была прекращена в 2018 году). При наличии энтузиаcтов появится возможность начать реализацию в Illumos более актуальных современных архитектур ARM и RISC-V. Прекращение поддержки устаревших систем SPARC позволит провести чистку кодовой базы и избавиться от специфичных для архитектуры SPARC ограничений.

Среди причин отказа от поддержки SPARC отмечается отсутствие доступа к оборудованию для сборки и тестирования, при невозможности обеспечить качественное сопровождение сборки с использованием кросс-компиляции или эмуляторов. Также упоминается желание задействовать в Illumos современные технологии, такие как JIT и язык Rust, продвижению которых мешают привязки к архитектуре SPARC. Прекращение поддержки SPARC также даст возможность обновить компилятор GCC (сейчас для поддержки SPARC проект вынужден использовать GCC 4.4.4) и перейти к использованию более нового стандарта для языка Си.

Что касается языка Rust, то разработчики намерены заменить некоторые программы в usr/src/tools, написанные на интерпретируемых языках, на аналоги, реализованные на языке Rust. Кроме того, планируется использовать Rust для разработки подсистем ядра и библиотек. Сейчас внедрению Rust в Illumos мешает ограниченная поддержка проектом Rust архитектуры SPARC.

Прекращение поддержки SPARC не повлияет на актуальные Illumos-дистрибутивы OmniOS и OpenIndiana, которые выпускаются только для систем x86_64. Поддержка SPARC присутствовала в Illumos-дистрибутивах Dilos, OpenSCXE и Tribblix, из которых первые два уже несколько лет не обновлялись, а Tribblix забросил обновление сборок для SPARC и с 2018 года переключился на архитектуру x86_64.

Источник.