Драйвер интерфейса
псевдодиска (QNX Neutrino)
Примечание. Для запуска этого драйвера
необходимо войти в систему с учетной записью root.
Синтаксис:
devb-ram [cam опция[,опция]...]
[disk опция[,опция]...]
[ram опция[,опция]...]
[blk опция[,опция]...]
&
Поддерживаемые платформы:
Neutrino
Опции:
Примечание. Для разделения опций
используется запятая (,). Группы опций cam, disk, ram и blk могут
располагаться в любом порядке.
Опции группы cam
quiet
Вывести краткую информацию;
не отображать информацию при запуске.
verbose
Вывести расширенную
информацию.
Опции группы disk
Опции группы disk обеспечивают управление
интерфейсом драйвера к cam-disk.so. Указываемые
опции должны следовать за ключевым словом disk. Для получения дополнительной
информации см. cam-disk.so.
Опции группы ram
Опции группы ram обеспечивают управление интерфейсом
драйвера к оперативной памяти:
address=адрес
Физический адрес для
наложения. По умолчанию наложение не используется.
blksize=размер
Установить размер сектора.
Значение по умолчанию – 512 байт.
capacity=число_блоков
Указать
емкость псевдодиска в блоках; размер блока определяется опцией blksize. Значение по умолчанию – 4096
блоков (2 Мб).
nodinit
Не
разбивать псевдодиск на разделы и не форматировать его в
файловую систему QNX 4.
Опции группы blk
Опции группы
blk передаются
модулю io-blk.so. Эти опции
должны следовать за ключевым словом blk и указываться после всех
общих опций или опций группы disk. Для получения
дополнительной информации см. io-blk.so.
Описание:
Драйвер devb-ram создает интерфейс псевдодиска.
Если не указана опция capacity, драйвер devb-ram создает псевдодиск емкостью
2 Мб.
По умолчанию
драйвер devb-ram выполняет
разбиение псевдодиска: один блок выделяется для таблицы
разделов, а остальная часть псевдодиска (емкость диска минус
1) отводится для раздела t77. Затем этот раздел
инициализируется (собственными средствами, без вызова утилиты
dinit) для создания
на нем пустой файловой системы fs-qnx4.so. Если указана опция nodinit, то в дальнейшем можно
форматировать диск вручную, выполнить его разбиение на разделы
с помощью утилиты fdisk (либо отвести
все пространство под одну файловую систему) и смонтировать
диск.
Примечание. По умолчанию io-blk.so выделяет 15% системной
оперативной памяти для кэш- памяти. Для io-blk.so система devb-ram представляет собой дисковое
устройство, поэтому отсутствие необходимости кэш-памяти не
определяется. Уменьшить размер кэш-памяти можно с помощью blk cache=....
Поскольку devb-ram действует как блочное устройство,
выполняющее чтение из оперативной памяти и запись в
оперативную память, его операции проходят множество уровней,
прежде чем будут фактически выполнены в оперативной памяти.
Для повышения производительности псевдодиска используется
опция blk ramdisk=... в io-blk.so. Для получения
дополнительной информации см. подраздел "RAM disks"
("Псевдодиски") в разделе "Connecting Hardware" ("Подключение
оборудования") «Руководства системного программиста
(администратора)» КПДА.10964-01 32.
Примеры:
Создание псевдодиска
емкостью 4 Мб:
devb-ram ram
capacity=8192 &
Файлы:
Драйвер devb-ram обеспечивает взаимодействие io-blk.so с различными
блок-ориентированными специальными устройствами,
присутствующими в каталоге /dev. Эти устройства
обычно имеют имена hdn, где n – номер
физического устройства.
Для работы этого драйвера
могут потребоваться следующие разделяемые объекты:
|
Двоичный
файл
|
Обязательно
|
|
cam-disk.so
|
Для доступа к
псевдодиску.
|
|
libcam.so
|
Всегда
|
Статус завершения:
Драйвер devb-ram завершает работу лишь при
возникновении ошибки во время начального запуска или в случае,
если во время начального запуска драйвер не был запущен в
фоновом режиме и, следовательно, была успешно запущена копия
процесса.
0
Драйвер devb-ram не был запущен
в фоновом режиме, поэтому была запущена копия процесса.
Исходный процесс завершился с нулевым статусом, выполняется
копия процесса.
>
0
При
начальном запуске возникла ошибка.
Предупреждения:
Ограничения
размера диска или раздела отсутствуют; тем не менее, объем
ввода/вывода (например, для функций lseek(), read() и write()) в настоящее время ограничен размером в 2 Гб на
раздел (или диск). Это ограничение по вводу/выводу не
относится к размеру раздела монтируемых файловых систем.
Поддерживаются следующие
известные функции:
chmod(), chown(), close(), closedir(), creat(), devctl(), dup(), dup2(), fcntl(), fpathconf(), fstat(), lseek(), mkdir(), mkfifo(), mknod(), open(), opendir(), pathconf(), read(), readdir(), readlink(), rewinddir(), rmdir(), stat(), symlink(), unlink() (не поддерживается для каталогов), utime(), write()
Следует
отметить, что для определенных вызовов (таких как pipe(), а также read() и write() для FIFO) может
требоваться наличие менеджера pipe.