getconf _PC_NAME_MAX имя_для_пути
getconf
_SC_OPEN_MAX
pathconf() — предоставляются значения конфигурационных лимитов, имеющих отношение к пути;
sysconf() — предоставляются значения конфигурационных лимитов общесистемного уровня;
setrlimit() — производится изменение значений некоторых конфигурационных лимитов. Например, эта функция может использоваться для ограничения числа файлов, которые разрешается открывать процессу, но при этом данная величина зависит также от значения, указанного в ключе -F утилиты procnto.
для файловых систем ОСРВ Neutrino не устанавливаются какие-либо общие правила или ограничения — ограничения определяются исключительно конкретным типом файловой системы и процессом, который предоставляет доступ к файловой системе;
вы можете создать собственный процесс файловой системы или слой, который может почти прозрачно заместить или изменить многие из базовых параметров.
длины имен файлов и путей приводятся в байтах, а не в символах;
многие из поддерживаемых в Neutrino файловых систем используют 32-битовый формат, что накладывает ограничение на размер файла в 2 Гбайт минус 1 байт; это, в свою очередь, ограничивает размер каталога, потому что на размер файла, в котором сохраняется информация о каталоге, распространяется то же ограничение на длину.
_PC_LINK_MAX — максимальное количество ссылок на файл;
_PC_MAX_CANON — максимальное число байтов для канонического буфера ввода терминала (отформатированная строка в буфере редактирования);
_PC_MAX_INPUT — максимальное число байтов для входного буфера необработанных данных терминала;
_PC_NAME_MAX — максимальное число байтов в имени файла (исключая завершающий символ null);
_PC_PATH_MAX — максимальное число байтов в пути (исключая завершающий символ null);
_PC_PIPE_BUF — максимальное число байтов, которое может быть записано атомарно в канальный буфер (pipe);
_PC_CHOWN_RESTRICTED — если константа определена (т. е. не равна –1), то это означает, что использование функции chown() ограничено процессами с соответствующими привилегиями и изменениями группового ID файла на эффективный групповой ID процесса или на один из его дополнительных групповых ID;
_PC_NO_TRUNC — если константа определена (т. е. не равна –1), то это означает, что при использовании компонентов имени для пути длиннее, чем значение, заданное константой _PC_NAME_MAX, приведет к сообщению об ошибке;
_PC_VDISABLE — если константа определена (т. е. не равна –1), то ее значение соответствует специальному символу, который может использоваться для индивидуального отключения специальных управляющих символов в структуре termios.
длина имени файла — 48 или 505 байт, если перед монтированием существует файл .longfilenames (подробнее об этом см. в описании файловой системы QNX 4 в подразд. "Имена файлов" раздела 11);
длина имени для пути — 1024 байта;
размер файла — 2 Гбайт минус 1 байт);
размер каталога — не существует никакого практического ограничения, хотя файлы, которые используются для управления содержимым каталога, имеют указанное стандартное ограничение на длину 2 Гбайт минус 1 байт, что соответствует возможности разместить в одном каталоге приблизительно 33 млн файлов. Вы вряд ли захотите иметь такое количество файлов в каталоге, потому что сканирование каталога происходит линейно, и большое число файлов сильно замедляет работу;
размер файловой системы — 2 Гбайт512; ограничение накладывается драйвером диска;
размер диска — 264 байт; ограничение накладывается драйвером диска.
физический сектор диска – 32-бита (2 Тб), используется devb API.
логический блок файловой системы – 512, 1024, 2048 или 4096 (устанавливается при начальной компоновке файловой системы).
максимальная длина имени файла – 510 байт (UTF-8). Если имя файла в длину меньше 28 байт, оно сохраняется в записях каталога; если имя длиннее, оно сохраняется во внешнем файле, а записи каталога ссылаются на него.
Максимальный размер файла – 64-битная адресация. С размером блока 1Kб (по умолчанию), можно установить 256 блоковых указателей на блок, таким образом, что файл 16 × 256 × 1 Kб (4 Mб) запрашивает 1 уровень непрямых указателей. Если файл больше, то потребуется два уровня (т.е. 16 блоков 256 указателей блоков, содержащих другие 256 указателей на блоки), что дает максимальный размер файла 1 Гб. Для трех уровней непрямых указателей максимальный размер файла будет 256 Гб.
При размере блока 2 Кб, каждый блок поддерживает 512 указателей и соответственное масштабирование.
длина имени файла — 255 байт;
длина имени для пути — 1024 байт;
размер файла — 2 Гбайт минус 1 байт;
размер каталога — 2 Гбайт минус 1; каталоги представляют собой файлы, в которых в качестве данных содержатся индексные дескрипторы и информация об именах файлов;
размер файловой системы — 2 Гбайт512;
размер диска — 264 байт; ограничение накладывается драйвером диска.
длина имени файла — 255 байт;
длина имени для пути — 260 байт;
размер файла — 4 Гбайт минус 1; используется файловая система с 32-битовым форматом;
размер каталога — зависит от типа файловой системы:
корневой каталог FAT12/16 имеет специальную структуру в том смысле, что его размер фиксирован и не может быть увеличен; его размер выбирается при форматировании, и он обычно рассчитан на 512 записей; для FAT32 такого ограничения нет;
лимит каталогов FAT (для DOS-совместимых) – 64K записей.
для длинных имен (не соответствующих стандарту 8.3) может потребоваться использование нескольких записей, что уменьшает возможный размер каталога;
размер файловой системы — зависит от формата FAT:
для FAT12 — 4084 кластера (максимальный размер кластера 32 Кбайт, следовательно, граничный размер равен 128 Мбайт);
для FAT16 — 65 524 кластера (т. е. граничный размер равен 2 Гбайт);
для FAT32 можно получить доступ к 268 435 444 кластерам (что соответствует граничному размеру в 8 Тбайт);
размер диска — ограничен дисковым драйвером и файлом io-blk.
длина имени файла — 32 байта для базового стандарта ISO 9660, 128 байт для стандарта Joliet, 255 байт для стандарта Rockridge;
длина имени для пути — 1024 байта;
размер диска — в файловой системе используется 32-битовый формат (максимальный размер 2 Гбайт минус 1). Не разрешается создание чего-либо через использование файла fs-cd.so, он имеет атрибут "только чтение". Любые ограничения могут накладываться инструментам для создания образа (которые, надо надеяться, относятся к подмножеству стандарта ISO 9660). Размер диска также ограничен дисковым драйвером и файлом io-blk.
длина имени файла — 255 байт;
длина имени для пути — 1024 байта;
размер файла — 2 Гбайт минус 1; ограничение для 32-битовых файловых систем;
размер каталога, размер файловой системы и размер диска — зависит от сервера; ограничение для 32-битовых файловых систем.
длина имени файла — 255 байт;
длина имени для пути — 1024 байта;
размер файла — 2 Гбайт минус 1; ограничение для 32-битовых файловых систем;
размер каталога, размер файловой системы и размер диска — ограничение для 32-битовых файловых систем.
длина имени файла — 255 байт;
длина имени для пути — 1024 байта;
размер файла, размер файловой системы и размер диска — 2 Гбайт минус 1;
размер каталога — ограничивается доступным пространством.
• поддерживается только секция одного уровня (single-level cell (SLC)) NAND flash;
• максимальный размер файловой системы 4 Гб;
• защита резервной области ECC поддерживается только 2 Kб и 4 Kб страницами памяти NAND;
• программное обеспечение ECC поддерживает только 1-битную коррекцию ошибок для каждого 256-байтного буфера;
• поддерживается только флеш-память NAND с размерами страниц памяти 512, 2048 и 4096 байт.
• 2 Kб страниц памяти устройства памяти NAND;
• 4 Kб страниц памяти устройства памяти NAND.
• для 512 NAND, не доступно;
• для 2048 NAND, используется 64 байт ECC;
• для 4096 NAND, используется 128 байт ECC;
Файловая система UDF• для devio_readtrans() и devio_readcluster() — при чтении резервной области, в первую очередь сохраняется резервная область ECC, после этого задаются области резервной структуры 0xFF, которые запрашивают определение циклического контроля избыточности (CRC — проверка сохранности данных для устройства памяти NAND). Выполняется определение CRC, и если произошел сбой, для восстановления необходимо попробовать использовать другую резервную область значения ECC. Если резервная область ECC исправна, действия CRC игнорируются. Если резервная область ECC была скорректирована, устанавливается tacode в структуре транзакции ETFS_TRANS_ECC. Если ECC не было скорректирована, устанавливается tacode для ETFS_TRANS_DATAERR;
• для devio_postcluster() — после определения CRC и ECC для кластера данных, и определения CRC для резервной области, добавляется определение ECC для резервной области. При выполнении определения CRC, необходимо использовать 0xFF в качестве символа-заполнителя для резервной области ECC.
Какие-либо действия в файловой системе с использованием fs-udf.so запрещены. Данная файловая система доступна только для чтения.
Apple
Macintosh HFS и HFS Plus
длина имени файла – 255 символов.
длина имени для пути – 1024 байт.
размер файла – 4 GB − 1; используется формат файловой системы 64-бит.
размер файловой системы – 264 - 1 кластеров.
размер диска – ограничен драйвером диска и io-blk.
число потоков — 32 767;
число таймеров — 32 767;
приоритеты — от 0 до 255.
Выделение памяти: Поскольку реализация функции malloc() использует знаковое 32-битное целое для внутреннего представления размера, то невозможно выделить памяти больше 2 Гб. Если размер больше 2 Гб, эти функции возвращают ошибку ENOMEM:
- asyncmsg_malloc()
- calloc()
- iofunc_lock_calloc()
- malloc()
- memalign()
- realloc()
- valloc()
Таблица 21.1 |
||
Атрибут |
Традиционный подход |
Альтернативный подход |
Число записей |
1024 |
64 |
Размер сообщения |
4096 |
256 |
Таблица 21.2 | ||||||
Ограничение на |
x86 |
PPC |
MIPS |
SH-4 |
ARMv4 |
ARMv6 |
Системное ОЗУ |
64 Гбайт (36-битовая адресация) |
64 Гбайт (36-битовая адресация) |
1 Тбайт (40-битовая адресация) |
512 Мбайт (29-битовая адресация) |
4 Гбайт (32-битовая адресация) |
512 MB (32-битовая адресация)*** |
ЦПУ* |
8 |
8 |
8 |
1 |
1 |
1 |
Виртуальное адресное пространство** |
3,5 Гбайт |
3 Гбайт |
2 Гбайт |
2 Гбайт |
32 Мбайт |
2 Гбайт |