Новость: Мэт Диллон рассказывает об инновациях в DragonFlyBSD
(Категория: DragonFly BSD)
Добавил Roman I Khimov
Четверг, 30 Декабрь 2004, 02:21

Мэт Диллон (Matt Dillon) опубликовал подробное и весьма интересное пояснение относительно планов будущих разработок, касающихся подсистемы ввода/вывода DragonFly. Эти работы вдохновлены успехами улучшений кода PIPE в FreeBSD, внесенными Аланом Коксом (Alan Cox) и уже отразились в уникальных API DragonFly, XIO и MSFBUF. Цель этих работ - избежать отображений KVA для запросов ввода/вывода и сопутствующих им потерь на межпроцессорные прерывания на системах SMP.

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

Как поясняет Мэт, это будет реализовано расширением абстракции msf_buf и обеспечением набора вызовов API, которые позволят более высоким слоям отдавать данные в любой форме, а более низким слоям запрашивать данные в любой форме, в том числе с ограничениями на адреса. В msf_buf уже есть абстракции отображения списка страниц (XIO) и KVA, и Мэт собирается добавить абстракцию bounce буфера и реализовать набор новых вызовов API так, чтобы msf_buf покрывал нужды различных подсистем.

Чуть позже Мэт опубликовал еще одно замечание, касающееся уже слоя журналирования прямо в ядре. Это сообщение вообще интересно само по себе, поскольку он также затронул и тему инноваций вообще.

Как отмечает Мэт, сегодняшняя реализация журналирования на уровне файловых систем страдает отсутствием гибкости, а реализация в ядре не только будет хороша сама по себе, но и, с учетом долгосрочных планов по разработке DragonFly, ведет к новым возможностям. В этом слое планируется реализовать возможность перенаправлять поток файловой системы на высоком уровне куда угодно (в отличие направления его на то же блочное устройство, как это делается в современных журналирующих ФС), и особенно интересным здесь выглядит перенаправление на выделенные защищенные машины. Перспективы очевидны - все возможности резервирования в реальном времени, возможность переигрывания отдельных изменений, упрощение разбирательств после атак и взломов (все логи будут сохранены в любом случае!), восстановление данных и так далее.

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

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


Источник этой новости Центр информации по операционным системам
( http://www.osrc.info/news.php?extend.1670 )