The OpenNET Project / Index page

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



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

Оглавление

Кис Кук из Google призвал модернизировать процесс работы над ошибками в ядре Linux, opennews (??), 05-Авг-21, (0) [смотреть все]

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


60. "Кис Кук из Google призвал модернизировать процесс работы над..."  –1 +/
Сообщение от Аноним (60), 06-Авг-21, 00:35 
Кроме Раста.
Ответить | Правка | Наверх | Cообщить модератору

63. "Кис Кук из Google призвал модернизировать процесс работы над..."  –2 +/
Сообщение от Аноним (63), 06-Авг-21, 01:14 
на расте можжа высунув язык,  так долбать по клаве что производительность падкочит в 100500 раз, и не думать про указатели и прочию суету\мелкоту - главвна идея в жизню о! мы тут все стройным рядом - коды телебаним

( а что код для постинга совпадает с моим номером на затылки, странно ... )

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

78. "Кис Кук из Google призвал модернизировать процесс работы над..."  –1 +/
Сообщение от Аноним (78), 06-Авг-21, 05:14 
Как раз Раст тут ключевое верное решение.
Си слишком устарел, чтоб что-то возможно было писать на нем с хоть какими-то удобствами, увы.
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

95. "Кис Кук из Google призвал модернизировать процесс работы над..."  –3 +/
Сообщение от устаревший си (?), 06-Авг-21, 07:21 
анон не осилил си, отменяйте его
Ответить | Правка | Наверх | Cообщить модератору

99. "Кис Кук из Google призвал модернизировать процесс работы над..."  +/
Сообщение от деанон (?), 06-Авг-21, 08:08 
Лол, неплохо
Ответить | Правка | Наверх | Cообщить модератору

98. "Кис Кук из Google призвал модернизировать процесс работы над..."  –1 +/
Сообщение от деанон (?), 06-Авг-21, 08:06 
Анон устарел, теперь только по паспорту
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

161. "Кис Кук из Google призвал модернизировать процесс работы над..."  +/
Сообщение от AlexVRud (ok), 06-Авг-21, 16:24 
Прежде чем использовать rust для написания ядра, его самого надо дописать и переписать.

- Стандартная библиотека - лапша (хоть и разбита на несколько частей);
- скрытые паники (хороша безопасность кода: когда не попал в индекс - паникуем, и это при скольких-то там процентах проблем с переполнением буфера, которые поможет решить ржавый);
- конструкторы не делали (нафиг нужны), а как сделать правильно `let xs = Box::new([0u8;100500])` не знают (ну типа предлагают подправить язык и сделать `let xs = box [0u;100500]` или дать на откуп оптимизатору);
- как быть с несколькими аллокаторами не определились;
- ...

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

169. "Кис Кук из Google призвал модернизировать процесс работы над..."  +1 +/
Сообщение от Аноним (169), 06-Авг-21, 20:20 
та блин, фейспалм на фейспалме. чувак, слезай с тех веществ


> - Стандартная библиотека - лапша (хоть и разбита на несколько частей);

Никто стандатрную библиотеку в ядро тянуть не собирается, не надо тут твоих влажных фантазий

> - скрытые паники (хороша безопасность кода: когда не попал в индекс - паникуем, и это при скольких-то там процентах проблем с переполнением буфера, которые поможет решить ржавый);

Да уж, действиьельно, зачем паниковать при выходе за границы, лучше ж по старинке, права вовышать и творить свои темные делишки

> - конструкторы не делали (нафиг нужны), а как сделать правильно `let xs = Box::new([0u8;100500])` не знают (ну типа предлагают подправить язык и сделать `let xs = box [0u;100500]` или дать на откуп оптимизатору);

а вот это каким боком к ядру?

> - как быть с несколькими аллокаторами не определились;

опять проблемы юзерспейса и каких-то суперспецефичных приложений.

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

174. "Кис Кук из Google призвал модернизировать процесс работы над..."  –1 +/
Сообщение от AlexVRud (ok), 07-Авг-21, 00:05 
> > - Стандартная библиотека - лапша (хоть и разбита на несколько частей);
> Никто стандатрную библиотеку в ядро тянуть не собирается, не надо тут твоих влажных фантазий

Ну ну, alloc тянут, причём не просто, а скопировали и подправили ещё до того как изменения попадут в основную ветку раста. std не тянут ([сарказм]да как и не странно, нереально[/сарказм]), но оставшееся в виде Box есть. (Смотри исходники)

> > - скрытые паники (хороша безопасность кода: когда не попал в индекс - паникуем, и это при скольких-то там процентах проблем с переполнением буфера, которые поможет решить ржавый);
> Да уж, действиьельно, зачем паниковать при выходе за границы, лучше ж по старинке, права вовышать и творить свои темные делишки

Ну тут я смешал две претензии в одни. Черезмерное число паник в rust есть и это факт. Большинство было подано под привычным соусом прикладного софта: ну если что-то не так, то паникуем. Часть из них решена в текущей реализации Rust For Linux путём расширения alloc. И будем надеяться что в этом куске стандартной библиотеки появится опция nopanic (как минимум к этому идёт текущая работа).

Вторая претензия про то, что паника не решает вопросы переполнения буфера (которые по заверениям должен решить раст). Что делать если не кидать панику? Да ф.з., добавлять проверки на уровне компилятора? Может быть. Например, оптимизатор нормально вырезает все вызовы panic, если докажет, что они в недостижимых ветках. Но в любом случае говорить, что раст решает проблемы переполнения буфера, это чистой воды враньё.

[сарказм]Вот даже будет интересно посмотреть на реакцию Линуса, когда он увидит перехват паники в коде :)[/сарказм]

> > - конструкторы не делали (нафиг нужны), а как сделать правильно `let xs = Box::new([0u8;100500])` не знают (ну типа предлагают подправить язык и сделать `let xs = box [0u;100500]` или дать на откуп оптимизатору);
> а вот это каким боком к ядру?

А это вполне себе хороший камень в огород "системного языка программирования". Который, как какой-то питончик, не может инициализировать данные на месте без [N]RVO (ну или unsafe). А требует создания данных вначале на стеке, а потом копирует их куда надо. Но это сейчас решается в unstable rust, т.е. не готово.

> > - как быть с несколькими аллокаторами не определились;
> опять проблемы юзерспейса и каких-то суперспецефичных приложений.

На какой фиг юзерспейсу несколько аллокаторов? Он и так обойдётся. А в ядре это более актуально. Тем более там есть, например, абстракции для чистки выделенной памяти за драйверами (а контроль от утечек памяти не является сильной стороной раста).

З.Ы. Так что моё мнение: rust не готов для ядра. Что-то за год может и исправят. А что-то требует кардинальных решений по хлеще контроля времени жизни. При этом я с интересом наблюдаю что делаю в Rust For Linux. И не сомневаюсь, что плюшки раста могут перевесить его минусы (чего только стоит оператор `?`).

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

185. "Кис Кук из Google призвал модернизировать процесс работы над..."  +1 +/
Сообщение от Аноним (169), 07-Авг-21, 13:43 
От же ты любитель накатать портянок.

Буду краток.

1) Box из alloc, в std он просто реэкспортируется.
2) Во первых, для ядра не будет использоваться std, соответственно паник будет меньше.
Во вторых - проблема не в панике, а в том коде, котоый до нее довел. Вот не должно быть выхода за границы и все тут. Паника просто делает такую фигню явной. Это баг, и надо править код, который к этому приводит.
3) let xs = Box::new([0u8;100500])  - вещь неприятная, но обходится при помощи unsafe, для того его в языке и сделали. Я тут проблемы не вижу.
4) по поводу аллокаторов. Для ядра в либе поддержки (которая не std), а которую пишут в рамкак проекта раст-для-ядра напишут один алокатор на базе kmalloc и норм. А юзерспейсу надо много аллокаторов, потому что специфика юзерспейсных приложений много шире. Имел в виду не такое, когда в одном приложении много аллокаторов, а в разных приложениях - разные.

З.Ы. раст пока не готов для ядра, но его активно тюнят. И те кто тюнит, понимают что к чему.

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

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

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




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

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