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

Ivan Voras

Издание: 43234
Юридическое уведомление
2013-11-24 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.

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

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.