The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.77, opennews (?), 22-Мрт-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


43. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от Nicho (ok), 22-Мрт-24, 15:53 
Народ, какие преимущества будут, если ядро Windows, переведут на Rust?
И какие преимущества будут, если Firefox тоже переведут на Rust?
Ответить | Правка | Наверх | Cообщить модератору

183. "Выпуск языка программирования Rust 1.77"  +1 +/
Сообщение от ptremail (ok), 23-Мрт-24, 15:41 
> какие преимущества будут, если ядро Windows, переведут на Rust?

На время перевода появятся тысячи рабочих мест для разработчиков.
А так как в ядре в любом случае значительная часть кода будет unsafe, то еще несколько лет будут вычищать там привнесенные при переписывании баги, в том числе и при работе с памятью.

Если без шуток, то следует понимать, что при наличии в API повсеместно вызовов, содержащих в параметрах <указатель на буфер> и <размер буфера>, обеспечивать контроль за переполнением буферов со стороны ядра при ошибках в userspace, несколько проблематично. И эта проблема решаема только созданием нового API ядра, несовместимого с текущим. Но это чуть ли не новая операционная система получится.

Так что сначала нужно разработать и стандартизировать некий POSIX-memory-safe API, и лишь затем внедрять его в существующие сейчас операционные системы. А так как переход на это API может занять десятилетия, то, вспоминая Ходжу Насреддина, за эти годы обязательно умрет (устареет) или эмир (rust), или ишак (новое API), или сам Ходжа (мы).

Ответить | Правка | Наверх | Cообщить модератору

197. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от fidoman (ok), 23-Мрт-24, 18:17 
> <указатель на буфер> и <размер буфера>

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

Ответить | Правка | Наверх | Cообщить модератору

200. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от ptremail (ok), 23-Мрт-24, 19:27 
Компилятор ядра ничего не знает о приложении. Так же как и компилятор приложения ничего не знает о ядре.
Один из возможных подходов - это выделение буферов только средствами ядра, а в API указывать не указатель на буфер, а уникальный в системе идентификатор буфера, ранее выделенного ядром, размер и адрес которого ядру заведомо известен. Права доступа приложения к такому буферу тоже должны контролироваться ядром.
Ответить | Правка | Наверх | Cообщить модератору

231. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от Аноним (-), 25-Мрт-24, 16:37 
> Один из возможных подходов - это выделение буферов только средствами ядра

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

Ответить | Правка | Наверх | Cообщить модератору

262. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от ptremail (ok), 28-Мрт-24, 19:00 
При чем тут ЛЮБОЙ malloc? Речь только про буфера, которые в большинстве случаев выделяются однократно при старте приложения.
Ответить | Правка | Наверх | Cообщить модератору

218. "Выпуск языка программирования Rust 1.77"  +/
Сообщение от BeLord (ok), 24-Мрт-24, 14:55 
Никаких, проблема виндов не в языке, а в организации разработки. Если бы они осилили модульность и оптимизации под железо это была бы совершенно другая операционная система, но их модели бизнеса это не надо, поэтому имеем глючный комбайн живущий своей жизнью.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру