# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Alexander Golubev , 2018. # Azamat Hackimov , 2011, 2014-2016. # Hotellook, 2014. # Nikita , 2014. # Spiros Georgaras , 2016. # Vladislav , 2015. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:19+0200\n" "PO-Revision-Date: 2019-10-15 18:55+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 "sched_setaffinity" msgstr "sched_setaffinity" #. 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 "" "sched_setaffinity, sched_getaffinity - set and get a thread's CPU affinity " "mask" msgstr "" "sched_setaffinity, sched_getaffinity - устанавливает и получает процессорную " "маску увязывания для нити" #. 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<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Esched.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* Смотрите feature_test_macros(7) */\n" "B<#include Esched.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" "B< const cpu_set_t *>IB<);>\n" "BIB<, size_t >IB<,>\n" "B< cpu_set_t *>IB<);>\n" msgstr "" "BIB<, size_t >IB<,>\n" "B< const cpu_set_t *>IB<);>\n" "BIB<, size_t >IB<,>\n" "B< cpu_set_t *>IB<);>\n" #. 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 "" "A thread's CPU affinity mask determines the set of CPUs on which it is " "eligible to run. On a multiprocessor system, setting the CPU affinity mask " "can be used to obtain performance benefits. For example, by dedicating one " "CPU to a particular thread (i.e., setting the affinity mask of that thread " "to specify a single CPU, and setting the affinity mask of all other threads " "to exclude that CPU), it is possible to ensure maximum execution speed for " "that thread. Restricting a thread to run on a single CPU also avoids the " "performance cost caused by the cache invalidation that occurs when a thread " "ceases to execute on one CPU and then recommences execution on a different " "CPU." msgstr "" "Процессорной маской увязывания нити задаётся набор процессоров, на которых " "разрешено выполняться нити. В многопроцессорных системах задание " "процессорной маски увязывания можно использовать для получения большей " "производительности. Например, выделение специального процессора определённой " "нити (т.е., задание в процессорной маске увязывания для нити одного ЦП и " "исключение этого ЦП из процессорных масок увязывания для остальных нитей) " "обеспечивает максимальную скорость выполнения этой нити. Ограничение для " "нити одним ЦП также исключает сокращение производительности в следствие " "недостоверности данных кэша, которая возникает, когда нить прекращает " "выполнение на одном ЦП и затем продолжает выполнение на другом." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A CPU affinity mask is represented by the I structure, a \"CPU set" "\", pointed to by I. A set of macros for manipulating CPU sets is " "described in B(3)." msgstr "" "Маска увязывания ЦП представляется в виде структуры I, «набором " "процессоров», на которую указывает I. В B(3) описаны макросы " "для изменения набора ЦП." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() sets the CPU affinity mask of the thread whose ID is " "I to the value specified by I. If I is zero, then the " "calling thread is used. The argument I is the length (in bytes) " "of the data pointed to by I. Normally this argument would be " "specified as I." msgstr "" "Вызов B() устанавливает маску увязывания ЦП I для " "нити, чей ID указан в 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 "" "If the thread specified by I is not currently running on one of the " "CPUs specified in I, then that thread is migrated to one of the CPUs " "specified in I." 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 "" "B() writes the affinity mask of the thread whose ID is " "I into the I structure pointed to by I. The " "I argument specifies the size (in bytes) of I. If I " "is zero, then the mask of the calling thread is returned." msgstr "" "Вызов B() записывает в структуру I, на которую " "указывает I, значение маски увязывания ЦП для нити, чей ID указан в " "I. В аргументе I задаётся размер I (в байтах). Если " "значение I равно нулю, то возвращается маска вызывающей нити." #. 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() and B() return 0 " #| "(but see \"C library/kernel differences\" below, which notes that the " #| "underlying B() differs in its return value). On " #| "error, -1 is returned, and I is set appropriately." msgid "" "On success, B() and B() return 0 " "(but see \"C library/kernel differences\" below, which notes that the " "underlying B() differs in its return value). On " "failure, -1 is returned, and I is set to indicate the error." msgstr "" "При успешном выполнении B() и B() " "возвращается 0 (но смотрите «различия в библиотеке C/ядре» ниже, где " "показано при каких условиях B() возвращает разные " "значения). При ошибке возвращается -1, и в I записывается " "соответствующее значение." #. 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 supplied memory address was invalid." 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 affinity bit mask I contains no processors that are currently " "physically on the system and permitted to the thread according to any " "restrictions that may be imposed by I cgroups or the \"cpuset\" " "mechanism described in B(7)." msgstr "" "В маске увязывания ЦП I указаны процессоры, которых физически нет в " "системе, и которые разрешены нити согласно любым ограничениям, которые могут " "налагаться I cgroups или механизмом «cpuset», описанном в " "B(7)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "(B() and, in kernels before 2.6.9, " #| "B()) I is smaller than the size of the " #| "affinity mask used by the kernel." msgid "" "(B() and, before Linux 2.6.9, B()) " "I is smaller than the size of the affinity mask used by the " "kernel." msgstr "" "(B() и, в ядрах до 2.6.9, 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" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(B()) The calling thread does not have appropriate " "privileges. The caller needs an effective user ID equal to the real user ID " "or effective user ID of the thread identified by I, or it must possess " "the B capability in the user namespace of the thread I." msgstr "" "(B()) Вызывающая нить не имеет достаточно прав. " "Вызывающему требуется иметь эффективный пользовательский ID равный реальному " "пользовательскому ID или эффективному пользовательскому ID нити, указанной в " "I, или он должен обладать мандатом 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" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The thread whose ID is I could not be found." msgstr "Нить с идентификатором 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 "Linux." msgstr "Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "ИСТОРИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux 2.5.8, glibc 2.3." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The CPU affinity system calls were introduced in Linux kernel 2.5.8. The " #| "system call wrappers were introduced in glibc 2.3. Initially, the glibc " #| "interfaces included a I argument, typed as I. " #| "In glibc 2.3.3, the I argument was removed, but was then " #| "restored in glibc 2.3.4, with type I." msgid "" "Initially, the glibc interfaces included a I argument, typed as " "I. In glibc 2.3.3, the I argument was removed, " "but was then restored in glibc 2.3.4, with type I." msgstr "" "Системные вызовы увязывания ЦП появились в ядре Linux версии 2.5.8. " "Обёрточные функции появились в glibc 2.3. Первоначально, в интерфейсе glibc " "присутствовал аргумент I, имевший тип I. В glibc " "2.3.3 аргумент I был удалён, но появился вновь в glibc 2.3.4 с " "типом I." #. 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 "" "After a call to B(), the set of CPUs on which the thread " "will actually run is the intersection of the set specified in the I " "argument and the set of CPUs actually present on the system. The system may " "further restrict the set of CPUs on which the thread runs if the \"cpuset\" " "mechanism described in B(7) is being used. These restrictions on " "the actual set of CPUs on which the thread will run are silently imposed by " "the kernel." msgstr "" "После вызова B() набор процессоров, на которых " "действительно будет выполняться нить, вычисляется пересечением набора из " "аргумента I и набором процессоров, присутствующих в системе. В " "дальнейшем, система может ограничить набор процессоров нити, если " "задействован механизм «cpuset», описанный в B(7). Эти ограничения на " "действительный набор процессоров, используемых для нити, без уведомления " "налагаются ядром." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There are various ways of determining the number of CPUs available on the " "system, including: inspecting the contents of I; using " "B(3) to obtain the values of the B<_SC_NPROCESSORS_CONF> and " "B<_SC_NPROCESSORS_ONLN> parameters; and inspecting the list of CPU " "directories under I." msgstr "" "Есть несколько способов определения количества процессоров в системе: по " "содержимому I; с помощью B(3) получить значение " "параметров B<_SC_NPROCESSORS_CONF> и B<_SC_NPROCESSORS_ONLN>; посчитать " "количество подкаталогов cpu в I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(7) has a description of the Linux scheduling scheme." msgstr "В B(7) приведено описание схемы планирования Linux." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The affinity mask is a per-thread attribute that can be adjusted " "independently for each of the threads in a thread group. The value returned " "from a call to B(2) can be passed in the argument I. " "Specifying I as 0 will set the attribute for the calling thread, and " "passing the value returned from a call to B(2) will set the " "attribute for the main thread of the thread group. (If you are using the " "POSIX threads API, then use B(3) instead of " "B().)" msgstr "" "Маска увязывания является атрибутом нити, которая может изменяться " "независимо для каждой нити в группе нитей. В аргументе I можно " "передавать значение, возвращаемое вызовом B(2). При значении I " "равным 0 будет установлен атрибут вызывающей нити, а при передаче значения, " "возвращаемого вызовом B(2), устанавливается атрибут главной нити " "группы нитей (при работе с программным интерфейсом POSIX используйте функцию " "B(3) вместо B()). " #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I boot option can be used to isolate one or more CPUs at boot " "time, so that no processes are scheduled onto those CPUs. Following the use " "of this boot option, the only way to schedule processes onto the isolated " "CPUs is via B() or the B(7) mechanism. For " "further information, see the kernel source file I. As noted in that file, I is the preferred " "mechanism of isolating CPUs (versus the alternative of manually setting the " "CPU affinity of all processes on the system)." msgstr "" "Параметр начальной загрузки I можно использовать для изоляции " "одного и более ЦП во время загрузки, и ни один процесс не будет запланирован " "к выполнению на этих ЦП. После использования этого параметра единственный " "способ запланировать процессы на изолированных ЦП — использовать " "B() или механизм B(7). Подробности смотрите в " "файле исходного кода ядра I. Согласно тексту файла, I является предпочтительным " "механизмом изоляции ЦП (по сравнению с ручным увязыванием ЦП всех процессов " "в системе)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A child created via B(2) inherits its parent's CPU affinity mask. " "The affinity mask is preserved across an B(2)." msgstr "" "Потомок, создаваемый с помощью B(2), наследует маску увязывания ЦП. " "Маска увязывания сохраняется при вызове B(2)." #. 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 и ядром" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This manual page describes the glibc interface for the CPU affinity calls. " "The actual system call interface is slightly different, with the I " "being typed as I, reflecting the fact that the underlying " "implementation of CPU sets is a simple bit mask." msgstr "" "В данной справочной странице описан интерфейс glibc для вызовов увязывания " "ЦП. Интерфейс реальных системных вызов чуть отличается: аргумент I " "имеет тип I, отражая факт того, что используемая " "реализация наборов ЦП представляет собой просто битовую маску." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, the raw B() system call returns the number " "of bytes placed copied into the I buffer; this will be the minimum of " "I and the size (in bytes) of the I data type that is " "used internally by the kernel to represent the CPU set bit mask." msgstr "" "При успешном выполнении ядерный системный вызов B() " "возвращает количество скопированных в буфер I байт; минимальным " "значением будет I и размер (в байтах) типа данных I, " "который используется в ядре для представления процессорной битовой маски." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Handling systems with large CPU affinity masks" msgstr "Работа систем с масками увязывания ЦП большого размера" #. FIXME . See https://sourceware.org/bugzilla/show_bug.cgi?id=15630 #. and https://sourceware.org/ml/libc-alpha/2013-07/msg00288.html #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The underlying system calls (which represent CPU masks as bit masks of type " "I) impose no restriction on the size of the CPU mask. " "However, the I data type used by glibc has a fixed size of 128 " "bytes, meaning that the maximum CPU number that can be represented is 1023. " "If the kernel CPU affinity mask is larger than 1024, then calls of the form:" msgstr "" "Лежащие в основе системные вызовы (которые представляют маски ЦП в виде " "маски битов с типом I) не накладывают ограничений на " "размер маски ЦП. Однако, тип данных I, используемый в glibc, " "имеет постоянный размер 128 байт, то есть максимальный номер представляемых " "ЦП равен 1023. Если ядерная маска увязывания ЦП больше 1024, то вызовы вида:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n" msgstr "sched_getaffinity(pid, sizeof(cpu_set_t), &mask);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "fail with the error B, the error produced by the underlying system " "call for the case where the I size specified in I is " "smaller than the size of the affinity mask used by the kernel. (Depending " "on the system CPU topology, the kernel affinity mask can be substantially " "larger than the number of active CPUs in the system.)" 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 "" "When working on systems with large kernel CPU affinity masks, one must " "dynamically allocate the I argument (see B(3)). Currently, " "the only way to do this is by probing for the size of the required mask " "using B() calls with increasing mask sizes (until the " "call does not fail with the error B)." msgstr "" "При работе в системах с ядерными масками увязывания ЦП большого размера, " "место под аргумент I должно выделяться динамически (смотрите " "B(3)). В настоящее время единственный способ сделать это — " "определить размер требуемой маски с помощью вызовов B() с " "увеличиваемым размером маски (пока вызов не перестанет выдавать ошибку " "B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Be aware that B(3) may allocate a slightly larger CPU set than " "requested (because CPU sets are implemented as bit masks allocated in units " "of I). Consequently, B() can set bits " "beyond the requested allocation size, because the kernel sees a few " "additional bits. Therefore, the caller should iterate over the bits in the " "returned set, counting those which are set, and stop upon reaching the value " "returned by B(3) (rather than iterating over the number of bits " "requested to be allocated)." msgstr "" "Учтите, что B(3) может выделить несколько больший набор ЦП, чем " "запрашивается (так как наборы ЦП реализованы как битовые маски, выделяемые в " "объёмах I). Следовательно, B() может задать " "биты за границами запрашиваемого выделяемого размера, так как ядро видит " "несколько дополнительных бит. Поэтому вызывающий должен пройтись по всем " "возвращённым битам, считая установленные и остановиться при достижении " "значения, полученного от B(3) (а не останавливаться на количестве " "запрошенных к выделению бит)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below creates a child process. The parent and child then each " "assign themselves to a specified CPU and execute identical loops that " "consume some CPU time. Before terminating, the parent waits for the child " "to complete. The program takes three command-line arguments: the CPU number " "for the parent, the CPU number for the child, and the number of loop " "iterations that both processes should perform." msgstr "" "Программа, представленная ниже, создаёт дочерний процесс. Затем родитель и " "потомок назначают выполнение себя на указанных ЦП и выполняют одинаковые " "циклы, которые выполняются на ЦП какое-то время. Перед завершением, родитель " "ждёт завершения потомка. Программа имеет три аргумента командной строки: " "номер ЦП для родителя, номер ЦП для потомка и количество итераций цикла, " "который будут выполнять оба процесса." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As the sample runs below demonstrate, the amount of real and CPU time " "consumed when running the program will depend on intra-core caching effects " "and whether the processes are using the same CPU." msgstr "" "В примере работы, показанном ниже, количество реального времени и времени " "использованного ЦП при работе программы, будет зависеть он меж ядерного " "кэширования и будут ли процессы использовать одинаковый ЦП." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We first employ B(1) to determine that this (x86) system has two " "cores, each with two CPUs:" msgstr "" "Сначала запустим B(1) для определения, что эта система (x86) имеет по " "два потока выполнения в двух ЦП:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "$ B\n" #| "Thread(s) per core: 2\n" #| "Core(s) per socket: 2\n" #| "Socket(s): 1\n" msgid "" "$ B\n" "Thread(s) per core: 2\n" "Core(s) per socket: 2\n" "Socket(s): 1\n" msgstr "" "$ B\n" "Thread(s) per core: 2\n" "Core(s) per socket: 2\n" "Socket(s): 1\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We then time the operation of the example program for three cases: both " "processes running on the same CPU; both processes running on different CPUs " "on the same core; and both processes running on different CPUs on different " "cores." 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