Драйвер интерфейса диска в оперативной памяти
devb-ram [cam опция[,опция]...][disk опция[,опция]...] [ram опция[,опция]...] [blk опция[,опция]...] &
Поддерживаемые опции можно найти в описании модуля io-blk.so. Указываемые опции должны следовать за ключевым словом blk.
Опции модуля disk обеспечивают управление интерфейсом драйвера к cam-disk.so. Указываемые опции должны следовать за ключевым словом disk. Для получения дополнительной информации см. cam-disk.so.
Опции модуля ram обеспечивают управление интерфейсом драйвера к оперативной памяти:
512
байт.4096
блоков (2 Мб).ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Для запуска этого драйвера необходимо войти в систему с учетной записью root. |
Драйвер 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. Для получения дополнительной информации см. Виртуальные диски (диски в оперативной памяти). |
Создание диска в оперативной памяти емкостью 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 | Всегда |
Драйвер 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
Виртуальные диски (диски в оперативной памяти)
Предыдущий раздел: Драйверы