# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # aereiae , 2014. # Alexey , 2015. # Azamat Hackimov , 2013-2017. # Dmitriy S. Seregin , 2013. # Dmitry Bolkhovskikh , 2017. # ITriskTI , 2013. # Max Is , 2016. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. # Малянов Евгений Викторович , 2014. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:03+0200\n" "PO-Revision-Date: 2019-10-06 08:59+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Lokalize 2.0\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "mmap" msgstr "mmap" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "ИМЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "mmap, munmap - map or unmap files or devices into memory" msgstr "" "mmap, munmap - отображает файлы или устройства в памяти, или удаляет их " "отображение" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "СИНТАКСИС" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Esys/mman.hE>\n" msgstr "B<#include Esys/mman.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "BIB<, size_t >IB<, int >IB<, int >IB<,>\n" #| "B< int >IB<, off_t >IB<);>\n" #| "BIB<, size_t >IB<);>\n" msgid "" "BIB<[.>IB<], size_t >IB<, int >IB<, int >IB<,>\n" "B< int >IB<, off_t >IB<);>\n" "BIB<[.>IB<], size_t >IB<);>\n" msgstr "" "BIB<, size_t >IB<, int >IB<, int >IB<,>\n" "B< int >IB<, off_t >IB<);>\n" "BIB<, size_t >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See NOTES for information on feature test macro requirements." msgstr "" "Информацию по требованиям макроса тестирования свойств смотрите в разделе " "ЗАМЕЧАНИЯ." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "ОПИСАНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() creates a new mapping in the virtual address space of the calling " "process. The starting address for the new mapping is specified in I. " "The I argument specifies the length of the mapping (which must be " "greater than 0)." msgstr "" "Вызов B() создаёт новое отображение в виртуальном адресном " "пространстве вызывающего процесса. Адрес начала нового отображения " "указывается в I. В аргументе I задаётся длина отображения " "(должна быть больше 0)." #. Before Linux 2.6.24, the address was rounded up to the next page #. boundary; since Linux 2.6.24, it is rounded down! #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is NULL, then the kernel chooses the (page-aligned) address at " "which to create the mapping; this is the most portable method of creating a " "new mapping. If I is not NULL, then the kernel takes it as a hint " "about where to place the mapping; on Linux, the kernel will pick a nearby " "page boundary (but always above or equal to the value specified by I) and attempt to create the mapping there. If another " "mapping already exists there, the kernel picks a new address that may or may " "not depend on the hint. The address of the new mapping is returned as the " "result of the call." msgstr "" "Если значение I равно NULL, то ядро само выбирает адрес (выровненный " "по странице), по которому создаётся отображение; это наиболее переносимый " "метод создания нового отображения. Если значение I не равно NULL, то " "ядро учитывает это при размещении отображения; в Linux ядро выберет " "ближайшую к границе страницу (но всегда выше или равною значению, заданному " "в I) и попытается создать отображение. Если по " "этому адресу уже есть отображение, то ядро выберет новый адрес, который " "может и не зависеть от подсказки. Адрес нового отображения возвращается как " "результат вызова." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The contents of a file mapping (as opposed to an anonymous mapping; see " "B below), are initialized using I bytes starting at " "offset I in the file (or other object) referred to by the file " "descriptor I. I must be a multiple of the page size as returned " "by I." msgstr "" "Содержимое файлового отображения (в отличие от анонимного отображения; " "смотрите B далее) инициализируется данными из файла (или " "объекта), на который указывает файловый дескриптор I, длиной I " "байт, начиная со смещения I. Значение I должно быть кратно " "размеру (возвращается I) страницы." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "After the B() call has returned, the file descriptor, I, can be " "closed immediately without invalidating the mapping." msgstr "" "После возврата из вызова B() файловый дескриптор I может быть " "немедленно закрыт без признания отображения недействительным." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument describes the desired memory protection of the mapping " "(and must not conflict with the open mode of the file). It is either " "B or the bitwise OR of one or more of the following flags:" msgstr "" "В аргументе I указывается желаемая защита памяти отображения (не " "должна конфликтовать с режимом открытого файла). Значением может быть " "B или побитово сложенные (OR) следующие флаги:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be executed." msgstr "Страницы доступны для исполнения." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be read." msgstr "Страницы доступны для чтения." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may be written." msgstr "Страницы доступны для записи." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Pages may not be accessed." msgstr "Страницы недоступны." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "The flags argument" msgstr "Аргумент флагов" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument determines whether updates to the mapping are visible " "to other processes mapping the same region, and whether updates are carried " "through to the underlying file. This behavior is determined by including " "exactly one of the following values in I:" msgstr "" "В аргументе I задаётся будут ли изменения отображения видимы другим " "процессам, отображающим ту же область, и будут ли изменения перенесены в " "отображённый файл. Данное поведение определяется в I одним из " "следующих значений:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Share this mapping. Updates to the mapping are visible to other processes " "mapping the same region, and (in the case of file-backed mappings) are " "carried through to the underlying file. (To precisely control when updates " "are carried through to the underlying file requires the use of B(2).)" msgstr "" "Сделать отображение общим. Изменения отображения видимы всем процессам, " "отображающим ту же область и (если отображение выполняется из файла) " "изменения заносятся в отображённый файл (для более точного контроля над " "изменениями файла нужно использовать B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.15)" msgstr "B (начиная с Linux 4.15)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag provides the same behavior as B except that " "B mappings ignore unknown flags in I. By contrast, when " "creating a mapping using B, the kernel verifies all " "passed flags are known and fails the mapping with the error B " "for unknown flags. This mapping type is also required to be able to use " "some mapping flags (e.g., B)." msgstr "" "Данный флаг представляет тоже, что и B, отображения " "B игнорируют неизвестные флаги I. Если же отображение " "создаётся с B, ядро проверят, что ему известны все " "переданные флаги и завершает отображение ошибкой B, если есть " "неизвестные флаги. Этот тип отображения также требуется для использования " "некоторых флагов отображения (например, B)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Create a private copy-on-write mapping. Updates to the mapping are not " "visible to other processes mapping the same file, and are not carried " "through to the underlying file. It is unspecified whether changes made to " "the file after the B() call are visible in the mapped region." msgstr "" "Создать закрытое отображение с механизмом копирования при записи. Изменения " "отображения невидимы другим процессам, отображающим тот же файл, и сам файл " "не изменяется. Не определено, будут ли видимы в отображённой области " "изменения в файле, сделанные после вызова B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Both B and B are described in POSIX.1-2001 and " "POSIX.1-2008. B is a Linux extension." msgstr "" "Флаги B и B описаны в POSIX.1-2001 и POSIX.1-2008. " "Флаг B является расширением Linux." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition, zero or more of the following values can be ORed in I:" msgstr "Кроме этого в I могут быть указаны (побитовым сложением):" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.4.20, 2.6)" msgstr "B (начиная с Linux 2.4.20, 2.6)" #. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Put the mapping into the first 2 Gigabytes of the process address space. " "This flag is supported only on x86-64, for 64-bit programs. It was added to " "allow thread stacks to be allocated somewhere in the first 2\\ GB of memory, " "so as to improve context-switch performance on some early 64-bit " "processors. Modern x86-64 processors no longer have this performance " "problem, so use of this flag is not required on those systems. The " "B flag is ignored when B is set." msgstr "" "Поместить отображение в первые 2 гигабайта адресного пространства процесса. " "Этот флаг поддерживается только на архитектуре x86-64 для 64-битных " "программ. Он был добавлен для размещения стеков нитей в первых 2\\ ГБ " "памяти, что даёт увеличение производительности при переключения контекста на " "некоторых первых 64-битных процессорах. В современных процессорах x86-64 " "такой проблемы с производительностью больше нет, поэтому на таких системах " "данный флаг больше не требуется. Он игнорируется, если указан флаг " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Synonym for B; provided for compatibility with other " "implementations." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. See the pgoff overflow check in do_mmap(). #. See the offset check in sys_mmap in arch/x86/kernel/sys_x86_64.c. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The mapping is not backed by any file; its contents are initialized to " #| "zero. The I argument is ignored; however, some implementations " #| "require I to be -1 if B (or B) is " #| "specified, and portable applications should ensure this. The I " #| "argument should be zero. The use of B in conjunction with " #| "B is supported on Linux only since kernel 2.4." msgid "" "The mapping is not backed by any file; its contents are initialized to " "zero. The I argument is ignored; however, some implementations require " "I to be -1 if B (or B) is specified, and " "portable applications should ensure this. The I argument should be " "zero. Support for B in conjunction with B was " "added in Linux 2.4." msgstr "" "Отображение не привязанное к файлу; его содержимое инициализируется нулями. " "Аргумент I игнорируется ; однако в некоторых реализациях при указании " "B (или B) требуется указывать I равное -1, и " "так нужно поступать для переносимости приложений. Аргумент I должен " "быть ноль. Использование B вместе с B " "поддерживается в Linux только начиная с ядра версии 2.4." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. Introduced in 1.1.36, removed in 1.3.24. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "This flag is ignored. (Long ago\\(emLinux 2.0 and earlier\\(emit " #| "signaled that attempts to write to the underlying file should fail with " #| "B. But this was a source of denial-of-service attacks.)" msgid "" "This flag is ignored. (Long ago\\[em]Linux 2.0 and earlier\\[em]it signaled " "that attempts to write to the underlying file should fail with B. " "But this was a source of denial-of-service attacks.)" msgstr "" "Этот флаг игнорируется (раньше — Linux 2.0 и старее — он обозначал, что " "попытки записи в подчинённые файлы должны завершаться с кодом ошибки " "B. Но это стало основой для атак типа отказа в обслуживании)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. Introduced in 1.1.38, removed in 1.3.24. Flag tested in proc_follow_link. #. (Long ago, it signaled that the underlying file is an executable. #. However, that information was not really used anywhere.) #. Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of #. MAP_DENYWRITE? #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This flag is ignored." msgstr "Этот флаг игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. On some systems, this was required as the opposite of #. MAP_ANONYMOUS -- mtk, 1 May 2007 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Compatibility flag. Ignored." msgstr "Флаг для совместимости, игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Don't interpret I as a hint: place the mapping at exactly that " "address. I must be suitably aligned: for most architectures a " "multiple of the page size is sufficient; however, some architectures may " "impose additional restrictions. If the memory region specified by I " "and I overlaps pages of any existing mapping(s), then the overlapped " "part of the existing mapping(s) will be discarded. If the specified address " "cannot be used, B() will fail." msgstr "" "Не учитывать I как подсказку: помещать отображение точно по этому " "адресу. Значение I должно быть выровнено соответствующим образом: на " "большинстве архитектур оно должно быть кратно размеру страницы; однако " "некоторые архитектуры могут накладывать дополнительные ограничения. Если " "область памяти, задаваемая I и I, перекрывается со страницами " "существующих отображений, то перекрывающаяся часть существующих отображений " "будет отброшена. Если заданный адрес не может быть использован, то вызов " "B() завершается ошибкой." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Software that aspires to be portable should use the B flag " #| "with care, keeping in mind that the exact layout of a process's memory " #| "mappings is allowed to change significantly between kernel versions, C " #| "library versions, and operating system releases. I" msgid "" "Software that aspires to be portable should use the B flag with " "care, keeping in mind that the exact layout of a process's memory mappings " "is allowed to change significantly between Linux versions, C library " "versions, and operating system releases. I" msgstr "" "В переносимом ПО флаг B нужно использовать осторожно, так как " "точная раскладка процесса в памяти, доступная для изменения, может " "значительно отличаться в разных версиях ядер, библиотеки С и выпусках " "операционной системы. I<Внимательно прочитайте описание этого флага в " "ЗАМЕЧАНИЯХ!>" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.17)" msgstr "B (начиная с Linux 4.17)" #. commit a4ff8e8620d3f4f50ac4b41e8067b7d395056843 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag provides behavior that is similar to B with respect to " "the I enforcement, but differs in that B never " "clobbers a preexisting mapped range. If the requested range would collide " "with an existing mapping, then this call fails with the error B " "This flag can therefore be used as a way to atomically (with respect to " "other threads) attempt to map an address range: one thread will succeed; all " "others will report failure." msgstr "" "Данный флаг действует схожим с B образом при контроле I, но " "в отличие от него, флаг B никогда не разделяет уже " "существующий отображённый диапазон. Если запрошенный диапазон пересекается с " "существующим отображением, то такой вызов завершается ошибкой B. " "Поэтому данный флаг можно использовать как атомарную (если есть другие нити) " "попытку отображения адресного диапазона: для одной нити она закончится " "успешно; все остальные получат ошибку." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Note that older kernels which do not recognize the B " #| "flag will typically (upon detecting a collision with a preexisting " #| "mapping) fall back to a \"non-B\" type of behavior: they will " #| "return an address that is different from the requested address. " #| "Therefore, backward-compatible software should check the returned address " #| "against the requested address." msgid "" "Note that older kernels which do not recognize the B " "flag will typically (upon detecting a collision with a preexisting mapping) " "fall back to a \\[lq]non-B\\[rq] type of behavior: they will " "return an address that is different from the requested address. Therefore, " "backward-compatible software should check the returned address against the " "requested address." msgstr "" "Заметим, что старые ядра, не понимающие флаг B, обычно " "(при обнаружении пересечения с существующим отображением) переходят к " "запасному варианту поведения, «не B»: они возвращают адрес, " "отличающийся от запрашиваемого адреса. Поэтому, ПО с обратной совместимостью " "должно сравнивать возращённый адрес с запрашиваемым." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is used for stacks. It indicates to the kernel virtual memory " "system that the mapping should extend downward in memory. The return " "address is one page lower than the memory area that is actually created in " "the process's virtual address space. Touching an address in the \"guard\" " "page below the mapping will cause the mapping to grow by a page. This " "growth can be repeated until the mapping grows to within a page of the high " "end of the next lower mapping, at which point touching the \"guard\" page " "will result in a B signal." msgstr "" "Этот флаг используется для стеков. Для виртуальной системы памяти ядра он " "обозначает, что отображение должно расширяться вниз по памяти. Возвращаемый " "адрес указывает на одну страницу ниже области памяти, которая в " "действительности создаётся в виртуальном адресном пространстве процесса. " "Обращение к адресу ниже «защитной» страницы отображения приведёт к " "расширению отображения на страницу. Увеличение таким способом можно " "повторять до тех пор, пока рост отображения страницы верхним концом не " "достигнет следующего нижнего отображения, при таком обращении к «защитной» " "страницы возникнет сигнал B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.32)" msgstr "B (начиная с Linux 2.6.32)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allocate the mapping using \"huge\" pages. See the Linux kernel source file " "I for further information, as " "well as NOTES, below." msgstr "" "Выделять отображение используя «огромные страницы». Дополнительную " "информацию смотрите в файле исходного кода ядра Linux I, а также следующее дополнение." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B (since Linux 2.6.32)" msgid "B (since Linux 3.8)" msgstr "B (начиная с Linux 2.6.32)" #. See https://lwn.net/Articles/533499/ #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Used in conjunction with B to select alternative hugetlb page " "sizes (respectively, 2\\ MB and 1\\ GB) on systems that support multiple " "hugetlb page sizes." msgstr "" "Используется как дополнение к B для выбора размера страницы " "hugetlb (2\\ МБ и 1\\ ГБ, соответственно), сработает только в системе " "которая поддерживает различные размеры больших страниц." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "More generally, the desired huge page size can be configured by encoding the " "base-2 logarithm of the desired page size in the six bits at the offset " "B. (A value of zero in this bit field provides the default " "huge page size; the default huge page size can be discovered via the " "I field exposed by I.) Thus, the above two " "constants are defined as:" msgstr "" "Вообще, желаемый размер огромной страницы можно настроить закодировав " "логарифм 2 от желаемого размера страницы в шести битах со смещением " "B (значение нуля в этом битовом поле означает выбор значения " "огромной страницы по умолчанию; это значение можно найти в поле " "I просмотрев файл I). Таким образом две " "показанные выше константы определены как:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "#define MAP_HUGE_2MB (21 EE MAP_HUGE_SHIFT)\n" "#define MAP_HUGE_1GB (30 EE MAP_HUGE_SHIFT)\n" msgstr "" "#define MAP_HUGE_2MB (21 EE MAP_HUGE_SHIFT)\n" "#define MAP_HUGE_1GB (30 EE MAP_HUGE_SHIFT)\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The range of huge page sizes that are supported by the system can be " "discovered by listing the subdirectories in I." msgstr "" "Рабочий диапазон страниц огромного размера может быть обнаружен, перечислив " "подкаталоги в I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.37)" msgstr "B (начиная с Linux 2.5.37)" #. If set, the mapped pages will not be swapped out. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Mark the mapped region to be locked in the same way as B(2). This " "implementation will try to populate (prefault) the whole range but the " "B() call doesn't fail with B if this fails. Therefore major " "faults might happen later on. So the semantic is not as strong as " "B(2). One should use B() plus B(2) when major faults " "are not acceptable after the initialization of the mapping. The " "B flag is ignored in older kernels." msgstr "" "Пометить отображаемую область как заблокированную таким же образом как с " "помощью B(2). Данная реализация будет пытаться заполнить (предотказ) " "область полностью, но вызов B() не завершится ошибкой B, если " "это не удастся сделать. Поэтому действительные отказы могут произойти " "позднее. Такой алгоритм не совпадает с B(2). Нужно использовать " "B() плюс B(2), если действительные отказы недопустимы после " "инициализации отображения. В старых ядрах флаг B игнорируется." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (начиная с Linux 2.5.46)" #. commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is meaningful only in conjunction with B. Don't " "perform read-ahead: create page tables entries only for pages that are " "already present in RAM. Since Linux 2.6.23, this flag causes " "B to do nothing. One day, the combination of B " "and B may be reimplemented." msgstr "" "Данный флаг имеет смысл только вместе с B. Не выполнять " "упреждающее чтение: только создать записи в таблице страниц для страниц, " "которые уже есть ОЗУ. Начиная с Linux 2.6.23 этот флаг приводит к тому, что " "выполнение работы B отменяется. Когда-нибудь комбинация " "B и B может быть реализована заново." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Do not reserve swap space for this mapping. When swap space is reserved, " #| "one has the guarantee that it is possible to modify the mapping. When " #| "swap space is not reserved one might get B upon a write if no " #| "physical memory is available. See also the discussion of the file I in B(5). In kernels before 2.6, " #| "this flag had effect only for private writable mappings." msgid "" "Do not reserve swap space for this mapping. When swap space is reserved, " "one has the guarantee that it is possible to modify the mapping. When swap " "space is not reserved one might get B upon a write if no physical " "memory is available. See also the discussion of the file I in B(5). Before Linux 2.6, this flag had effect " "only for private writable mappings." msgstr "" "Не резервировать страницы пространства подкачки для этого отображения. Если " "пространство подкачки резервируется, то для отображения гарантируется " "возможность изменения. Если оно не резервируется, то можно получить сигнал " "B при записи, если физическая память будет недоступна. Смотрите " "также описание файла I в B(5). В ядрах " "до 2.6 этот флаг действовал только для частных доступных на запись " "отображений." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (начиная с Linux 2.5.46)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Populate (prefault) page tables for a mapping. For a file mapping, this " #| "causes read-ahead on the file. This will help to reduce blocking on page " #| "faults later. B is supported for private mappings only " #| "since Linux 2.6.23." msgid "" "Populate (prefault) page tables for a mapping. For a file mapping, this " "causes read-ahead on the file. This will help to reduce blocking on page " "faults later. The B() call doesn't fail if the mapping cannot be " "populated (for example, due to limitations on the number of mapped huge " "pages when using B). Support for B in " "conjunction with private mappings was added in Linux 2.6.23." msgstr "" "Наполнить (до возникновения страничного прерывания, prefault) страничные " "таблицы отображения. Для файлового отображения это приводит к опережающему " "чтению из файла. В дальнейшем это помогает сократить блокировку по отказу " "страниц. Флаг B поддерживается для закрытых отображений только " "начиная с Linux 2.6.23." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.27)" msgstr "B (начиная с Linux 2.6.27)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Allocate the mapping at an address suitable for a process or thread stack." msgstr "" #. See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 #. commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 #. http://thread.gmane.org/gmane.linux.kernel/720412 #. "pthread_create() slow for many threads; also time to revisit 64b #. context switch optimization?" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is currently a no-op on Linux. However, by employing this flag, " "applications can ensure that they transparently obtain support if the flag " "is implemented in the future. Thus, it is used in the glibc threading " "implementation to allow for the fact that some architectures may (later) " "require special treatment for stack allocations. A further reason to employ " "this flag is portability: B exists (and has an effect) on some " "other systems (e.g., some of the BSDs)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.15)" msgstr "B (начиная с Linux 4.15)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag is available only with the B mapping type; " "mappings of type B will silently ignore this flag. This flag is " "supported only for files supporting DAX (direct mapping of persistent " "memory). For other files, creating a mapping with this flag results in an " "B error." msgstr "" "Данный флаг доступен только с типом отображения B; " "отображения с типом B будут просто игнорировать этот флаг. Этот " "флаг поддерживается только для файлов поддерживаемых DAX (прямое отображение " "в постоянную память). Для остальных файлов, создание отображения с этим " "флагом приводит к возврату ошибки B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Shared file mappings with this flag provide the guarantee that while some " "memory is mapped writable in the address space of the process, it will be " "visible in the same file at the same offset even after the system crashes or " "is rebooted. In conjunction with the use of appropriate CPU instructions, " "this provides users of such mappings with a more efficient way of making " "data modifications persistent." msgstr "" "Общие файловые отображения с этим флагом представляют гарантию того, что " "пока есть часть памяти отображённая для записи в адресном пространстве " "процесса, она будет видима в том же файле по тому же смещению даже после " "падения или перезагрузки системы. Вместе с использованием соответствующих " "инструкций ЦП это позволяет пользователям таких отображений эффективней " "выполнять устойчивые изменения данных." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.33)" msgstr "B (начиная с Linux 2.6.33)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Don't clear anonymous pages. This flag is intended to improve performance " "on embedded devices. This flag is honored only if the kernel was configured " "with the B option. Because of the security " "implications, that option is normally enabled only on embedded devices (i." "e., devices where one has complete control of the contents of user memory)." msgstr "" "Не очищать анонимные страницы. Этот флаг предназначен для повышения " "производительности на встраиваемых устройствах. Он учитывается, только если " "ядро было собрано с поддержкой параметра B. " "Так как этот параметр может привести к нарушению безопасности, обычно он " "устанавливается только на встраиваемых устройствах (то есть, устройствах, " "где только один человек имеет полный контроль над содержимым " "пользовательской памяти)." #. FIXME . for later review when Issue 8 is one day released... #. POSIX may add MAP_ANON in the future #. http://austingroupbugs.net/tag_view_page.php?tag_id=8 #. http://austingroupbugs.net/view.php?id=850 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Of the above flags, only B is specified in POSIX.1-2001 and " "POSIX.1-2008. However, most systems also support B (or its " "synonym B)." msgstr "" "Из флагов, перечисленных выше, в POSIX.1-2001 и POSIX.1-2008 определён " "только B. Однако, большинство систем также поддерживают " "B (или его синоним B)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "munmap()" msgstr "munmap()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() system call deletes the mappings for the specified address " "range, and causes further references to addresses within the range to " "generate invalid memory references. The region is also automatically " "unmapped when the process is terminated. On the other hand, closing the " "file descriptor does not unmap the region." msgstr "" "Системный вызов B() удаляет отображение для указанного адресного " "диапазона и это приводит к тому, что дальнейшее обращение по адресам внутри " "диапазона приводит к генерации неправильных ссылок на память. Также для " "диапазона отображение автоматически удаляется при завершении работы " "процесса. С другой стороны, закрытие файлового дескриптора не приводит к " "удалению отображения диапазона." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The address I must be a multiple of the page size (but I need " "not be). All pages containing a part of the indicated range are unmapped, " "and subsequent references to these pages will generate B. It is " "not an error if the indicated range does not contain any mapped pages." msgstr "" "Адрес I должен быть кратен размеру страницы (но значения I это " "не касается). Все страницы, содержащие часть указанного диапазона, удаляются " "из отображения и последующие ссылки на эти страницы приводят к генерации " "сигнала B. Это не ошибка, если указанный диапазон не содержит каких-" "либо отображённых страниц." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, B() returns a pointer to the mapped area. On error, " #| "the value B (that is, I<(void\\ *)\\ -1>) is returned, and " #| "I is set to indicate the cause of the error." msgid "" "On success, B() returns a pointer to the mapped area. On error, the " "value B (that is, I<(void\\ *)\\ -1>) is returned, and I " "is set to indicate the error." msgstr "" "При успешном выполнении B() возвращается указатель на отображённую " "область. При ошибке возвращается значение B (а именно, I<(void\\ " "*)\\ -1>) и I устанавливается в соответствующее значение. " #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, B() returns 0. On failure, it returns -1, and " #| "I is set to indicate the cause of the error (probably to " #| "B)." msgid "" "On success, B() returns 0. On failure, it returns -1, and I " "is set to indicate the error (probably to B)." msgstr "" "При успешном выполнении B() возвращает 0. При сбои возвращается -1, " "и код ошибки кладётся в I (скорее всего B)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ОШИБКИ" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A file descriptor refers to a non-regular file. Or a file mapping was " "requested, but I is not open for reading. Or B was " "requested and B is set, but I is not open in read/write " "(B) mode. Or B is set, but the file is append-only." msgstr "" "Файловый дескриптор указывает на не обычный файл. Или было запрошено " "отображение файла (mapping), но I не открыт на чтение. Или был указан " "флаг B и установлен бит B, но I не открыт в " "режиме чтения/записи (B). Или был указан флаг B, но файл " "доступен только для дополнения." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The file has been locked, or too much memory has been locked (see " "B(2))." msgstr "" "Файл заблокирован, или блокируется слишком много памяти (смотрите " "B(2))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is not a valid file descriptor (and B was not set)." msgstr "" "Значение I не является правильным файловым дескриптором (и " "B не установлен)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was specified in I, and the range covered by " "I and I clashes with an existing mapping." msgstr "" "В I указан B и диапазон, покрываемый I и " "I, пересекается с существующим отображением." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We don't like I, I, or I (e.g., they are too large, or " "not aligned on a page boundary)." msgstr "" "Неправильное значение I, I или I (например, оно либо " "слишком велико, либо не выровнено по границе страницы)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "(since Linux 2.6.12) I was 0." msgstr "(начиная с Linux 2.6.12) Значение I равно 0." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I contained none of B, B, or " "B." msgstr "" "В I отсутствует B, B или " "B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. This is for shared anonymous segments #. [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() #. .TP #. .B ENOEXEC #. A file could not be mapped for reading. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "Достигнуто максимальное количество открытых файлов в системе." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The underlying filesystem of the specified file does not support memory " "mapping." msgstr "" "Используемая файловая система для указанного файла не поддерживает " "отображение памяти." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "No memory is available." msgstr "Больше нет доступной памяти." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The process's maximum number of mappings would have been exceeded. This " "error can also occur for B(), when unmapping a region in the middle " "of an existing mapping, since this results in two smaller mappings on either " "side of the region being unmapped." msgstr "" "Процесс превысил бы ограничение на максимальное количество отображений. Эта " "ошибка также может возникнуть в B() при удалении отображения области " "в середине существующего отображения, так как при этом выполняется удаление " "отображения двух отображений меньшего размера на любом конце области." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(since Linux 4.7) The process's B limit, described in " "B(2), would have been exceeded." msgstr "" "(начиная с Linux 4.7) Было бы превышено ограничение процесса B, " "описанное в B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We don't like I, because it exceeds the virtual address space of the " "CPU." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On 32-bit architecture together with the large file extension (i.e., using " "64-bit I): the number of pages used for I plus number of " "pages used for I would overflow I (32 bits)." msgstr "" "На 32-битной архитектуре вместе с расширением для больших файлов (т.е., " "используется 64-битный I): количество страниц, используемых для " "I плюс количество страниц, используемых для I приводит к " "переполнению I (32 бита)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. (Since Linux 2.4.25 / Linux 2.6.0.) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument asks for B but the mapped area belongs to a " "file on a filesystem that was mounted no-exec." msgstr "" "Аргументом I запрашивается B, но отображённая область " "принадлежит файлу на файловой системе, которая смонтирована с флагом no-exec." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The operation was prevented by a file seal; see B(2)." msgstr "" "Выполнение операции предотвращено опечатыванием (file seal); смотрите " "B(2)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The B flag was specified, but the caller was not privileged " "(did not have the B capability) and is not a member of the " "I group; see the description of I in B(5)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B was set but the object specified by I is open for " "writing." msgstr "" "Был задан флаг B, но объект, указываемый I, открыт на " "запись." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Use of a mapped region can result in these signals:" msgstr "" "При использовании отображаемой области памяти могут возникать следующие " "сигналы:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Attempted write into a region mapped as read-only." msgstr "Попытка записи в область, отображённую только для чтения." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Attempted access to a page of the buffer that lies beyond the end of the " "mapped file. For an explanation of the treatment of the bytes in the page " "that corresponds to the end of a mapped file that is not a multiple of the " "page size, see NOTES." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "АТРИБУТЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "Описание терминов данного раздела смотрите в B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Интерфейс" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Атрибут" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Значение" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B()" msgstr "" "B(),\n" "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Безвредность в нитях" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "ВЕРСИИ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On some hardware architectures (e.g., i386), B implies " "B. It is architecture dependent whether B implies " "B or not. Portable programs should always set B if " "they intend to execute code in the new mapping." msgstr "" "На некоторых архитектурах (например, i386), флаг B подразумевает " "флаг B. Также от архитектуры зависит подразумевает ли " "B флаг B или нет. Переносимые программы должны всегда " "устанавливать B, если они собираются выполнять код, находящийся в " "отображении." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The portable way to create a mapping is to specify I as 0 (NULL), and " "omit B from I. In this case, the system chooses the " "address for the mapping; the address is chosen so as not to conflict with " "any existing mapping, and will not be 0. If the B flag is " "specified, and I is 0 (NULL), then the mapped address will be 0 (NULL)." msgstr "" "Переносимый способ создания отображения: указать в I значение 0 (NULL) " "и убрать B из I. В этом случае, система сама выберет адрес " "для отображения; адрес, выбранный таким образом, не будет будет " "конфликтовать с существующими отображениями и не будет равен 0. Если указан " "флаг B и значение I равно 0 (NULL), то адрес отображения " "будет равен 0 (NULL)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Certain I constants are defined only if suitable feature test macros " "are defined (possibly by default): B<_DEFAULT_SOURCE> with glibc 2.19 or " "later; or B<_BSD_SOURCE> or B<_SVID_SOURCE> in glibc 2.19 and earlier. " "(Employing B<_GNU_SOURCE> also suffices, and requiring that macro " "specifically would have been more logical, since these flags are all Linux-" "specific.) The relevant flags are: B, B (and the " "synonym B), B, B, B, " "B, B, B, B, " "B, B, and B." msgstr "" "Некоторые константы I определены только, если определён подходящий " "макрос тестирования свойств (возможно, по умолчанию): B<_DEFAULT_SOURCE> в " "glibc 2.19 и новее; B<_BSD_SOURCE> или B<_SVID_SOURCE> в glibc 2.19 и старее " "(также достаточно использовать B<_GNU_SOURCE> и требовать, этот макрос " "логично, так как данные флаги есть только в Linux). Соответственно, флаги: " "B, B (и синоним B), B, " "B, B, B, B, " "B, B, B, B и " "B." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Отличия между библиотекой C и ядром" #. Since around glibc 2.1/2.2, depending on the platform. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "This page describes the interface provided by the glibc B() " #| "wrapper function. Originally, this function invoked a system call of the " #| "same name. Since kernel 2.4, that system call has been superseded by " #| "B(2), and nowadays the glibc B() wrapper function invokes " #| "B(2) with a suitably adjusted value for I." msgid "" "This page describes the interface provided by the glibc B() wrapper " "function. Originally, this function invoked a system call of the same " "name. Since Linux 2.4, that system call has been superseded by B(2), " "and nowadays the glibc B() wrapper function invokes B(2) with " "a suitably adjusted value for I." msgstr "" "В данной странице описывается интерфейс, предоставляемый обёрточной функцией " "glibc B(). Раньше, эта функция обращалась к системному вызову с тем же " "именем. Начиная с ядра 2.4, данный системный вызов был заменён на " "B(2). В настоящее время обёрточная функция glibc, B(), вызывает " "B(2) с подходящим подкорректированным значением I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "СТАНДАРТЫ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. SVr4 documents additional error codes ENXIO and ENODEV. #. SUSv2 documents additional error codes EMFILE and EOVERFLOW. #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "POSIX.1-2001, SVr4, 4.3BSD." msgid "POSIX.1-2001, SVr4, 4.4BSD." msgstr "POSIX.1-2001, SVr4, 4.3BSD." #. POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. #. -1: unavailable, 0: ask using sysconf(). #. glibc defines it to 1. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On POSIX systems on which B(), B(2), and B() are " "available, B<_POSIX_MAPPED_FILES> is defined in Iunistd.hE> to a " "value greater than 0. (See also B(3).)" msgstr "" "В системах POSIX, в которых есть вызовы B(), B(2) и " "B(), значение B<_POSIX_MAPPED_FILES>, определённое в Iunistd." "hE>, больше 0 (смотрите также B(3))." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ПРИМЕЧАНИЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Memory mapped by B() is preserved across B(2), with the same " "attributes." msgstr "" "Память, отображённая с помощью B(), сохраняется при B(2) с теми " "же атрибутами." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "A file is mapped in multiples of the page size. For a file that is not a " #| "multiple of the page size, the remaining memory is zeroed when mapped, " #| "and writes to that region are not written out to the file. The effect of " #| "changing the size of the underlying file of a mapping on the pages that " #| "correspond to added or removed regions of the file is unspecified." msgid "" "A file is mapped in multiples of the page size. For a file that is not a " "multiple of the page size, the remaining bytes in the partial page at the " "end of the mapping are zeroed when mapped, and modifications to that region " "are not written out to the file. The effect of changing the size of the " "underlying file of a mapping on the pages that correspond to added or " "removed regions of the file is unspecified." msgstr "" "Файл отображается по кратному размеру страницы. Для файла, который не кратен " "размеру страницы, оставшаяся память при отображении заполняется нулями, и " "запись в эту область не приводит к изменению файла. Действия при изменении " "размера отображаемого файла на страницы, которые соответствуют добавленным " "или удалённым областям файла, не определены." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "An application can determine which pages of a mapping are currently resident " "in the buffer/page cache using B(2)." msgstr "" "Приложение может определить какие страницы отображены в данный момент в " "буфере/страничном кэше с помощью B(2)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Using MAP_FIXED safely" msgstr "Безопасное использование MAP_FIXED" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The only safe use for B is where the address range specified by " "I and I was previously reserved using another mapping; " "otherwise, the use of B is hazardous because it forcibly removes " "preexisting mappings, making it easy for a multithreaded process to corrupt " "its own address space." msgstr "" "Единственным вариантом безопасного использования B является " "предварительное резервирование адресного пространства, указываемого в " "I и I, другим отображением; в остальных случаях использование " "B опасно, так как оно выполняет принудительное удаление " "существующих отображений, что позволяет легко повредить собственное адресное " "пространство многонитевого процесса." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "For example, suppose that thread A looks through IpidE/" #| "maps> in order to locate an unused address range that it can map using " #| "B, while thread B simultaneously acquires part or all of that " #| "same address range. When thread A subsequently employs " #| "B, it will effectively clobber the mapping that thread B " #| "created. In this scenario, thread B need not create a mapping directly; " #| "simply making a library call that, internally, uses B(3) to load " #| "some other shared library, will suffice. The B(3) call will map " #| "the library into the process's address space. Furthermore, almost any " #| "library call may be implemented in a way that adds memory mappings to the " #| "address space, either with this technique, or by simply allocating " #| "memory. Examples include B(2), B(3), B(3), " #| "and the PAM libraries E<.UR http://www.linux-pam.org> E<.UE .>" msgid "" "For example, suppose that thread A looks through IpidI in " "order to locate an unused address range that it can map using B, " "while thread B simultaneously acquires part or all of that same address " "range. When thread A subsequently employs B, it will " "effectively clobber the mapping that thread B created. In this scenario, " "thread B need not create a mapping directly; simply making a library call " "that, internally, uses B(3) to load some other shared library, will " "suffice. The B(3) call will map the library into the process's " "address space. Furthermore, almost any library call may be implemented in a " "way that adds memory mappings to the address space, either with this " "technique, or by simply allocating memory. Examples include B(2), " "B(3), B(3), and the PAM libraries E<.UR http://www." "linux-pam.org> E<.UE .>" msgstr "" "Предположим, например, что нить A просматривает IpidE/maps>в " "поиске неиспользуемого адресного диапазона, который она сможет отобразить " "используя B, но одновременно с этим нить B захватывает часть или " "весь этот же адресный диапазон. Когда после этого нить A запустит " "B, это, фактически, разобьёт отображение, созданное нитью " "B. В этом сценарии нити B не нужно создавать отображение явным образом; " "будет достаточно просто сделать библиотечный вызов, например, B(3) " "для загрузки какой-то другой общей библиотеки. Вызов B(3) отобразит " "библиотеку в адресное пространство процесса. Более того, почти каждый " "библиотечный вызов можно реализовать так, чтобы он добавлял отображения " "памяти в адресное пространство с помощью этого метода или просто выделяя " "память. Например, такими вызовами являются B(2), B(3), " "B(3) и библиотеки PAM E<.UR http://www.linux-pam.org> E<.UE ." ">" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since Linux 4.17, a multithreaded program can use the B " "flag to avoid the hazard described above when attempting to create a mapping " "at a fixed address that has not been reserved by a preexisting mapping." msgstr "" "Начиная с Linux 4.17, в многонитевых программах можно использовать флаг " "B и, тем самым, избежать опасности, описанной выше, " "когда выполняется попытка создать отображение по фиксированному адресу, " "который не был зарезервирован существующим отображением." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Timestamps changes for file-backed mappings" msgstr "Изменение временных отметок для отображённых файлов" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For file-backed mappings, the I field for the mapped file may be " "updated at any time between the B() and the corresponding unmapping; " "the first reference to a mapped page will update the field if it has not " "been already." msgstr "" "У отображённых файлов поле I может измениться в любой момент между " "вызовом B() и соответствующим удалением отображения; первое обращение " "к отображённой странице приведёт к обновлению поля, если это ещё не было " "сделано." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I and I field for a file mapped with B " "and B will be updated after a write to the mapped region, and " "before a subsequent B(2) with the B or B flag, if " "one occurs." msgstr "" "Поля I и I у отображённого с помощью флагов " "B и B файла будут обновлены после записи " "отображённой области и перед последующим вызовом B(2) с флагом " "B или B, если он будет вызван." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Huge page (Huge TLB) mappings" msgstr "Отображения огромных страниц (Huge TLB)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For mappings that employ huge pages, the requirements for the arguments of " "B() and B() differ somewhat from the requirements for " "mappings that use the native system page size." msgstr "" "Для отображений, работающих с огромными страницами, требования к аргументам " "B() и B() несколько отличаются от требований к отображениям, в " "которых используются страницы с системным размером." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B(), I must be a multiple of the underlying huge page " "size. The system automatically aligns I to be a multiple of the " "underlying huge page size." msgstr "" "Для B(), I должно быть кратно размеру нижележащей огромной " "страницы. Система автоматически выравнивает I до кратного значения " "размера нижележащей огромной страницы." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B(), I, and I must both be a multiple of the " "underlying huge page size." msgstr "" "Для B(), I и I должны быть кратны размеру нижележащей " "огромной страницы." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "ОШИБКИ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On Linux, there are no guarantees like those suggested above under " "B. By default, any process can be killed at any moment when " "the system runs out of memory." msgstr "" "В Linux не гарантируется результат флага B, описанный выше. " "По умолчанию, любой процесс может быть принудительно завершён в любой " "момент, если в системе закончилась память." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "In kernels before 2.6.7, the B flag has effect only if " #| "I is specified as B." msgid "" "Before Linux 2.6.7, the B flag has effect only if I is " "specified as B." msgstr "" "В ядрах до версии 2.6.7 флаг B учитывается только, если " "значение I равно B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "SUSv3 specifies that B() should fail if I is 0. However, " #| "in kernels before 2.6.12, B() succeeded in this case: no mapping " #| "was created and the call returned I. Since kernel 2.6.12, " #| "B() fails with the error B for this case." msgid "" "SUSv3 specifies that B() should fail if I is 0. However, " "before Linux 2.6.12, B() succeeded in this case: no mapping was " "created and the call returned I. Since Linux 2.6.12, B() fails " "with the error B for this case." msgstr "" "В SUSv3 указано, что B() должен завершаться с ошибкой, если I " "равно 0. Однако в ядрах до версии 2.6.12 вызов B() в этом случае " "выполняется успешно: отображение не создаётся и вызов возвращает I. " "Начиная с ядра версии 2.6.12, в этом случае вызов B() завершается с " "ошибкой B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX specifies that the system shall always zero fill any partial page at " "the end of the object and that system will never write any modification of " "the object beyond its end. On Linux, when you write data to such partial " "page after the end of the object, the data stays in the page cache even " "after the file is closed and unmapped and even though the data is never " "written to the file itself, subsequent mappings may see the modified " "content. In some cases, this could be fixed by calling B(2) before " "the unmap takes place; however, this doesn't work on B(5) (for " "example, when using the POSIX shared memory interface documented in " "B(7))." msgstr "" "В POSIX сказано, что система всегда должна заполнять нулями любую частичную " "страницу у конца объекта и что система никогда не должна вносить любые " "изменения вне пределов объекта. В Linux, если вы пишите данные в такую " "частичную страницу за концом объекта, то данные остаются в страничном кэше " "даже после закрытия и выключения отображения файла и хотя данные никогда не " "пишутся в сам файл, последующие отображения могут увидеть изменённое " "содержимое. В некоторых случаях это можно исправить вызвав B(2) перед " "выключением отображения; однако это не работает на B(5) (например, " "когда используется интерфейс общей памяти POSIX, описанный в " "B(7))." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. FIXME . Add an example here that uses an anonymous shared region for #. IPC between parent and child. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following program prints part of the file specified in its first command-" "line argument to standard output. The range of bytes to be printed is " "specified via offset and length values in the second and third command-line " "arguments. The program creates a memory mapping of the required pages of " "the file and then uses B(2) to output the desired bytes." msgstr "" "Следующая программа выводит часть файла, указанного в первом аргументе " "командной строки, в стандартный вывод. Диапазон выдаваемых байт задаётся " "смещением и длиной во втором и третьем аргументах командной строки. " "Программа создаёт отображение требуемых страниц файла и затем использует " "B(2) для вывода запрошенных байт." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Исходный код программы" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" "\\&\n" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "СМОТРИТЕ ТАКЖЕ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(3), B(7)" msgstr "" "B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), " "B(3), B(7)" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The descriptions of the following files in B(5): I, I, and I." msgid "" "The descriptions of the following files in B(5): IpidI, " "IpidI, and IpidI." msgstr "" "Описание в B(5) следующих файлов: I, I и I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\\(en129 and 389\\(en391." msgid "B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\\[en]129 and 389\\[en]391." msgstr "" "B.O. Gallmeister, POSIX.4, O'Reilly, страницы 128\\(en129 и 389\\(en391." #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 февраля 2023 г." #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Linux man-pages 6.03" #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B, B (since Linux 3.8)" msgstr "B, B (начиная с Linux 3.8)" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "The B flag was specified, but the caller was not privileged " "(did not have the B capability) and is not a member of the " "I group; see the description of I in" msgstr "" #. SVr4 documents additional error codes ENXIO and ENODEV. #. SUSv2 documents additional error codes EMFILE and EOVERFLOW. #. type: Plain text #: debian-bookworm msgid "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD." #. type: Plain text #: debian-bookworm msgid "" "For example, suppose that thread A looks through IpidE/maps> " "in order to locate an unused address range that it can map using " "B, while thread B simultaneously acquires part or all of that " "same address range. When thread A subsequently employs B, " "it will effectively clobber the mapping that thread B created. In this " "scenario, thread B need not create a mapping directly; simply making a " "library call that, internally, uses B(3) to load some other shared " "library, will suffice. The B(3) call will map the library into the " "process's address space. Furthermore, almost any library call may be " "implemented in a way that adds memory mappings to the address space, either " "with this technique, or by simply allocating memory. Examples include " "B(2), B(3), B(3), and the PAM libraries E<.UR " "http://www.linux-pam.org> E<.UE .>" msgstr "" "Предположим, например, что нить A просматривает IpidE/maps>в " "поиске неиспользуемого адресного диапазона, который она сможет отобразить " "используя B, но одновременно с этим нить B захватывает часть или " "весь этот же адресный диапазон. Когда после этого нить A запустит " "B, это, фактически, разобьёт отображение, созданное нитью " "B. В этом сценарии нити B не нужно создавать отображение явным образом; " "будет достаточно просто сделать библиотечный вызов, например, B(3) " "для загрузки какой-то другой общей библиотеки. Вызов B(3) отобразит " "библиотеку в адресное пространство процесса. Более того, почти каждый " "библиотечный вызов можно реализовать так, чтобы он добавлял отображения " "памяти в адресное пространство с помощью этого метода или просто выделяя " "память. Например, такими вызовами являются B(2), B(3), " "B(3) и библиотеки PAM E<.UR http://www.linux-pam.org> E<.UE ." ">" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" msgstr "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" msgstr "" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s файл смещение [длина]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" msgstr "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" msgstr "" " if (fstat(fd, &sb) == -1) /* получение размера файла */\n" " handle_error(\"fstat\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " offset = atoi(argv[2]);\n" #| " pa_offset = offset & \\(ti(sysconf(_SC_PAGE_SIZE) - 1);\n" #| " /* offset for mmap() must be page aligned */\n" msgid "" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" msgstr "" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\(ti(sysconf(_SC_PAGE_SIZE) - 1);\n" " /* для mmap() нужно выронить смещение */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"указанное смещение находится за концом файла\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (argc == 4) {\n" #| " length = atoi(argv[3]);\n" #| " if (offset + length E sb.st_size)\n" #| " length = sb.st_size - offset;\n" #| " /* Can\\(aqt display bytes past end of file */\n" msgid "" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" msgstr "" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Нельзя показать байты за концом файла */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" msgstr "" " } else { /* Не указана длина ==E показать всё до конца файла */\n" " length = sb.st_size - offset;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" msgstr "" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" msgstr "" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " fprintf(stderr, \"частичная запись\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" msgstr "" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm msgid "" "The descriptions of the following files in B(5): I, " "I, and I." msgstr "" "Описание в B(5) следующих файлов: I, I и I." #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: Plain text #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "#include Efcntl.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/mman.hE\n" "#include Esys/stat.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define handle_error(msg) \\e\n" " do { perror(msg); exit(EXIT_FAILURE); } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd;\n" " char *addr;\n" " off_t offset, pa_offset;\n" " size_t length;\n" " ssize_t s;\n" " struct stat sb;\n" "\\&\n" " if (argc E 3 || argc E 4) {\n" " fprintf(stderr, \"%s file offset [length]\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1)\n" " handle_error(\"open\");\n" "\\&\n" " if (fstat(fd, &sb) == -1) /* To obtain file size */\n" " handle_error(\"fstat\");\n" "\\&\n" " offset = atoi(argv[2]);\n" " pa_offset = offset & \\[ti](sysconf(_SC_PAGE_SIZE) - 1);\n" " /* offset for mmap() must be page aligned */\n" "\\&\n" " if (offset E= sb.st_size) {\n" " fprintf(stderr, \"offset is past end of file\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (argc == 4) {\n" " length = atoi(argv[3]);\n" " if (offset + length E sb.st_size)\n" " length = sb.st_size - offset;\n" " /* Can\\[aq]t display bytes past end of file */\n" "\\&\n" " } else { /* No length arg ==E display to end of file */\n" " length = sb.st_size - offset;\n" " }\n" "\\&\n" " addr = mmap(NULL, length + offset - pa_offset, PROT_READ,\n" " MAP_PRIVATE, fd, pa_offset);\n" " if (addr == MAP_FAILED)\n" " handle_error(\"mmap\");\n" "\\&\n" " s = write(STDOUT_FILENO, addr + offset - pa_offset, length);\n" " if (s != length) {\n" " if (s == -1)\n" " handle_error(\"write\");\n" "\\&\n" " fprintf(stderr, \"partial write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " munmap(addr, length + offset - pa_offset);\n" " close(fd);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-04-03" msgstr "3 апреля 2023 г." #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Linux man-pages 6.04" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"