LINUX.ORG.RU

Linux 6.11

 

Linux 6.11

1

3

Вышел очередной релиз ядра Linux 6.11 с рядом значимых изменений, важнейшие среди которых:

  • Добавлена поддержка операций атомарной записи на блочном уровне, при которых на накопитель записывается либо весь указанный набор блоков, либо ни один из блоков. Это может предотвратить ситуации, когда после сбоя оборудования или по иной причине записывается лишь часть блоков, а в другой части остаётся старая информация. Включение атомарного режима записи осуществляется системным вызовом pwritev() в который добавлен флаг RWF_ATOMIC.
  • Снятие запрета на запись в исполняемые файлы, связанные с работающими процессами. Ранее при попытке записи в исполняемый файл запущенного процесса ядро выводило ошибку.
  • Добавлена возможность разработки драйверов блочных устройств на языке Rust. В качестве примера в ядро добавлен драйвер rnull, представляющий собой аналог драйвера null_blk, написанный на языке Rust. Также продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру).

С более полным списком изменений можно ознакомиться на Опеннете.

>>> Официальный релиз

★★★★★

Проверено: hobbit ()
Последнее исправление: Dimez (всего исправлений: 5)
Ответ на: комментарий от hateWin

Си это тоже внезапно безопасный язык кроме некоторых случаев работы с данными через указатель.

Что копируется, куда копируется? Примеры в студию.

Как делают двумерный массив на си? Просто к указателю плюсуют длинну линии и записывают в массив потом обращаются/обрабатывают функцией элементы по x/y и записывают в фаил.
Как это на расте безопасно сделать ? Считать весь массив и превратить его в несколько маленьких. Потом уже его обойти и скопировать в новый одномерный. Казалось бы ну записать то можно и в старый одномерный, чтоб там лишние алокаторы/очищения не звать, размеры то не изменились, а хрен, нельзя так.

В общем я не хочу дальше спорить, когда раст только появился, я ходил его изучать на его главный сайт там висел пример реализации консольного калькулятора - вот это его уровень, его максимум, простые прикладные приложения и утилиты. А не ядра библиотеки и эмбедщина, он для этого непригоден, даже для игр непригоден.

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

Да, с многомерными структурами там грустно. Но Раст делали в первую очередь для системного программирования, а не как замену Фортрана.

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

Как это на расте безопасно сделать ? Считать весь массив и превратить его в несколько маленьких. Потом уже его обойти и скопировать в новый одномерный. Казалось бы ну записать то можно и в старый одномерный, чтоб там лишние алокаторы/очищения не звать, размеры то не изменились, а хрен, нельзя так.

ну и бред, что нельзя? почему нельзя?

я ходил его изучать на его главный сайт

и, как видно, так и не изучил

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

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

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

да, надо сообщить всем кто пишет: эмбедед, компиляторы, математические библиотеки, игры, системные библиотеки, базы данных и даже ОСи на расте, что всё это невозможно так как лоровский иксперд строго доказал что нельзя безопасно разбить большой массив на маленькие… О_О, да что это вообще значит?

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

Раст сделали не для системного программирования а для разработки одного продукта - движка мозиллы. Все остальное от лукавого.

Qui-Gon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.