<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Эксперимент по разработке частей ядра Linux на языке Rust]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=39196&amp;type=atom" />
	<updated>2017-06-04T05:28:20Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=39196</id>
		<entry>
			<title type="html"><![CDATA[Эксперимент по разработке частей ядра Linux на языке Rust]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=455606#p455606" />
			<content type="html"><![CDATA[<p><br />&nbsp; &nbsp; Французский разработчик, действующий под псевдонимом Dominus Carnufex, на практике продемонстрировал реалистичность идей по переписыванию ядра Linux на языке Rust. В настоящее время Rust уже хорошо показал себя в качестве языка низкоуровневого системного программирования и даже существует несколько проектов по разработке новых операционных систем на языке Rust. Автор исследования относится к проектам по созданию новых ОС скептически, считая, что у них нет шансов на завоевание рынка. При этом, более реалистичным выглядит постепенная переработка ядра Linux на Rust, что позволило бы решить многие проблемы с безопасностью.&nbsp; &nbsp; &nbsp; Чтобы не выглядеть голословным Dominus Carnufex подготовил рабочий прототип реализации интегрируемого в ядро системного вызова, код которого написан на языке Rust с ассемблерными вставками, оформленными в виде&nbsp; &nbsp; unsafe-блоков. Код компилируется при помощи rustc в объектные файлы, не привязанные к стандартной библиотеке и прикрепляемые к ядру во время сборки. Пример протестирован на ядре Linux 4.8.17, поставляемом в дистрибутиве Linux Mint.&nbsp; &nbsp; &nbsp; Предоставленный пример может рассматриваться в качестве отправной точки для постепенного портирования различных системных вызовов ядра Linux на Rust. Интерес к Rust прежде всего вызван предоставляемыми языком возможностями&nbsp; по безопасному программированию, избавляющими от проблем, возникающих в Си из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.&nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; Источник: <strong>http://www.opennet.ru/opennews/art.shtml?num=46652</strong><br />&nbsp; &nbsp; <br /><a href="http://www.opennet.ru/opennews/art.shtml?num=46652">_источник</a></p>]]></content>
			<author>
				<name><![CDATA[R2-D2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=40794</uri>
			</author>
			<updated>2017-06-04T05:28:20Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=455606#p455606</id>
		</entry>
</feed>
