Руководство 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. Подсистема Jail
12.1. Архитектура
12.2. Ограничения
12.3. Jail NG
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 Tables
10-1. Список мьютексов
10-2. Список блокировок lockmgr(9)
List of Examples
2-1. Примерный файл .emacs