Создание класса GEOM

$FreeBSD: head/ru_RU.KOI8-R/articles/geom-class/article.xml 41050 2013-02-26 13:13:15Z taras $

$FreeBSD: head/ru_RU.KOI8-R/articles/geom-class/article.xml 41050 2013-02-26 13:13:15Z taras $

Авторские права

Эта статья документирует некоторые начальные выкладки в разработке GEOM-классов, а также модулей ядра в общем. Предполагается, что читатель близко знаком с программированием на Си в контексте пространства пользовательских процессов (userland).


Содержание
1. Вступление
2. Подготовка
3. Программирование в ядре FreeBSD
4. Программирование в системе GEOM

1. Вступление

1.1. Документация

Документация по программированию для ядра скудная, это одна из немногих областей программирования, где почти нет хороших учебных пособий, и совет ''читай исходники!'' — сохраняет свою справедливость. Однако, существует несколько статей и книг разной актуальности, которые рекомендуются к изучению перед тем, как начать программировать:

  • Руководство FreeBSD для разработчиков — часть Проекта Документации FreeBSD, ничего специфичного о программировании ядра в нем нет, зато есть немного общей полезной информации.

  • Руководство по Архитектуре FreeBSD — также является частью Проекта Документации FreeBSD, содержит описания некоторых низкоуровневых средств и процедур. Уделите внимание разделу номер 13 — Написание драйверов устройств для FreeBSD.

  • Несколько интересных статей об устройстве ядра можно найти на сайте FreeBSD Diary.

  • Страницы из раздела номер 9 системного справочника, содержат важную документацию по функциям ядра.

  • Страница справочника geom(4), а также слайды Пола-Хеннинга Кампа — общее представление о подсистеме GEOM.

  • Страницы справочника g_bio(9), g_event(9), g_data(9), g_geom(9), g_provider(9), g_consumer(9), g_access(9), а также другие, связанные с вышеупомянутыми и раскрывающие специфический функционал подсистемы GEOM.

  • Страница справочника style(9) — документирует соглашения о стиле оформления кода, которые обязаны быть соблюдены если вы планируете передать ваш код в Subversion репозиторий FreeBSD.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.