Набор устройств, доступных внутри зоны, ограничен в целях предотвращения воздействия процессов в одной зоне на процессы в других зонах. Например, процесс в зоне не может изменять память ядра или содержимое корневого диска. Таким образом, по умолчанию доступны только некоторые псевдоустройства, которые считаются безопасными для использования в зоне. Доступность дополнительных устройств в отдельных зонах можно задать утилитой zonecfg.
В Solaris для работы с /devices используется файловая система devfs, описанная на справочной странице devfs(7FS). Каждый элемент в этом пространстве имен соответствует физическому пути к аппаратному устройству, псевдоустройству или связующему устройству. Пространство имен является отражением дерева устройств. Таким образом, файловая система заполняется иерархией каталогов и специальных файлов устройств.
Иерархия файлов /dev, входящая в настоящий момент в корневую файловую систему (/), состоит из символьных ссылок или логических путей, соответствующих физическим путям в каталоге /devices. Приложения ссылаются на логический путь устройства, содержащийся в /dev. В зоне осуществляется монтирование файловой системы /dev в петлевом режиме только для чтения.
Управление иерархией файлов /dev осуществляется системой, состоящей из компонентов, которые входят в следующий список.
devfsadm (см. справочную страницу devfsadm(1M))
syseventd (см. справочную страницу syseventd(1M))
Библиотека информации об устройствах libdevinfo (см. справочную страницу libdevinfo(3LIB))
Драйвер devinfo (см. справочную страницу devinfo(7D))
Диспетчер согласования замены оборудования (RCM) (см. Reconfiguration Coordination Manager (RCM) Script Overview в System Administration Guide: Devices and File Systems)
Подсистемы, использующие пути /devices, не могут работать в неглобальных зонах, если не заданы пути /dev.
Может потребоваться назначить некоторые устройства определенным зонам. Разрешение доступа к блочным устройствам непривилегированным пользователям может привести к тому, что с помощью этих устройств можно будет вызвать фатальный сбой системы, сброс шины или другие нежелательные действия. Перед выполнением таких назначений следует учесть следующие аспекты:
Перед назначением SCSI-накопителя на магнитной ленте отдельной зоне следует ознакомиться со справочной страницей sgen(7D).
Помещение физического устройства в несколько зон может привести к созданию скрытого канала между зонами. Приложения глобальной зоны, использующие такое устройство, испытывают риск компрометации данных или нарушения целостности данных неглобальной зоной.
Для получения списка загруженных модулей ядра из неглобальной зоны можно воспользоваться командой modinfo, описанной на справочной странице modinfo(1M).
Большинство операций, касающихся ядра, устройств и управления платформой, не будет работать в неглобальных зонах, поскольку изменение конфигурации аппаратных средств платформы не совместимо с моделью безопасности зоны. К этим операциям относятся следующие:
добавление и удаление драйверов;
явная загрузка и выгрузка модулей ядра;
инициирование динамической перенастройки (DR);
использование средств, воздействующих на состояние физической платформы.
Следующие утилиты не работают в зонах, поскольку они взаимодействуют с устройствами, обычно недоступными в зонах:
cdrecord(См. справочную страницу в каталоге/usr/share/man/man1. )
cdrw(см. справочную страницу cdrw(1)).
rmformat(см. справочную страницу rmformat(1)).
add_drv(см. справочную страницуadd_drv(1M)).
disks (см. справочную страницу disks(1M)).
prtconf (см. справочную страницу prtconf(1M));
prtdiag (см. справочную страницу prtdiag(1M)).
rem_drv(см. справочную страницуrem_drv(1M)).
Средство eeprom может использоваться в зоне для просмотра параметров настройки. Изменение настроек этой утилитой не допускается. Для получения дополнительной информации см. справочные страницы eeprom(1M) и openprom(7D).