Suicide
02.12.2019, 19:22
Джереми Соллер (Jeremy Soller (https://github.com/jackpot51)), основатель операционной системы Redox (https://www.redox-os.org/), написанной на языке Rust, рассказал (https://www.redox-os.org/news/focusing-on-rustc/) об успешном использовании Redox на ноутбуке System76 Galaga Pro (Джереми Соллер работает в компании System76). Из уже полностью работоспособных компонентов отмечаются клавиатуры, тачпад, накопитель (NVMe) и Ethernet.
Эксперименты с Redox на ноутбуке уже позволили улучшить работу драйверов, добавить поддержку HiDPI в некоторые приложения и создать новые компоненты, такие как pkgar, упрощающие установку Redox с Live-образов. Среди задач, на которых теперь сфокусировано внимание упоминается достижение возможности самосборки системы (сборки Redox из окружения на базе Redox). Через несколько месяцев Соллер планирует на одном из компьютеров перейти к постоянной работе над Redox из рабочего окружения на базе Redox после того, как будут внесены некоторые доработки, связанные с компилятором rustc.
Применяемая в Redox концепция микроядра упрощает разработку драйверов, так как можно перекомпилировать и перезапускать подсистему, обеспечивающую функционирование драйверов, без остановки работы. Ожидается, что разработка в окружении на базе Redox позволит повысить эффективность портирования программ и решения проблем с поддержкой оборудования. Например, планируется довести до полноценного состояния USB-стек и добавить графические драйверы.
https://www.opennet.ru/opennews/pics_base/0_1575184844.jpg (https://www.redox-os.org/img/hardware/system76-galp3-c.jpg)
Напомним, что операционная система развивается в соответствии с философией Unix и заимствует некоторые идеи из SeL4, Minix и Plan 9. Redox использует концепцию микроядра, при котором на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами, а вся остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Для совместимости с существующими приложениями предоставляется специальная POSIX-прослойка, позволяющая запускать многие программы без портирования.
В системе применяется принцип "все есть URL". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "tcp://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к портам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60". Наработки проекта распространяются (https://github.com/redox-os/redox) под свободной лицензией MIT.
Пользовательское окружение в Redox построено (https://doc.redox-os.org/book/explore/gui.html) на базе собственной графической оболочки Orbital (https://github.com/redox-os/orbital) (не путать с другой (https://www.opennet.ru/opennews/art.shtml?num=38934) оболочной Orbital (https://github.com/giucam/orbital), использующей Qt и Wayland) и тулкита OrbTk (https://github.com/redox-os/orbtk), предоставляющего API, похожий на Flutter, React и Redux. В качестве web-браузера применяется Netsurf (https://www.opennet.ru/opennews/art.shtml?num=41855). Проектом также развивается собственный пакетный менеджер (https://github.com/redox-os/pkgutils), набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion (https://github.com/redox-os/ion), стандартная Си-библиотека relibc (https://github.com/redox-os/relibc), vim-подобный текстовый редактор sodium (https://github.com/redox-os/sodium), сетевой стек и файловая система TFS (https://github.com/redox-os/tfs), развиваемая на основе идей ZFS (модульный вариант ZFS на языке Rust). Конфигурация задаётся на языке Toml (https://github.com/toml-lang/toml).
https://www.opennet.ru/opennews/pics_base/0_1575189754.jpeg (https://raw.githubusercontent.com/redox-os/assets/master/screenshots/redox%20running.jpeg)
1.12.2019
http://www.opennet.ru/opennews/art.shtml?num=51956
Эксперименты с Redox на ноутбуке уже позволили улучшить работу драйверов, добавить поддержку HiDPI в некоторые приложения и создать новые компоненты, такие как pkgar, упрощающие установку Redox с Live-образов. Среди задач, на которых теперь сфокусировано внимание упоминается достижение возможности самосборки системы (сборки Redox из окружения на базе Redox). Через несколько месяцев Соллер планирует на одном из компьютеров перейти к постоянной работе над Redox из рабочего окружения на базе Redox после того, как будут внесены некоторые доработки, связанные с компилятором rustc.
Применяемая в Redox концепция микроядра упрощает разработку драйверов, так как можно перекомпилировать и перезапускать подсистему, обеспечивающую функционирование драйверов, без остановки работы. Ожидается, что разработка в окружении на базе Redox позволит повысить эффективность портирования программ и решения проблем с поддержкой оборудования. Например, планируется довести до полноценного состояния USB-стек и добавить графические драйверы.
https://www.opennet.ru/opennews/pics_base/0_1575184844.jpg (https://www.redox-os.org/img/hardware/system76-galp3-c.jpg)
Напомним, что операционная система развивается в соответствии с философией Unix и заимствует некоторые идеи из SeL4, Minix и Plan 9. Redox использует концепцию микроядра, при котором на уровне ядра обеспечивается только взаимодействие между процессами и управление ресурсами, а вся остальная функциональность вынесена в библиотеки, которые могут использоваться как ядром, так и пользовательскими приложениями. Все драйверы выполняются в пространстве пользователя в изолированных sandbox-окружениях. Для совместимости с существующими приложениями предоставляется специальная POSIX-прослойка, позволяющая запускать многие программы без портирования.
В системе применяется принцип "все есть URL". Например, для записи в лог может использоваться URL "log://", для взаимодействия между процессами "bus://", для сетевого взаимодействия "tcp://" и т.п. Модули, которые могут быть реализованы в форме драйверов, расширений ядра и пользовательских приложений, могут регистрировать свои обработчики URL, например, можно написать модуль обращения к портам ввода/вывода и привязать его к URL "port_io://", после чего можно использовать его для доступа к 60 порту через открытие URL "port_io://60". Наработки проекта распространяются (https://github.com/redox-os/redox) под свободной лицензией MIT.
Пользовательское окружение в Redox построено (https://doc.redox-os.org/book/explore/gui.html) на базе собственной графической оболочки Orbital (https://github.com/redox-os/orbital) (не путать с другой (https://www.opennet.ru/opennews/art.shtml?num=38934) оболочной Orbital (https://github.com/giucam/orbital), использующей Qt и Wayland) и тулкита OrbTk (https://github.com/redox-os/orbtk), предоставляющего API, похожий на Flutter, React и Redux. В качестве web-браузера применяется Netsurf (https://www.opennet.ru/opennews/art.shtml?num=41855). Проектом также развивается собственный пакетный менеджер (https://github.com/redox-os/pkgutils), набор стандартных утилит (binutils, coreutils, netutils, extrautils), командная оболочка ion (https://github.com/redox-os/ion), стандартная Си-библиотека relibc (https://github.com/redox-os/relibc), vim-подобный текстовый редактор sodium (https://github.com/redox-os/sodium), сетевой стек и файловая система TFS (https://github.com/redox-os/tfs), развиваемая на основе идей ZFS (модульный вариант ZFS на языке Rust). Конфигурация задаётся на языке Toml (https://github.com/toml-lang/toml).
https://www.opennet.ru/opennews/pics_base/0_1575189754.jpeg (https://raw.githubusercontent.com/redox-os/assets/master/screenshots/redox%20running.jpeg)
1.12.2019
http://www.opennet.ru/opennews/art.shtml?num=51956