Эксперимент по разработке частей ядра Linux на языке Rust
Чтобы не выглядеть голословным Dominus Carnufex подготовил рабочий прототип реализации интегрируемого в ядро системного вызова, код которого написан на языке Rust с ассемблерными вставками, оформленными в виде unsafe-блоков. Код компилируется при помощи rustc в объектные файлы, не привязанные к стандартной библиотеке и прикрепляемые к ядру во время сборки. Пример протестирован на ядре Linux 4.8.17, поставляемом в дистрибутиве Linux Mint.
Предоставленный пример может рассматриваться в качестве отправной точки для постепенного портирования различных системных вызовов ядра Linux на Rust. Интерес к Rust прежде всего вызван предоставляемыми языком возможностями по безопасному программированию, избавляющими от проблем, возникающих в Си из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46652
|
0 | Tweet | Нравится |
|