devb-ram

Драйвер интерфейса диска в оперативной памяти

Синтаксис:

devb-ram [cam опция[,опция]...][disk опция[,опция]...] [ram опция[,опция]...] [blk опция[,опция]...] &

Опции:

...
Все опции драйвера сгруппированы по принадлежности к отдельным модулям. Для разделения опций используется запятая (,). Опции модулей cam, disk, ram и blk могут располагаться в любом порядке.

Опции модуля blk:

Поддерживаемые опции можно найти в описании модуля io-blk.so. Указываемые опции должны следовать за ключевым словом 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.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Для запуска этого драйвера необходимо войти в систему с учетной записью root.

Драйвер devb-ram создает интерфейс диска в оперативной памяти. Если не указана опция capacity, драйвер devb-ram создает диск в оперативной памяти емкостью 2 Мб.

По умолчанию драйвер devb-ram выполняет разбиение диска в оперативной памяти: один блок выделяется для таблицы разделов, а остальная часть диска в оперативной памяти (емкость диска минус 1) отводится для раздела "t77". Затем этот раздел инициализируется (собственными средствами, без вызова утилиты dinit) для создания на нем пустой файловой системы fs-qnx4.so. Если указана опция nodinit, то в дальнейшем можно форматировать диск вручную, выполнить его разбиение на разделы с помощью утилиты fdisk (либо отвести все пространство под одну файловую систему) и смонтировать диск.


Note: По умолчанию io-blk.so выделяет 15% системной оперативной памяти для кэш-памяти. Для io-blk.so система devb-ram представляет собой дисковое устройство, поэтому отсутствие необходимости кэш-памяти не определяется. Уменьшить размер кэш-памяти можно с помощью blk cache=... . Поскольку devb-ram действует как блочное устройство, выполняющее чтение из оперативной памяти и запись в оперативную память, его операции проходят множество уровней, прежде чем будут фактически выполнены в оперативной памяти. Для повышения производительности диска в оперативной памяти используется опция blk ramdisk=... в io-blk.so. Для получения дополнительной информации см. Виртуальные диски (диски в оперативной памяти).

Примеры:

Создание диска в оперативной памяти емкостью 4 Мб:

devb-ram ram capacity=8192 &

Создание диска в оперативной памяти емкостью 1 Гб и дополнительными параметрами:

devb-ram disk name=ram ram nodinit blk ramdisk=1024m,cache=0,vnode=256 &

Файлы:

Драйвер devb-ram обеспечивает взаимодействие io-blk.so с различными блок-ориентированными специальными устройствами, присутствующими в каталоге /dev. Эти устройства обычно имеют имена hdn (или cdn для устройств CD-ROM), где n – номер физического устройства. Для работы этого драйвера могут потребоваться следующие разделяемые объекты:

Двоичный файл Обязательно
cam-disk.so Для доступа к диску в оперативной памяти.
libcam.so Всегда

Возвращаемое значение:

0
Драйвер devb-ram не был запущен в фоновом режиме, поэтому была запущена копия его процесса. Исходный процесс завершился с нулевым статусом, выполняется копия процесса.
>0
При начальном запуске возникла ошибка.

Драйвер devb-ram завершает работу лишь при возникновении ошибки во время начального запуска или в случае, если во время начального запуска драйвер не был запущен в фоновом режиме и, следовательно, была успешно запущена копия процесса.

Предостережения:

Ограничения размера диска или раздела отсутствуют; тем не менее, объем ввода/вывода (например, для функций 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.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы

Тематические ссылки:

cam-*, devb-*, fs-*, io-blk.so, dinit, fdisk

Виртуальные диски (диски в оперативной памяти)




Предыдущий раздел: Драйверы