LINUX.ORG.RU

Redox OS 0.6.0

 ,


0

2

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

Изменения в 0.6:

  • Переписан менеджер памяти rmm. Это устранило утечки памяти в ядре, которые стали серьёзной проблемой с предыдущим менеджером памяти. Также поддержка многоядерных процессоров стала стабильней.

  • Многие вещи от студентов Redox OS Summer of Code были включены в этот релиз. Включая работы по ptrace, strace, gdb, disk partitioning, logging, io_uring и т.д.

  • Переработана стандартная библиотека С relibc для обеспечения большей совместимости с приложениями.

  • Новый формат пакетов pkgar, который быстрее чем старый формат tar.

  • Обновлена коллекция с примерами пакетов: cookbook

  • Много времени к подготовке к этому выпуску было потрачено на адаптацию кода к ломающим изменениям в Rust Nightlies, где был изменён дизайн макроса asm. Также другие проблемы удерживали разработчиков от выпуска. Они надеются что новые версии теперь будут выходить чаще. (Предыдущий выпуск 0.5 был: 24 марта 2019 г.)

Скриншот из VirtualBox: https://i.imgur.com/QqylHXj.png

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

★★★★

Проверено: DoctorSinus ()

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

Но это же РАСТ, откуда там утечки были?

Оттуда же откуда и в C++. Память и там и там практически одинаково управляется. Ну и утечка не является ошибкой нарушающей безопасность памяти.

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

Но это же РАСТ, откуда там утечки были?

Написать менеджер памяти без unsafe не получиться. А там где память управляется ручками ошибки с утечкой памяти могут легко пробраться.

AlexVR ★★★★★ ()

Тупой ЛОР овец тупой

Срач «раст не защищает от утечек памяти» — это даже тупее, чем обсуждать отступы в питоне. Хоть бы чё-то новое придумали.

anonymous ()

Много времени к подготовке к этому выпуску было потрачено на адаптацию кода к ломающим изменениям в Rust Nightlies

Всё, что нужно знать о расте.

xaizek ★★★★★ ()
Ответ на: Тупой ЛОР овец тупой от anonymous

Re: Тупой ЛОР овец тупой

раст не защищает от утечек памяти

Это факт, который официально отрицается разработчиками языка.

отступы в питоне

Это факт, который не нравится некоторым пользователям языка.

Почувствуй разницу уровня неприятия фактов.

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

memory leak не является нарушением memory safety

«Разговор по понятиям». Тебе не нравятся «понятия» приведенные в википедии?

Вообще-то, чтобы начать говорить про «безопасность», надо сперва назвать «угрозы» (опасности). Без знания угроз/опасностей нет смысла говорить про безопасность.

Является ли угрозой, если программа сожрет всю доступную память из-за утечек?

anonymous ()
Ответ на: Re: Тупой ЛОР овец тупой от anonymous

Re: Тупой ЛОР овец тупой

Это факт, который официально отрицается разработчиками языка.

https://doc.rust-lang.org/nomicon/leaking.html

Many people like to believe that Rust eliminates resource leaks. In practice, this is basically true. You would be surprised to see a Safe Rust program leak resources in an uncontrolled way.

Разработчики языка в официальной документации пишут, что в Safe Rust может память утекать. Более того, если по ссылке перейти и почитать дальше, то сами разработчики языка описывают сценарии как добиться утечек памяти.

В каком месте разработчики языка официально отрицают этот факт?

anonymous ()
Ответ на: Re: Тупой ЛОР овец тупой от anonymous

Это факт, который официально отрицается разработчиками языка.

В каком месте разработчики языка официально отрицают этот факт?

Повторяю для шибко умных.

https://www.rust-lang.org/

Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time.

Или пусть убирают, или меняют на «защищает от некоторых классов ошибок доступа к памяти», и после перечисляют эти классы, которых намного меньше, чем всех видов ошибок доступа к памяти.

Заодно пусть убирают thread-safety (потокобезопасность).

А то понаписали базвордов, а потом точечно оправдываются.

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

Срочно звони в спортлото!

Вообще-то, вполне «приличное лицо»-организация, которая даже торговой маркой владеет. «По идее» можно в суд подать «претензию».

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

В спортлото точно можно.

Ну раз столько людей настаивает, что «спортлото», то буду называть не «хруст», а «спортлото».

В хрусте спортлото можно выиграть memory-safety и thread-safety! Покупайте билеты! Пишите программы и устанавливайте с помощью cargo!

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

Ты даже не знаешь, что такое «утечка памяти», остолоп.

Хочешь, проверим?

fn main() {
    let mut log: Vec<String> = Vec::new();

    for i in 0..1000000000 {
        log.push(format!("Printing {}", i));
        println!("{}", i);
    }
}

Это утечка или нет?

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

Насколько я знаю – нигде. Это просто концептуальная система, пример реализации микроядра. Пилится энтузиастами. И, похоже, дела у них идут куда лучше, чем у харда.

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

Это утечка или нет?

Это вопросы уровня, как у разработчиков на rust? Мне вас таких жаль, и жаль сам rust, что туда понабежали такие. Не ну а что, «реклама» на главной работает.

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

Или пусть убирают, или меняют на «защищает от некоторых классов ошибок доступа к памяти», и после перечисляют эти классы, которых намного меньше, чем всех видов ошибок доступа к памяти.

Для альтернативно одарённых выше привели ссылку, что считается «memory-safety», а что нет, повторю: https://doc.rust-lang.org/reference/behavior-not-considered-unsafe.html

The Rust compiler does not consider the following behaviors unsafe, though a programmer may (should) find them undesirable, unexpected, or erroneous.

  • Deadlocks
  • Leaks of memory and other resources
  • Exiting without calling destructors
  • Exposing randomized base addresses through pointer leaks
  • Integer overflow
anonymous ()

Переписан менеджер памяти rmm. Это устранило утечки памяти в ядре, которые стали серьёзной проблемой с предыдущим менеджером памяти.

Э-э-э. Rust же вроде как призван исправлять косяки Си и Си++, в частности с утечками памяти и прочими «приколами» Си…

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

Написать менеджер памяти без unsafe не получиться.

Тогда нафига изобретать велосипед, наступая на старые грабли, когда есть уже отлаженные и готовые mm`ы на Си?

drfaust ★★★★★ ()
Ответ на: комментарий от anonymous
  • Deadlocks
  • Leaks of memory and other resources
  • Exiting without calling destructors
  • Exposing randomized base addresses through pointer leaks
  • Integer overflow

Что-то мало пунктов. Например, есть минимум еще один - состояние гонки, которое одновременно и про memory-safety и про thread-safety

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

Э-э-э. Rust же вроде как призван исправлять косяки Си и Си++, в частности с утечками памяти

На второй круг пойдём? Защита от утечек памяти в задачи Rust не входит.

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

Очень просто.

Это секта свидетелей «безопасности». Основной доблестью считают, превозмочь,и переписать простейший алгоритм 30 летней давности так чтобы он пролез через многочисленные ограничения языка. Не многие достигают такой степени просветления.Употребление unsafe сломавшимися при попытке портирования на раст, массово порицают. Кроме шуток, даже хотел что нибудь мелкое на нем написать, на пробу, хотя синтаксис заставляет морщиться. Но после истории с закидыванием экскрементами автора «самого шустрого веб-сервера на раст» понял, что с этим лучше не связываться.

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

Насколько я смотрел, проект гораздо менее серьёзный чем Serenity.

Ну в Redox OS портировали Mesa(конечно пока только софтварный llvmpipe) и Redox OS это 64 битная система. Ещё Redox поддерживает и UEFI и BIOS.

В Serenity нет OpenGL и 32 битная система и только BIOS.

Но в чём-то Serenity и лучше. Например, в ней работает gcc-10. А в Redox rust не работает, только кросскомпилятор…

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

Ну в Redox OS портировали Mesa(конечно пока только софтварный llvmpipe)

Это не великое достижение. Я делал порт Mesa на Haiku на основе OSMesa так что сама Mesa собиралась без Haiku-специфичнго кода и не требовала портирования. Как видно там не много кода и можно за день справиться. Видимо разработчикам Serenity это пока не интересно.

Redox OS это 64 битная система. Ещё Redox поддерживает и UEFI и BIOS.

Это да. Но разработчики Serenity говорили что система не прибита к 32 битам и портирование на 64 бит не составит особых трудностей.

Зато в Serenity есть проработанный GUI тулкит, система контроля прав доступа, продвинутая реализация виртуальной памяти (в ReactOS до сих пор не могут нормально виртуальную память сделать, уже третий раз переписывают (ARM3) а всё не работает), продвинутые инструменты отладки (SystemMonitor, Profiler).

Redox - это что-то уровня ToaruOS, даже может быть примитивнее.

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

В терминологии Rust, memory leak не является нарушением memory safety. Уткнись:

Это подмена понятий. На заборе тоже пишут. А если у спутника софтина выжрет всю оперативку и он колом встанет то это не значит что утечка это безопасно.

anonymous ()

написанная на Rust.

Переписан менеджер памяти rmm. Это устранило утечки памяти в ядре

Но как же так? Ведь на расте не бывает никаких утечек?! Это только на си все сегфолтится, ко-ко-ко!!!

Новый формат пакетов pkgar, который быстрее чем старый формат tar.

За счет чего?

Rust

Там решены проблемы с лицензиями наконец? На расте действительно можно свободно писать свободный софт? Или все-таки случайное сочетание 4 букв портит всю малину?

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

На второй круг пойдём? Защита от утечек памяти в задачи Rust не входит.

Да хоть на третий. Ой как удобненько-то: когда срачи по расту были каждый отъявленный растоман твердил, что сишка унылое говно и копролит, а когда доходит до дела и высняется, что раст на практике в общем-то натыкается ровно на те же грабли, то начинаются школоло-отмазы что что-то там куда-то не входит. Тьфу, лять!…

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

проект гораздо менее серьёзный чем Serenity

Ты настолько много пиаришь этот проект, что аж в предыдущем треде написал его название через «l»: Selenity.

Oberstserj ()
Последнее исправление: Oberstserj (всего исправлений: 1)

Всё-таки rust силён своими хейтерами. Наверно никакой другой язык не вызывает столько бугурта и жжения ниже поясницы у отдельных личностей.

WatchCat ★★★★★ ()

Не удивлюсь, если со временем доведется услышать «Защита от сегфолтов в задачи Rust не входит». Новые методички уходят в тираж прямо сейчас.

goto-vlad ()
Ответ на: комментарий от goto-vlad

Защита от сегфолтов в задачи Rust не входит

Она нигде не входит. Почти во всех языках есть runtime error. Только в безопасных языках это не приводит к порче памяти, ошибку можно обработать и работать дальше.

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

Но как же так? Ведь на расте не бывает никаких утечек?! Это только на си все сегфолтится, ко-ко-ко!!!

Вот, для тебя две главы написали :)

https://doc.redox-os.org/book/ch01-05-why-redox.html

https://doc.redox-os.org/book/ch01-07-why-rust.html

fsb4000 ★★★★ ()