Исторически интерфейс устройств был статическим и простым. Устройства определялись при загрузке системы и впоследствии не изменялись. Типичный дисковый драйвер мог быть написан с использованием нескольких сотен строк кода. По мере развития системы сложность систем ввода/вывода возросла с добавлением новых возможностей. Устройства могли появляться, а затем исчезать при работе системы. С возрастанием сложности и разнообразия шин ввода/вывода маршрутизация запросов ввода/вывода стала сложной. Например, в многопроцессорной среде прерывания от устройств должны направляться на наиболее подходящий процессор, который может отличаться от того, который до этого обслуживал устройство. Обзор архитектуры PC дается в разделе.
Логические диски могут больше не ссылаться на раздел одного физического диска, а вместо этого могут объединить несколько участков (slices) и/или разделов для создания виртуального раздела, на котором должна быть построена файловая система, охватывающая несколько дисков. Объединение таким образом разделов физических дисков в виртуальный раздел называется управлением томами. Вместо встраивания всех этих возможностей во все файловые системы или дисковые драйверы, они были абстрагированы в уровень GEOM (геометрии).
Автоконфигурирование является процедурой, выполняемой системой для обнаружения и подключения аппаратных устройств, присутствующих в системе. Исторически автоконфигурирование осуществлялось лишь однажды при загрузке системы. В современных машинах, особенно в портативных компьютерах типа laptop, устройства регулярно подключаются и отключаются во время работы компьютера. Соответственно ядро должно быть готово конфигурировать, инициализировать и делать доступным подключаемое оборудование и не производить операции с отключенным оборудованием. FreeBSD использует для управления устройствами в системе инфраструктуру драйверов устройств, которая называется newbus.
- 16/05/2010 11:00 - Терминалы
- 15/05/2010 20:27 - Файловое хранилище
- 15/05/2010 02:17 - Иерархия файлов
- 14/05/2010 11:31 - Файловые системы
- 13/05/2010 20:26 - Поддержка нескольких файловых систем
- 13/05/2010 03:54 - Механизм взаимодействия сокетов
- 12/05/2010 18:13 - Устройства
- 12/05/2010 12:32 - Управление дескрипторами
- 12/05/2010 04:44 - Каналы 4.2BSD