LINUX.ORG.RU

Redox — операционная система, написанная на Rust

 ,


5

7

Redox — новая UNIX-подобная операционная система с открытым исходным кодом, написанная на Rust.

Основные особенности:

  • микроядерная архитектура;
  • основная часть кода написана на Rust;
  • имеется опционально включаемый GUI Orbital;
  • библиотека Newlib для программ на C (аналог glibc);
  • лицензия MIT;
  • драйверы работают в пространстве пользователя;
  • доступны распространенные команды UNIX;
  • поддержка ZFS (пока в разработке).

Скриншот

Образы для QEMU и VirtualBox, ISO с установщиком

>>> Подробности

Deleted

Проверено: JB ()
Последнее исправление: cetjs2 (всего исправлений: 14)

Ответ на: комментарий от anonymous

У виндузятников по крайней мере есть Microsoft Reseach

Microsoft Research - просто исследовательская организация.

где они начинают догадываться

Не знаю, о чем они догадываются, но их ОС - игрушки^Wисследовательские прототипы. А barrelfish так даже микроядерная внутри и Unix-подобная снаружи.

tailgunner ★★★★★
()
Ответ на: комментарий от dave

> через 10 лет будет звучать так же ржачно, как сейчас «всё есть файл». Да ниструя!
Уважаемый, это общая концепция конечного автомата: Input -> m (Output, State). Input и Output почему не могут быть представлены как файлы?

Потому что 1) не всё есть КА 2) а зачем нужны абстракции там, где они не нужны?

Я где-то ранее описывал идею, как можно сделать систему модульной, гибкой и без космических абстракций:
Берём Windows Registry и превращаем его в «живой API». Все ветки регистри отвечают за какие-то модули системы, пример:

/HW
    /Sound
    /Storage
    /UserInput
        /Keyboard
        /Touch


Когда драйвер регистрируется в системе, он помещает своё API (стандартизованное насколько это возможно) в соотв. ветку (точнее, это делает система). А далее любое приложение запрашивает, скажем, /HW/UserInput/Keyboard - «дай свой API». В этом API есть две стандартных (для ОС) функции GetInfo и GetKey.
GetInfo позволяет узнать производителя, параметры устройства и т.п. И помимо стандартных есть одна расширенная функция WriteOnExtendedDisplay. Есессно, если приложение умеет с нею обращаться, мы сразу получаем полную функциональность.
То есть получается что-то вроде COM, но по-человечески. И сразу отпадает весь этот дебилизм с линковками и «давайте поддерживать старое API» - мы всегда в динамике и можем даже мэпить старые вызовы на новые функции. А т.к. сам API никакими «абстракциями» не ограничен, он позволяет создавать более гибкий и удобный набор функций, а не адаптироваться под костыли «read/write».

matumba ★★★★★
()
Ответ на: комментарий от tailgunner

Microsoft Research - просто исследовательская организация.

Как и Bell Labs. От того, что ты «просто» дописал, она менее исследовательской не станет.

Не знаю, о чем они догадываются, но их ОС - игрушки^Wисследовательские прототипы.

В этом и суть исследований - сначала думать, потом делать. Финские студенты гуляют лесом.

anonymous
()
Ответ на: комментарий от matumba

То есть получается что-то вроде COM, но по-человечески. И сразу отпадает весь этот дебилизм с линковками и «давайте поддерживать старое API

Этот «дебилизм» никуда не исчезает. Он просто заметается под коврик.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

> Берём линуксовый драйвер на ламповой Сишечке, конвертим в Раст
Ну-ну, и кто же будет заниматься такой интересной работой?

А кто этим занимался всё время существования Линукса?? Энтузазисты, компании.
Если систему грамотно спроектируют и начнут расширять приложениями, железячники сами захотят присоединиться к нарастающему тренду.

matumba ★★★★★
()
Ответ на: комментарий от Desmond_Hume

Интересно, что такое нужно сделать, чтобы согнать меня с гномофедорки на Это?

Всего-то принять Это на государственном уровне как единственное расово-верное решение для личных целей и производства. %) Шучу конечно, сейчас палками забьют! :-D

tracert
()
Ответ на: комментарий от tailgunner

И только вендузятниги поняли Linux.

Учитывая, сколько народу судит о линуксе как о «такой винде, только бесплатной», они-то и «поняли». :-D

Deleted
()
Ответ на: комментарий от anonymous

> сейчас смотрю код Раста - да почти тот же Си, только без маразмов с памятью
Сейчас смотрю код Жавы - да почти тот же Си, только без маразмов с памятью.

Но с одним важным отличием: Жаба - это виртуальная машина! Которая никогда не будет JIT'ить код лучше, чем это может сделать компилятор.

matumba ★★★★★
()
Ответ на: комментарий от anonymous

Microsoft Research - просто исследовательская организация.

Как и Bell Labs

Не так. Почитай выпуск Bell Labs Journal, посвященный Unix - там рассказывалось о применении Unix в продакшене Bell.

В этом и суть исследований - сначала думать, потом делать

Так делать-то они когда начнут? Когда хоть одна ОС от MS Research появится в реальной жизни?

Финские студенты

Как там, в 1994?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

В этом и суть исследований - сначала думать, потом делать

только наоборот - сначала делают а потом думают где это можно применить, попутно тратят много времени и денег.

anonymous
()
Ответ на: комментарий от tailgunner

И только вендузятниги поняли Linux. И Plan9 тоже. И, наверное, из-за этого понимания они ими и не пользуются.

А зачем им эти закосы под говно мамонта? Виндовз технологически на две головы выше этого вашего карго-культа.

anonymous
()
Ответ на: комментарий от zaz

Линукс уже давно не монолитное ядро, это уже давно смешаное ядро. Есть fuse - где драйвера файловых систем работают в юзерспейсе, есть юзерспейс драйвера символьных устройств, есть юзерспейс драйвера сетевых устройств и т.д.

Это всё переделано сбоку и работает через жопу.

Архитектура fuse по жанру должна проходить как комедия, а её производительность — как трагедия.

Линукс — монолитное ядро, и именно как таковое он и выстрелил.

Микроядро и супер-пупер концепции — это всё очень хорошо, пока дело не доходит до боевого применения и вопроса «А сколько подключений в секунду держит ваше ПО на этом железе?»

Deleted
()
Ответ на: комментарий от anonymous

Виндовз технологически на две головы выше этого вашего карго-культа.

Только на две? Давай уже на два порядка голов %)

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

> …НИ ОДНА существующая система не годится для «простого обывателя»…
Простому обывателю наплевать на систему. Простому обывателю нужны вконтактик

Узколобый взгляд. «Наплевать» ему ровно до тех пор, пока свежевоткнутый принтер не начнёт иметь мозг и тогда начинаются крики «пачимуанонипичатает», «Васятыжпрограммист» и т.п. КАЖДЫЙ, кто запускает что-то помимо браузера или использует что-то сложнее пальцетыка, сразу сталкивается с необходимостью дружить с системой и её понятиями. Слово «драйвер» выучили даже тёти из бухгалтерии. :)
21 век нуждается в хорошей системе, где иметь ошибки класса «buffer overflow» или перегружать систему из-за подключенного харда просто стыдно.

matumba ★★★★★
()
Ответ на: комментарий от matumba

Которая никогда не будет JIT'ить код лучше, чем это может сделать компилятор.

Вот только компилятор работает один раз, и собирает обычно под среднепофигистскую платформу. А JIT может собрать под родное железо, и может делать дополнительные оптимизации в рантайме. Например, выкидывать косвенные вызовы, инлайнить «приватный» код из библиотек, и «склеиваить» данные. Но это чисто в теории, конечно.

anonymous
()
Ответ на: комментарий от Deleted

Микроядро и супер-пупер концепции — это всё очень хорошо, пока дело не доходит до боевого применения и вопроса «А сколько подключений в секунду держит ваше ПО на этом железе?»

Бывают и другие вопросы боевого применения. Например, «а покажите, что ваше ядро спроектировано под B2».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Этот «дебилизм» никуда не исчезает. Он просто заметается под коврик.

Значит ты не понял концепции. Или я не понял, где ты нашёл проблему.

matumba ★★★★★
()
Ответ на: комментарий от registrant27492

И как же? Настолько решена, что свет не видел ни одного бечмарка чего-либо более-менее работающего.

Антош, вот от тебя я этого не ожидал! 10 секунд в известной поисковой системе и вуаля: https://os.inf.tu-dresden.de/pubs/sosp97/

shkolnick-kun ★★★★★
()
Ответ на: комментарий от matumba

Этот «дебилизм» никуда не исчезает. Он просто заметается под коврик.

Значит ты не понял концепции.

Скорее ты просто не понимаешь, о чем говоришь. И/или просто не знаешь о версионировании в COM и RPC.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Но это чисто в теории, конечно.

Вот именно :))

anonymous
()
Ответ на: комментарий от tailgunner

На два порядка - это было бы вранье, а две головы в самый раз. Пруф: количество софта и рыночные доли венды и люникса. При этом я снисходительно засчитал андроид за люникс.

anonymous
()
Ответ на: комментарий от matumba

На тебе Розенталем по кумполу!

Не вижу смысла во всяких «o» под «T», fi/fl и прочих кернингах в обычном интерфейсе. Векторные шрифты нужны в браузере (хотя тоже спорно, ситуация могла повернуться иначе), в текстовых процессорах ну может еще в паре программ.

Проблем от натягивания векторного шрифта на пиксельную сетку больше, чем пользы от плюшек векторных шрифтов. ИМХО, убоги как раз шрифты, которые смотрятся нормально на 24", а на 27" превращаются в радугу. Или шрифты, в которых на выбор либо мыло, либо кривая геометрия символа. В итоге имеем, что bitmap-шрифты - это выбор богов! Вектор побеждает только при высоких разрешениях (>300dpi), на низких разрешениях bitmap рулит и педалит. Алсо, зависит от задачи, в терминале и в IDE bitmap-шрифты очень популярны и не собираются сдавать позиции.

кубист

Лучшее сглаживание - это когда не требуется сглаживания! А хинтинг чаще убивает геометрию символа, чем делает хорошо. Поэтому альтернатив не вижу.

anonymous
()
Ответ на: комментарий от matumba

Значит ты не понял концепции. Или я не понял, где ты нашёл проблему.

Всё верно он сказал.

Вам какая принципиальная разница, называется ваше API /lib/libgtk-x11-2.0.so или registry://Library/GUI/GTK/2.0/ ?

Deleted
()
Ответ на: комментарий от tailgunner

Бывают и другие вопросы боевого применения.

У микроядер есть своя крепкая ниша, не спорю.

Deleted
()
Ответ на: комментарий от anonymous

Во вранье про два порядка не поверят, а во вранье про две головы - могут

Починено.

Пруф: количество софта и рыночные доли венды и люникса

Ахаха. Ну да, Windows 95 тоже была выше всех на два порядка голов.

ч0рт, вечно я ввязываюсь в оффтоп :/

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Ахаха. Ну да, Windows 95 тоже была выше всех на два порядка голов.

Ненучо, там менеджер виртуальных машин, мультиплексирующий DOS, Win16 и Win32 — своего рода произведение искусства в стиле постмодерн.

Deleted
()
Ответ на: комментарий от zaz

Линукс уже давно не монолитное ядро, это уже давно смешаное ядро.

Спасибо, я в курсе.

Микроядра отличает минималистичный дизайн, только самое необходимое в ядре, Linux - НЕ МИКРОЯДРО.

есть юзерспейс драйвера символьных устройств

Я даже больше скажу, есть юзерспейс дрова USB-устройств через libusb, сам такие писал...

shkolnick-kun ★★★★★
()
Ответ на: комментарий от matumba

через 10 лет будет звучать так же ржачно, как сейчас «всё есть файл».

Хммм... А мне, честно говоря, концепция «все есть файл» даже нравится! Система этим и уникальна, что в скриптах можно работать с чем угодно и как раз благодаря выбранной концепции. Монитор не файл? Да и фиг с ним! ))

tracert
()
Ответ на: комментарий от Deleted

там менеджер виртуальных машин, мультиплексирующий DOS, Win16 и Win32 — своего рода произведение искусства в стиле постмодерн.

Это было в OS/2, а на концепции виртуальных машин была построена еще VM/370.

tailgunner ★★★★★
()
Ответ на: комментарий от shkolnick-kun

есть юзерспейс дрова USB-устройств через libusb

Только есть терминологический вопрос - можно ли это назвать драйверами.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ну да, Windows 95 тоже была выше всех на два порядка голов

Да, пожалуй тут ты прав. Во всяком случае пользователи ПК сделали однозначный выбор тогда. Ни полуось, ни слюниксы чота не взлетели.

anonymous
()
Ответ на: комментарий от anonymous

Ну да, Windows 95 тоже была выше всех на два порядка голов

Да, пожалуй тут ты прав.

Это классика, я не претендую.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Драйвер файловой системы можно называть драйвером?

Драйвер ФС вроде бы никто не называл драйвером устройства. Ты хочешь быть первым?

Можно ли назвать ФС драйвером, зависит от того, что именно ты называешь драйвером.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от anonymous

от драйвера ФС не требуется гарантированное время реакции на аппаратное прерывание.

exception13 ★★★★★
()
Ответ на: комментарий от shkolnick-kun

То что ПО работает с физическим железом (по средством libusb) не делает его драйвером.

Драйвер это программа реализующая некую абстрацию ОС. Например вы пишете стример видео потока с USB устройства (по средствам того же libusb) - это не делает стример драйвером, это может быть сервис или просто библиотека. А вот если с вашем стримером может общатся любое ПО по средствам системной абстрации V4L - то это уже драйвер (и не важно где он работает в юзерспейсе через libusb или в кернел спейсе).

zaz ★★★★
()
Ответ на: комментарий от tailgunner

Почитай выпуск Bell Labs Journal, посвященный Unix - там рассказывалось о применении Unix в продакшене Bell.

Unix, Plan 9 и Inferno - это все игрушки Bell Labs.

Так делать-то они когда начнут? Когда хоть одна ОС от MS Research появится в реальной жизни?

Дело в том, что виндузятники по крайней мере исправляются со временем. А ляликс как был тупой кучой легасиговна, так ей и останется. И ничто этого не изменит.

anonymous
()
Ответ на: комментарий от anonymous

ляликс как был тупой кучой легасиговна, так ей и останется. И ничто этого не изменит.

Да, да, всё так. Не волнуйся.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Драйвер файловой системы делает драйвером то что он релизует стандартную системную абстракцию (файловую систему), как результат с ним автоматически работают все компоненты системы которые потдерживают эту абстракцию (по сути подситема ядра VFS а уже через нее любое прикладное ПО).

zaz ★★★★
()
Ответ на: комментарий от anonymous

Пруф: количество софта и рыночные доли венды и люникса.

А йуное анонимное трололо и не знает, что в наш просвещённый век грамотный маркетинг значит больше, чем объективные преимущества. Короче, выкатывай конкретные технологические преимущества Шиндошс или пшёл вон, толстячок.

anonymous
()
Ответ на: комментарий от anonymous

Вот только компилятор работает один раз, и собирает обычно под среднепофигистскую платформу. А JIT может собрать под родное железо

К счастью, «среднепофигистская платформа» имеет более-менее устойчивые команды, даже все эти MMX'ы доступны большинству. И дело не только в ускорении за счёт расш.команд, но и в целом - компилятор может сразу создать эффективную CPU-команду, а JIT'у (чтобы сообразить, что три команды вирт.машины можно объединить в одну от совр.проца) нужен целый цикл(а то и несколько) оптимизаций - на это у джита НЕТ ВРЕМЕНИ.

Но это чисто в теории, конечно.

Хорошее замечание. :)

matumba ★★★★★
()
Ответ на: комментарий от anonymous

Не знаю, что ты называешь «программным эмулятором устройства», но таковые в qemu (и их аналоги в OS/2) драйверами не являются и их никто так не называет.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

http://ru.wikipedia.org/wiki/Драйвер

Дра́йвер — компьютерное программное обеспечение, с помощью которого другое программное обеспечение получает доступ к аппаратному обеспечению некоторого устройства.

Когда вы уже начнёте гуглом пользоваться, прежде чем выкатывать свои измышлизмы сообществу?

anonymous
()
Ответ на: комментарий от tailgunner

Не знаю, что ты называешь «программным эмулятором устройства», но таковые в qemu (и их аналоги в OS/2) драйверами не являются и их никто так не называет.

Правда что-ли? :) OpenGL, Postscript, GDI тоже не драйверы? Виртуальные com-порты, cd-rom и т.п.?

anonymous
()

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

Сейчас поищите о последних уязвимостях linux. Вдумайтесь. Уязвимость в какой-то мелкой подсистеме приводит к получению полного доступа к всему ЭВМ!

А в целом, имхо, я думаю, что самым лучшим решением было бы сделать наноядро на провереном Фортране. Сколько уже ему лет, а он остается простым и хорошим решением. Космические станции используя программы на Фортране десятки лет борознят просторы большого театра. Множество провереных алгоритмов, хорошо отлаженных и с нормальной документацией, сам фортран быстр и прост для обучения, легко распараллелится. Что ещё надо?

Всё это могло бы работать поверх хорошего гипервизора на том же Фортране. Всё это крутится на процессоре на MISC(минимальней RISC)-архитектуре. В том числе, подобное разрабатывает и уважаемый в узких кругах человек-пароход Чак Мур.

Все эти системы объединены в единую сеть туманных вычислений работающих поверх mesh-сети на подобии Нетцукуку.

Поверх работает контенто-ориентированая сеть информации, множество сервисов: сети доверия, криптовалюты, системы децентрализированого принятия решений и другие децентрализированые системы.

Есть и другие идеи.

Тогда это будут нормальные технологии, а не печки, которые генерируют мусорный контент.

anonymous
()
Ответ на: комментарий от anonymous

Тоесть драйвер файловой системы драйвером не является ? Также как и драйвер виртуального терминала, TAP, TUN, PPP, NBD, BRD и еще вагон других «не драйверов»

zaz ★★★★
()
Последнее исправление: zaz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.