Комментарии 26
До замены "настоящих" ОС Redox пока очень далеко. Она делается с прицелом на "полноценность", т.е. это не игрушечная поделка, но пока о какой-либо продуктовости говорить смешно. Это не MVP, а PoC.
На текущий момент она даже не поддерживает selfhosting, т.е. собрать Redox из-под Redox нельзя (и даже просто бинарь, запускаемый на Redox, емнип нельзя из-под Redox собрать, а надо из-под линукса). Поддержка железа в довольно плачевном состоянии (usb хабы не поддерживаются, точпады не поддерживаются, видео через svga/uefi на старте настраивается и в процессе работы разрешение экрана не сменить, аудио - ac97 или intel hda, несколько моделей сетевых карт и все, bluetooth нет, wifi нет). Нет поддержки динамической линковки...
40 человек в команде - это звучит гордо, но как и в любом OpenSource проекте это число ничего не значит. Фактически есть 2-3 человека, которые весьма активно работают над проектом и кучка интересующихся, которые иногда что-то поделывают (справедливости ради, это что-то может быть и непростым - прямо сейчас один такой интересующийся взялся пилить поддержку usb хабов и вроде как это довольно шустро продвигается). Проект получает донаты, поэтому часть более сложных вещей делаются на платной основе (RSoc, типа GSoC но только R - так, например, была сделана упомянутая в статье поддержка virtio).
Хочется надеяться, что проект станет популярнее и положительная обратная связь (популярность -> разработчики -> популярность) заставит его развиваться активнее.
"Настоящих" OS полно - начиная с кучки *BSD и заканчивая чуть менее "настоящим" но тоже вполне себе Plan9. Без какой-то критичной фишки шансы новой ОС попасть в "прод" (на реальные сервера или десктопы юзеров) находятся очень близко к нулю. Причём это должна быть не внутренняя фишка (микроядро/rust/etc. - таких фишек выше крыши в Plan9 и это явно не сработало), а что-то реально полезное юзерам (полезного в теории тоже хватало в Plan9, но практика важность этих фич для юзеров не подтвердила). Есть ли такие фишки в Redox? Если нет, то единственный реальный шанс для новой ОС - целиться на конкретный рынок встраиваемых устройств/одноплатников/роутеров/etc. (туда, где решение о её использовании будет принимать довольно узкий круг лиц).
По идее, этими фишками могут стать "неубиваемость" (за счёт микроядра и крайне малой вероятности крешей, как в условном qnx) и "невзламываемость" (за счёт модели работы rust с памятью и почти полного отсутствия связанного с этим проблем с переполнениями и всем подобным), но вряд ли одних этих фишек достаточно
Возможно им имело бы смысл запускать ядро линукса в дочернем процессе и обеспечить совместимость со всем софтом и потихоньку переписывать и пересаживать народ на свои безопасные версии api, но не уверен что такой интероп достижим и ядру линукса понравится быть под надзором строгого "взрослого" без спецэффектов )
Неубиваемость "продать" будет сложно - линух вполне стабилен. Может не по критериям софта для космоса и атомных станций, но для всего остального его качества достаточно и никто не пойдёт на неудобства связанные с новой ОС чтобы это качество ещё дополнительно повысить если разницу всё-равно заметить проблематично.
Невзламываемость - это уже интересно. Но для этого мало самой ОС, тут нужно весь софт на расте переписать - и в это уже мне не верится от слова совсем. И даже надежды на то, что невзламываемость защитит от уязвимостей относящихся именно к ядру ОС (вроде получения рута) на 100% - нет. Потому что ещё бывают логические ошибки (от которых раст не спасает) и хардварные уязвимости (которые и без рута дадут украсть секреты из соседнего процесса).
"невзламываемость" (за счёт модели работы rust с памятью и почти полного отсутствия связанного с этим проблем с переполнениями и всем подобным)
В пору писать статю о том, что переполнение буфера - далеко не единственная причина взломов. Да, она на сегодняшний день самая популярная (и популярна она, безусловно, далеко не просто так). Но это отнюдь не говорит о том, что она единственная, устранив которую мы закроем все вопросы со взломом.
Плюс пока очень мало статей, который реально смотрят что там на выходе Rust получается в ассемблерном коде. Но те, которые есть, тонко намекаю что и с переполнениями там не все хорошо и даже эта киллер-фича не спасет от человека с дебаггером или умеющего написать лоадер.
По сути - я рад за сообщество Rust и желаю проекту развития и процветания. Идеи заложены очень красивые. Потенциал огромный.
Кроме того, разработчики использовали для своей ОС принцип «все есть URL».
Кроме того, удалось упростить процесс портирования софта с Linux/BSD систем. Например, разработчики решили перейти на обычный для Unix формат файловых путей вместо URI, который применялся ранее.
Не понял. Так они перешли на "всё есть URL" или нет?
во всё есть url походу потом даст немало неожиданостей и port_io:// создаёт свои приколы
Благодаря тому, что микроядро и все компоненты написаны на ассемблере и Rust, разработчикам удалось снизить вероятность возникновения багов и уязвимостей.
Ну про раст понятно, но ассемблер то каким боком к защите от уязвимостей ?
Достойный проект. На таких проектах кстати отлично проверяется и пригодность самого языка (Rust), и возможно за счет обратной связи вносить какие-то улучшения в язык.
Только вот непонятно как прикручивать образ для виртуальной машины к virtualbox'у. Нагуглил что можно сконвертировать в vdi командой VBoxManage convertfromraw --format VDI [filename].img [filename].vdi
но в результате все равно получается что-то не то. Лучше бы сделали стандартный формат ova.
Я удивлен что из сотен полекта ОСдева 99% пытались сделать десктопную ОС. И никто не попытался сделать серверный ОС.
Казалось бы это проще в десятки раз и рынок для этого огромный, но до того что людям сервер нужен додумались только единицы. Как понимаю создатели Редокс как раз серверный вариант еще подготовили.
Вот тоже об этом подумал
Десктоп со слабой совместимостью даже с линуксовым софтом нафиг не нужен, как и в целом десктопный Линукс, судя по статистике. А тут речь идёт о проценте от этого маленького процента
Я у них сегодня в чате спросил что там с докером, ответили что зачем-то есть несовместимый ограниченный аналог, а о портировании докера пока что только ресерчат. Хотя, по идее, первым делом надо бы вместо всякой GUIни... А с другой стороны с GUIнёй легче наглядно показывать массам...
Похоже что NIH-синдром и плохое понимание потребностей потенциального конечного пользователя не обошли и их стороной и это уменьшает шансы на успех. Но, надеюсь, всё же получится дотянуть до вменяемого состояния. Это интересный проект
Почему-то?! Docker - это сугубо линуксовое решение. На платформах, отличающихся от Linux, оно не портируется, а костылится через запуск виртуалки с линуксом. "Несовместимый ограниченный аналог" contain - это скорее аналог jail в bsd или неймспейсов в линуксе. Это один из компонентов, на которых можно, по идее, построить что-то типа докера.
Ни разу не проще. На десктопе можно написать драйвера какого-нибудь встроенного интел видео и звука, которые есть в каждой второй машине. И уже заработает.
Для серверной версии надо сходу поддерживать зоопарк железячных рейдов, экзотических сетевух и прочего непотребства. Без доступа к железу при разработке особо не разгуляешься.
На мой взгляд, ядро ОС было бы правильнее писать на разумном подмножестве C++. К сожалению, в понимании большинства современных программистов, C++ уже не мыслится, как минимум, без исключений и STL, а с ними эффективность ядра недалеко уйдет от Rust, если вообще уйдет.
Почему то специалисты по разным ОС при обзоре Redox (отслеживаем,, изучаем прогресс) предпочитают не упоминать про OS Genode. То ли дело Redox, Rust. А OS Genode? Какая такая OS Genode? Тоже микроядерная? Куча взаимозаменяемых микроядер? Идеи L4, Plan9 тоже? Прослойка стандартного API? Давно уже развивается? Впервые слышим.
Cosmic Desktop, что на Расте написан также используется в Pop_OS. В релиз он пока не вышел, но попробовать альфу уже можно - https://system76.com/cosmic. Для меня Pop_OS! - основной домашний Линукс, и на ней вполне можно работать (мне комфортно). Cosmic десктоп, я ,правда пока не пробовал.
Более того, у них один и тот же основной разработчик, так что такое переиспользование неудивительно. Удивительно, что system76 решило платить деньги за написание с нуля yet another DE, но факт остается фактом.
Вероятно у них есть свой интерес поднять продажи своих ноутов, куда они это хозяйство устанавливают. Я, кстати, почему пользуюсь Pop_OS - в основном из-за беспроблемности. И я так понимаю, что определённая дисциплина разработки таки оказывает положительное влияние. В каждом Линуксе, что я пробовал что-то да не работало - либо WiFi, либо траблы с док станцией, либо NVidia, либо что.то ещё. Это решаемо всё, но вы знаете как это с линуксом. У меня старенький Dell с NVidia, а у system76 есть дистр с вшитым драйвером, и там всё заработало сразу и из коробки, да и система приятная. Кстати, ноуты по слухам тоже неплохие - мой знакомый купил, был доволен как слон.
ну почему же, если доведут до ума - появится альтернатива linux/bsd. а идея "все есть url" - весьма плодотворна, практична и удобна.
Redox OS: операционная система на Rust с микроядром и поддержкой Unix. Что это за ОС?