Руководство FreeBSD для разработчиков

The FreeBSD Documentation Project

Добро пожаловать в руководство FreeBSD для разработчиков. Этот документ находится в просессе написания и представляет собой результат работы множества людей. Многие секции езе не написаны, а некоторые из написаных требуют обновления. Если Вы хотите помочь этому проекту, напишите в Список рассылки Проекта Документации FreeBSD .

Последняя версия этого документа постоянно доступна с Всемирного Веб Сайта FreeBSD. Этот документ может также быть найден в множестве форматов с FTP Сервера FreeBSD или одного из множества зеркал.


Table of Contents
I. Основы
1. Введение
1.1. Разработка во FreeBSD
1.2. Подход BSD
1.3. Архитектурные концепции
1.4. Структура каталога /usr/src
2. Инструменты программирования
2.1. Обзор
2.2. Введение
2.3. Введение в программирование
2.4. Компиляция при помощи cc
2.5. Make
2.6. Отладка
2.7. Использование Emacs в качестве среды разработки
2.8. Дополнительная литература
3. Безопасное программирование
3.1. Обзор
3.2. Методология обеспечения безопасности
3.3. Переполнения буфера
3.4. Проблемы с установленным битом UID
3.5. Ограничение среды работы вашей программы
3.6. Доверие
3.7. Неожиданное поведение
4. * Localization - I18N
5. * Source Tree Guidelines and Policies
II. Взаимодействие между процессами
6. * Signals
7. * Sockets
8. * IPv6 Internals
III. Ядро
9. * История ядра Unix
10. Замечания по блокировке
10.1. Мьютексы
10.2. Блокировки менеджера блокировок
10.3. Атомарно защищенные переменные
11. Объекты ядра
11.1. Терминология
11.2. Работа Kobj
11.3. Использование Kobj
12. * The Jail Subsystem
13. Механизм sysinit
13.1. Терминология
13.2. Работа sysinit
13.3. Использование Sysinit
14. Система виртуальной памяти
14.1. Система VM во FreeBSD
15. * DMA
16. Отладка ядра
16.1. Отладка аварийных образов ядра при помощи gdb
16.2. Отладка аварийного дампа с помощью DDD
16.3. Посмертный анализ дампа
16.4. Отладка ядра в режиме реального времени с помощью DDB
16.5. Отладка ядра в режиме реального времени при помощи удаленного GDB
16.6. Отладка загружаемых модулей с помощью GDB
16.7. Отладка драйвера консоли
17. * UFS
18. * AFS
19. * Syscons
20. * Уровни совместимости
20.1. * Linux
IV. Драйверы устройств
21. Написание драйверов устройств для FreeBSD
21.1. Введение
21.2. Механизм динамического компоновщика ядра - KLD
21.3. Обращение к драйверу устройства
21.4. Символьные устройства
21.5. Сетевые драйверы
22. * ISA device drivers
23. Устройства PCI
23.1. Обнаружение и подключение
24. * Common Access Method SCSI Controllers
25. Устройства USB
25.1. Введение
25.2. Хост-контроллеры
25.3. Информация об устройстве USB
25.4. Распознавание и подключение устройств
25.5. Информация о протоколах драйверов USB
26. * NewBus
27. * Sound subsystem
V. Аппаратные платформы
28. * x86 Assembly Language Programming
29. * Alpha
30. * IA-64
VI. Приложения
Bibliography
List of Examples
2-1. Примерный файл .emacs