Главная / Программирование / Многопоточное программирование с использованием POSIX Threads

Многопоточное программирование с использованием POSIX Threads - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Курс посвящен разработке многопоточных приложений на языках C/C++ с использованием POSIX Thread Library.
Смотрите также:
Укажите преимущества использования многопроцессных приложений с автономными процессами:
(1) простота разработки
(2) используется создание и уничтожение процессов
(3) высокая надежность
Сколько различных подходов допускает стандарт POSIX к реализации многопоточности в рамках одного процесса?
(1) 3
(2) 4
(3) 5
(4) 2
Какой параметр функции pthread_create(3C) является выходным?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
(4) void *arg
На сколько категорий делятся сигналы в Unix?
(1) 2
(2) 3
(3) 4
(4) 5
Над условной переменной определены основные операции:
(1) wait
(2) error
(3) signal
Укажите особенность многопроцессных приложений с автономными процессами:
(1) для каждой пользовательской сессии создается свой процесс
(2) позволяют организовать взаимодействие процессов и потоков без использования разделяемой памяти
(3) потоки или нити приложения исполняются в пределах одного процесса
Если какая-то из пользовательских нитей процесса исполняет блокирующийся системный вызов, то ...
(1) блокируется весь процесс
(2) блокируется эта нить
(3) блокировки нити и процесса не происходит
Какой из параметров функции pthread_create(3C) является указателем на переменную, в которой при успешном завершении будет размещен идентификатор нити?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
Асинхронные сигналы возникают при ...
(1) событиях, внешних по отношению к процессу или при исполнении программой определенных операций
(2) исполнении программой определенных операций
(3) событиях, внешних по отношению к процессу
Какая операция, определенная над условной переменной, уничтожает атрибуты условной переменной?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Многопоточное приложение блокируется на примитивах взаимодействия с источниками событий с ...
(1) уничтожением контекста нити
(2) сохранением контекста нити
(3) сохранением или уничтожением контекста нити
Какие существуют варианты реализации операционных систем, использующих системные нити?
(1) процесс выступает как подчиненная по отношению к системным нитям сущность
(2) системные нити выступают как подчиненная по отношению к процессу сущность
(3) системные нити являются сущностями того же уровня, что и процесс
Укажите возвращаемое значение функции pthread_create(3C) при успешном завершении:
(1) TRUE
(2) 0
(3) код ошибки
Операции над маской сигналов нити осуществляются библиотечной функцией:
(1) readdir(3C)
(2) pthread_sigmask(3C)
(3) readdir_r(3C)
Какой функцией инициализируются неименованные семафоры?
(1) sem_open(3RT)
(2) sem_init(3RT)
(3) sem_post(3RT)
В Solaris по умолчанию допускается не более:
(1) 128 открытых сокетов на процесс
(2) 1024 открытых сокетов на процесс
(3) 65536 открытых сокетов на процесс
В гибридной реализации многопоточный процесс имеет:
(1) один LWP и планировщик в пользовательском адресном пространстве
(2) несколько LWP и планировщик в пользовательском адресном пространстве
(3) один LWP и несколько планировщиков в пользовательском адресном пространстве
Какой код ошибки возвращает функция pthread_create(3C), если системе не хватает ресурсов для создания нити?
(1) eagain
(2) einval
(3) eperm
Укажите значение атрибута функции MT-Level, при котором функция использует незащищенные глобальные или статические данные:
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Укажите параметр системного вызова select(3C), который является числом, на единицу большим, чем максимальный номер файлового дескриптора во всех множествах, переданных как параметры:
(1) int nfds
(2) fd_set *readfds
(3) fd_set *writefds
(4) fd_set *errorfds
(5) struct timeval * timeout
Укажите наиболее распространенную технологию параллельных вычислений с разделяемой памятью:
(1) OpenMP
(2) MPI
(3) NUMA
Процесс взаимодействует с ядром операционной системы при помощи:
(1) системных вызовов
(2) потоков
(3) нитей
Функция POSIX, которая создает приватные или локальные данные нити:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
Укажите значение атрибута функции MT-Level, при котором функция может вызываться в многопоточной программе из обработчиков сигналов:
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Какой параметр функции sem_init(3RT) является инициализируемым семафором?
(1) sem_t * sem
(2) int pshared
(3) unsigned int value
Укажите преимущества использования многопроцессных приложений, взаимодействующих через средства IPC:
(1) высокая надежность
(2) хорошая переносимость
(3) высокая безопасность
(4) ограничения на общее количество средств IPC
Укажите цель применения многопоточных программ:
(1) повышение безопасности программ
(2) обеспечение высокой надежности программ
(3) улучшение времени реакции интерактивных программ
(4) уменьшение стоимости разработки приложений
Функция POSIX, которая используется для завершения нити:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
При каком значении атрибута мутекса robust_np, мутексы, удерживавшиеся завершившимся процессом, остаются в занятом состоянии, и нити, пытающиеся захватить их, блокируются?
(1) PTHREAD_MUTEX_STALLED_NP
(2) PTHREAD_MUTEX_ROBUST_NP
(3) PTHREAD_MUTEX_DEFAULT
Какая операция, определенная над условной переменной, устанавливает значение атрибута pshared?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Укажите преимущества использования многопроцессных приложений, взаимодействующих через разделяемую память:
(1) эффективный произвольный доступ к разделяемым данным
(2) высокая переносимость
(3) относительно высокая безопасность
(4) используется частое создание и уничтожение процессов
При компиляции с каким ключом в Sun Studio 11 C compiler, включается поддержка директив параллелизации OpenMP в исходном коде программы?
(1) -xopenmp
(2) -xautopar
(3) -lpthread
Укажите значение по умолчанию атрибута scope в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
Сколько основных операций определено над мутексом?
(1) 4
(2) 3
(3) 5
Бит POLLERR в поле revents устанавливается, если:
(1) на устройстве возникла ошибка
(2) сокет, труба или терминальное устройство закрыты на другом конце
(3) значение fd не соответствует валидному файловому дескриптору
В каких случаях наиболее удобно использование параллельных программ с разделяемой памятью?
(1) в обоих случаях
(2) когда объем разделяемых данных невелик, а эти данные изменяются редко и в предсказуемых местах
(3) когда нити алгоритма должны часто обмениваться большими объемами данных и осуществлять произвольный доступ к разделяемым данным большого объема
Запуск компилятора с каким ключом включает в сборку многопоточной программы библиотеку libpthread.so?
(1) -xopenmp
(2) -xautopar
(3) -lpthread
Какой атрибут структуры pthread_attr_t определяет область действия?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
Какой атрибут мутекса определяет область действия мутекса?
(1) pshared
(2) type
(3) protocol
(4) prioceiling
(5) robust_np
Укажите операцию, определенную над условной переменной, которая инициализирует условную переменную:
(1) pthread_cond_init(3C)
(2) pthread_cond_timedwait_np(3C)
(3) pthread_cond_signal(3C)
(4) pthread_cond_wait(3C)
Если для каждой пользовательской сессии создается свой процесс, то такое приложение является ...
(1) многопроцессным с автономными процессами
(2) гибридным
(3) многопоточным
В Solaris 10 ключ -lpthread использовать:
(1) не обязательно
(2) обязательно
(3) запрещено
Если требуемая нить еще не завершилась, то нить, сделавшая вызов pthread_join(3С), ...
(1) блокируется
(2) не блокируется
(3) завершается
При каком значении атрибута мутекса type, мутексы не делают никаких проверок?
(1) PTHREAD_MUTEX_NORMAL
(2) PTHREAD_MUTEX_ERRORCHECK
(3) PTHREAD_MUTEX_RECURSIVE
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на наличие исключительных состояний:
(1) int nfds
(2) fd_set *readfds
(3) fd_set *writefds
(4) fd_set *errorfds
(5) struct timeval * timeout
Укажите преимущества использования многопоточных приложений:
(1) высокая производительность
(2) высокая стоимость разработки
(3) произвольный доступ к разделяемым данным
(4) хорошая переносимость
Какой ключ компилятора может выключать некоторые оптимизации, опасные при многопоточном исполнении?
(1) -xopenmp
(2) -xautopar
(3) -lpthread
(4) -mt
Установка типа прерывания осуществляется функцией ...
(1) pthread_cancel(3C)
(2) pthread_setcancelstate(3C)
(3) pthread_setcanceltype(3C)
Блокировка свободного мутекса приводит к его переводу в ...
(1) свободное состояние
(2) захваченное состояние
(3) переходное состояние
При каком значении своего параметра int timeout, системный вызов poll(2) работает в режиме опроса?
(1) 0
(2) 1
(3) -1
Технология разработки параллельных программ OpenMP применяется при разработке:
(1) параллельных программ с разделяемой памятью
(2) параллельных программ, обменивающихся сообщениями
(3) гибридных приложений
При исполнении системного вызова в современных версиях x86, процесс исполняет специальную команду, которая переключает адресное пространство и передает управление ядру:
(1) syscall
(2) ta 0x8
(3) ta 0x40
Какой атрибут структуры pthread_attr_t определяет степень параллелизма?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
Укажите значения, которые может принимать атрибут мутекса robust_np:
(1) PTHREAD_MUTEX_STALLED_NP
(2) PTHREAD_MUTEX_ROBUST_NP
(3) PTHREAD_MUTEX_DEFAULT
Параметр системного вызова poll(2), являющийся массивом описателей дескрипторов:
(1) struct pollfd fds[]
(2) nfds_t nfds
(3) int timeout
Какой из нижеперечисленных пунктов является преимуществом использования событийно-ориентированной архитектуры?
(1) возможность одновременно обрабатывать множество событий в рамках одного потока и одного процесса
(2) код, рассчитанный на другую архитектуру, невозможно переиспользовать в событийно-ориентированном приложении
(3) невозможно реализовать принцип минимально необходимых привилегий
(4) разработка событийно-ориентированного приложения требует высокой квалификации разработчиков
Многопоточные программы находят применение для:
(1) решения задач реального времени
(2) обеспечения высокой надежности программ
(3) уменьшения стоимости разработки приложений
(4) повышения безопасности программ
Укажите значение по умолчанию атрибута stacksize в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
Какой атрибут мутекса используется мутексами с протоколом PTHREAD_PRIO_PROTECT?
(1) pshared
(2) type
(3) protocol
(4) prioceiling
(5) robust_np
Укажите операцию, определенную над условной переменной, которая выполняет ожидание условной переменной:
(1) pthread_cond_init(3C)
(2) pthread_cond_timedwait_np(3C)
(3) pthread_cond_signal(3C)
(4) pthread_cond_wait(3C)
Какие из нижеперечисленных пунктов являются преимуществами использования многопроцессных приложений с автономными процессами?
(1) хорошая переносимость
(2) высокая безопасность
(3) не все прикладные задачи можно представлять таким образом
(4) используется частое создание и уничтожение процессов
Какие различные подходы допускает стандарт POSIX к реализации многопоточности в рамках одного процесса?
(1) нити в пределах процесса переключаются собственным планировщиком
(2) переключение между нитями осуществляется ядром системы
(3) процессу выделяют некоторое количество системных нитей, но он имеет собственный планировщик
(4) переключение между нитями осуществляется внешними сигналами
Укажите параметры функции pthread_create(3C), которые являются входными?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
(4) void *arg
На какие категории делятся сигналы в Unix?
(1) асинхронные
(2) синхронные
(3) симметричные
(4) несимметричные
До какого момента блокируется нить, выполнившая операцию wait?
(1) пока другая нить не выполнит операцию wait
(2) пока другая нить не выполнит операцию signal
(3) пока эта же нить не выполнит операцию wait
Укажите особенность многопроцессных приложений, взаимодействующих через средства IPC:
(1) потоки или нити приложения исполняются в пределах одного процесса
(2) для каждой пользовательской сессии создается свой процесс
(3) позволяют организовать взаимодействие процессов и потоков без использования разделяемой памяти
Пользовательские нити на однопроцессорной машине могут воспользоваться:
(1) двумя процессорами
(2) только одним процессором
(3) несколькими процессорами
Какой из параметров функции pthread_create(3C) является указателем на структуру, в которой заданы атрибуты нити?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
Укажите примеры синхронных сигналов:
(1) SIGFPE
(2) SIGINT
(3) SIGSEGV
(4) SIGALARM
(5) SIGBUS
(6) SIGTERM
Какая операция, определенная над условной переменной, получает значения атрибута pshared?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Событийно-ориентированное приложение блокируется на примитивах взаимодействия с источниками событий с ...
(1) сохранением или уничтожением контекста нити
(2) уничтожением контекста нити
(3) сохранением контекста нити
Укажите систему в которой системные нити являются сущностями того же уровня, что и процесс:
(1) os/2
(2) linux
(3) win32
Укажите возвращаемое значение функции pthread_create(3C) при неудачном завершении:
(1) true
(2) 0
(3) код ошибки
Какая функция получает указатель на буфер, в котором следует разместить описание записи каталога?
(1) readdir(3C)
(2) pthread_sigmask(3C)
(3) readdir_r(3C)
Какой функцией создаются именованные семафоры?
(1) sem_open(3RT)
(2) sem_init(3RT)
(3) sem_post(3RT)
Укажите максимальное количество сокетов TCP/IP на сетевой интерфейс:
(1) 128
(2) 1024
(3) 65536
В старых версиях Solaris многопоточная библиотека всегда имела выделенную нить, которая ...
(1) не вызывала блокирующихся системных вызовов никогда
(2) вызывала блокирующиеся системные вызовы
(3) вызывала блокирующиеся системные вызовы периодически
Какой код ошибки возвращает функция pthread_create(3C), если один из параметров имеет недопустимое значение?
(1) eagain
(2) einval
(3) eperm
Укажите значение атрибута функции MT-Level, при котором функция может вызываться из нескольких потоков:
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на готовность к чтению:
(1) int nfds
(2) fd_set *readfds
(3) fd_set *writefds
(4) fd_set *errorfds
(5) struct timeval * timeout
Наиболее распространенная технология разработки параллельных вычислительных программ с обменом сообщениями:
(1) OpenMP
(2) MPI
(3) NUMA
При исполнении системного вызова, процесс исполняет специальную команду, которая ...
(1) переключает адресное пространство, но не передает управление ядру
(2) переключает адресное пространство и передает управление ядру
(3) передает управление ядру, но не переключает адресное пространство
Функция POSIX, которая инициализирует динамические пакеты в многопоточной программе:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
Укажите значение атрибута функции MT-Level, при котором функция безопасна, даже если во время работы этой функции другая нить процесса вызовет fork(2):
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Чему равно значение параметра int pshared функции sem_init(3RT), если семафор будет локальным в пределах процесса?
(1) false
(2) 0
(3) ненулевое значение
Укажите недостатки использования многопроцессных приложений, взаимодействующих через средства IPC:
(1) подходит не для всех прикладных задач
(2) требуется двойное копирование данных
(3) реализация принципа минимальных привилегий
(4) ограничение на общее количество средств IPC
Для какой цели применяются многопоточные программы?
(1) улучшение времени реакции серверных приложений и возможность обработки нескольких запросов одновременно
(2) обеспечение высокой надежности программ
(3) повышение безопасности программ
(4) уменьшение стоимости разработки приложений
Функция POSIX, которая используется для ожидания завершения нити и получения ее кода возврата:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
При каком значении атрибута мутекса robust_np, первая нить, пытающаяся захватить мутекс, получает ошибку EOWNERDEAD, но мутекс при этом захватывается?
(1) PTHREAD_MUTEX_STALLED_NP
(2) PTHREAD_MUTEX_ROBUST_NP
(3) PTHREAD_MUTEX_DEFAULT
Какая операция, определенная над условной переменной, является широковещательным вариантом операции signal?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Укажите недостатки использования многопроцессных приложений, взаимодействующих через разделяемую память:
(1) относительная сложность разработки
(2) реализация принципа минимальных привилегий
(3) низкая надежность
(4) используется частое создание и уничтожение процессов
При компиляции с каким ключом в Sun Studio 11 C compiler, компилятор пытается автоматически найти параллелизуемые участки в программе и реализовать их многопоточное исполнение?
(1) -xopenmp
(2) -xautopar
(3) -lpthread
Укажите значение по умолчанию атрибута detachstate в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
Укажите основные операции, которые определены над мутексом:
(1) pthread_mutex_lock(3C)
(2) pthread_mutex_unlock(3C)
(3) pthread_mutex_setlock(3C)
(4) pthread_mutex_trylock(3C)
(5) pthread_mutex_timedlock(3C)
Бит POLLHUP в поле revents устанавливается, если:
(1) на устройстве возникла ошибка
(2) сокет, труба или терминальное устройство закрыты на другом конце
(3) значение fd не соответствует валидному файловому дескриптору
В каких случаях наиболее удобно использование параллельных программ, обменивающихся сообщениями?
(1) в обоих случаях
(2) когда объем разделяемых данных невелик, а эти данные изменяются редко и в предсказуемых местах
(3) когда нити алгоритма должны часто обмениваться большими объемами данных и осуществлять произвольный доступ к разделяемым данным большого объема
Большинство систем, реализующих POSIX Threads, требуют сборки многопоточной программы с библиотекой:
(1) только libpthread.so
(2) libpthread.so или libpthread.a
(3) только libpthread.a
Какой атрибут структуры pthread_attr_t определяет размер стека?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
Какой атрибут мутекса обозначает способ проверки ошибок при работе с мутексом?
(1) pshared
(2) type
(3) protocol
(4) prioceiling
(5) robust_np
Укажите операцию, определенную над условной переменной, которая выполняет ожидание с тайм-аутом:
(1) pthread_cond_init(3C)
(2) pthread_cond_timedwait_np(3C)
(3) pthread_cond_signal(3C)
(4) pthread_cond_wait(3C)
Если потоки или нити приложения исполняются в пределах одного процесса, то такое приложение является ...
(1) многопроцессным с автономными процессами
(2) многопоточным
(3) гибридным
В какую библиотеку в Solaris 10 включены все функции POSIX Thread API?
(1) libpthread.so
(2) libpthread.a
(3) libstdc++.so
(4) libc.so
Если нить пытается ожидать сама себя с помощью функции pthread_join(3С), она получает ошибку:
(1) esrch
(2) edeadlk
(3) einval
При каком значении атрибута мутекса type, все операции над мутексами проверяют состояние мутекса и возвращают ошибки при недопустимых последовательностях операций над мутексом?
(1) PTHREAD_MUTEX_NORMAL
(2) PTHREAD_MUTEX_ERRORCHECK
(3) PTHREAD_MUTEX_RECURSIVE
Укажите параметр системного вызова select(3C), устанавливающий тайм-аут, временной интервал, задаваемый с точностью до микросекунд:
(1) int nfds
(2) fd_set *readfds
(3) fd_set *writefds
(4) fd_set *errorfds
(5) struct timeval * timeout
Укажите недостатки использования многопоточных приложений:
(1) произвольный доступ к разделяемым данным
(2) невозможность реализации принципа минимальных привилегий
(3) низкая надежность
(4) невозможность исполнения на многомашинном вычислительном комплексе
Если компилятор поддерживает ключ -mt, рекомендуется его использовать:
(1) только при сборке многопоточных программ
(2) только при компиляции многопоточных программ
(3) как при компиляции, так и при сборке многопоточных программ
Атрибут нити cancelstate определяет, ...
(1) многопоточность программы
(2) время прерывания нити
(3) разрешено ли прерывание нити
Попытка блокировки захваченного мутекса приводит к ...
(1) снятию блокировки мутекса
(2) блокировке мутекса
(3) блокировке нити, которая пыталась выполнить эту операцию
При каком значении своего параметра int timeout, системный вызов poll(2) ждет готовности дескрипторов неограниченное время?
(1) 0
(2) 1
(3) -1
Технология разработки параллельных программ MPI применяется при разработке:
(1) параллельных программ с разделяемой памятью
(2) параллельных программ, обменивающихся сообщениями
(3) гибридных приложений
При исполнении системного вызова в 32-битной архитектуре SPARC, процесс исполняет специальную команду, которая переключает адресное пространство и передает управление ядру:
(1) syscall
(2) ta 0x8
(3) ta 0x40
Какой атрибут структуры pthread_attr_t определяет наследование класса планирования?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
По умолчанию значение атрибута мутекса robust_np равно:
(1) PTHREAD_MUTEX_STALLED_NP
(2) PTHREAD_MUTEX_ROBUST_NP
(3) PTHREAD_MUTEX_DEFAULT
Параметр системного вызова poll(2), являющийся количеством описателей в массиве fds:
(1) struct pollfd fds[]
(2) nfds_t nfds
(3) int timeout
Укажите недостатки использования событийно-ориентированной архитектуры:
(1) возможность одновременно обрабатывать множество событий в рамках одного потока и одного процесса
(2) код, рассчитанный на другую архитектуру, невозможно переиспользовать в событийно-ориентированном приложении
(3) невозможно реализовать принцип минимально необходимых привилегий
(4) разработка событийно-ориентированного приложения требует высокой квалификации разработчиков
Для каких целей применяются многопоточные программы?
(1) обеспечение высокой надежности программ
(2) улучшение времени реакции интерактивных программ
(3) улучшение времени реакции серверных приложений и возможность обработки нескольких запросов одновременно
Укажите значение по умолчанию атрибута priority в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
Какой атрибут мутекса управляет поведением мутекса в ситуации, когда владелец этого мутекса аварийно завершился?
(1) pshared
(2) type
(3) protocol
(4) prioceiling
(5) robust_np
Чему равно значение параметра int pshared функции sem_init(3RT), если семафор будет разделяемым между процессами?
(1) false
(2) 0
(3) ненулевое значение
Какой из нижеперечисленных пунктов является преимуществом использования многопроцессных приложений с автономными процессами?
(1) используется создание и уничтожение процессов
(2) хорошая переносимость
(3) не все прикладные задачи можно представлять таким образом
При гибридной реализации многопоточности, количество пользовательских нитей в процессе ...
(1) не может превосходить количество системных нитей
(2) может превосходить количество системных нитей
(3) всегда равно количеству системных нитей
Какой из параметров функции pthread_create(3C) является значением, которое будет передано в качестве параметра start_routine?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
(4) void *arg
Синхронные сигналы возникают при ...
(1) событиях, внешних по отношению к процессу или при исполнении программой определенных операций
(2) исполнении программой определенных операций
(3) событиях, внешних по отношению к процессу
Над семафором определены основные операции:
(1) signal
(2) wait
(3) post
Укажите особенность многопоточных приложений:
(1) позволяют организовать взаимодействие процессов и потоков без использования разделяемой памяти
(2) потоки или нити приложения исполняются в пределах одного процесса
(3) для каждой пользовательской сессии создается свой процесс
Попытка волокон в Win32 исполнить блокирующиеся системные вызовы ...
(1) не приведет к блокировке нити
(2) приведет к блокировке нити
(3) приведет к перезагрузке операционной системы
Какой из параметров функции pthread_create(3C) является указателем на функцию, которая будет запущена во вновь созданной нити?
(1) const pthread_attr_t * attr
(2) pthread_t * thread
(3) void *(*start_routine)(void*)
Укажите примеры асинхронных сигналов:
(1) SIGFPE
(2) SIGINT
(3) SIGSEGV
(4) SIGALARM
(5) SIGBUS
(6) SIGTERM
Какая операция, определенная над условной переменной, инициализирует атрибуты условной переменной?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Типичный драйвер физического устройства обслуживает ...
(1) только запросы от пользовательских программ
(2) запросы от пользовательских программ и прерывания от устройства
(3) только прерывания от устройства
Укажите системы в которой системные нити всегда выступают как подчиненная по отношению к процессу сущность:
(1) OS/2
(2) DOS
(3) Win32
Укажите функцию POSIX, которая указывает, что все ресурсы, связанные с нитью, необходимо уничтожать сразу после завершения этой нити:
(1) pthread_once(3C)
(2) pthread_detach(3C)
(3) pthread_join(3C)
Укажите функцию, которая возвращает очередную запись каталога файловой системы и не предназначена для многопоточных программ:
(1) readdir(3C)
(2) pthread_sigmask(3C)
(3) readdir_r(3C)
Укажите существующие типы семафоров:
(1) анонимные
(2) именованные
(3) неименованные
Укажите архитектурное ограничение сокетов на процесс в Solaris:
(1) 128
(2) 1024
(3) 65536
Когда ядро старых версий Solaris посылает процессу сигнал SIGWAITING?
(1) ядро системы обнаруживает, что хотя бы одно LWP процесса заблокировано
(2) ядро системы обнаруживает, что несколько LWP процесса заблокированы
(3) ядро системы обнаруживает, что все LWP процесса заблокированы
Какой код ошибки возвращает функция pthread_create(3C), если процесс не имеет полномочий для исполнения нити с заданными атрибутами?
(1) eagain
(2) einval
(3) eperm
Укажите значение атрибута функции MT-Level, при котором функция полностью подготовлена для работы в многопоточной среде:
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Укажите параметр системного вызова select(3C), являющийся множеством дескрипторов, которые следует проверять на готовность к записи:
(1) int nfds
(2) fd_set *readfds
(3) fd_set *writefds
(4) fd_set *errorfds
(5) struct timeval * timeout
Вычислительные комплексы с большим количеством процессоров, предоставляющие разделяемую память, пригодную для исполнения многопоточных программ:
(1) OpenMP
(2) MPI
(3) NUMA
Нарушения целостности данных одного процесса приводят:
(1) к аварийному завершению этого процесса, но не затрагивают другие процессы
(2) к аварийному завершению всех процессов
(3) к аварийному завершению других процессов, но не затрагивают этот процесс
Функция POSIX, которая создает нить:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
Укажите значение атрибута функции MT-Level, при котором функция безопасна для использования в нитях, работающих в режиме отложенного прерывания:
(1) unsafe
(2) safe
(3) mt-safe
(4) asynch-signal-safe
(5) fork-safe
(6) deferred-cancel-safe
Какой параметр функции sem_init(3RT) является начальным значением флаговой переменной семафора?
(1) sem_t * sem
(2) int pshared
(3) unsignedintvalue
Какой из нижеперечисленных пунктов является преимуществом использования многопроцессных приложений, взаимодействующих через средства IPC?
(1) подходит не для всех прикладных задач
(2) требуется двойное копирование данных
(3) реализация принципа минимальных привилегий
(4) ограничение на общее количество средств IPC
Многопоточные программы используются для:
(1) обеспечения высокой надежности программ
(2) уменьшения стоимости разработки приложений
(3) использования дополнительных ресурсов на многопроцессорных и гипертрединговых компьютерах
(4) повышения безопасности программ
Функция POSIX, которая используется для принудительного завершения нити:
(1) pthread_key_create(3C)
(2) pthread_once(3C)
(3) pthread_create(3C)
(4) pthread_exit(3C)
(5) pthread_join(3C)
(6) pthread_cancel(3C)
Операция Pthread_mutex_timedlock(3C) ...
(1) инициализирует мутекс
(2) пытается захватить мутекс и если он занят, операция возвращает ошибку EAGAIN
(3) пытается захватить мутекс и блокируется, если это невозможно, но не дольше чем до указанного момента
Какая операция, определенная над условной переменной, уничтожает условную переменную?
(1) pthread_condattr_destroy(3C)
(2) pthread_condattr_getpshared(3C)
(3) pthread_condattr_init(3C)
(4) pthread_condattr_setpshared(3C)
(5) pthread_cond_broadcast(3C)
(6) pthread_cond_destroy(3C)
Какой из нижеперечисленных пунктов является преимуществом использования многопроцессных приложений, взаимодействующих через разделяемую память:
(1) относительная сложность разработки
(2) реализация принципа минимальных привилегий
(3) низкая надежность
(4) используется частое создание и уничтожение процессов
Какая библиотека подключается к сборке многопоточной программы с POSIX Threads, в случае, если задан динамический режим сборки?
(1) libpthread.so
(2) libpthread.a
(3) libstdc++.so
Укажите значение по умолчанию атрибута stackaddr в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
В каких состояниях может находится мутекс?
(1) в свободном состоянии
(2) в захваченном состоянии
(3) в переходном состоянии
Бит POLLNVAL в поле revents устанавливается, если:
(1) на устройстве возникла ошибка
(2) сокет, труба или терминальное устройство закрыты на другом конце
(3) значение fd не соответствует валидному файловому дескриптору
Укажите серверное приложение, использующее гибридную архитектуру, сочетающую многопоточность с событийной ориентацией:
(1) iis
(2) apache 1.0
(3) apache 2.0
Какой атрибут структуры pthread_attr_t определяет адрес стека?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
Какой атрибут мутекса описывает схему предотвращения инверсии приоритета, используемую этим мутексом?
(1) pshared
(2) type
(3) protocol
(4) prioceiling
(5) robust_np
Укажите операцию, определенную над условной переменной, которая выполняет операцию signal:
(1) pthread_cond_init(3C)
(2) pthread_cond_timedwait_np(3C)
(3) pthread_cond_signal(3C)
(4) pthread_cond_wait(3C)
Как правило, рекомендуется, чтобы количество нитей программы на машине с N процессорами было равно:
(1) 2N
(2) N
(3) N/2
Укажите пустую библиотеку Solaris 10, содержащую ссылки на соответствующие функции в libc.so:
(1) libpthread.so
(2) libpthread.a
(3) libstdc++.so
Укажите значение по умолчанию атрибута schedpolicy в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
При каком значении атрибута мутекса type, мутексы допускают многократный захват одной и той же нитью?
(1) PTHREAD_MUTEX_NORMAL
(2) PTHREAD_MUTEX_ERRORCHECK
(3) PTHREAD_MUTEX_RECURSIVE
Сколько параметров имеет системный вызов select(3C)?
(1) 4
(2) 5
(3) 3
Какой из нижеперечисленных пунктов является преимуществом использования многопоточных приложений?
(1) произвольный доступ к разделяемым данным
(2) невозможность реализации принципа минимальных привилегий
(3) низкая надежность
(4) невозможность исполнения на многомашинном вычислительном комплексе
Какая библиотека в некоторых дистрибутивах Linux содержит ссылки на функции библиотеки libpthread.so?
(1) libpthread.a
(2) libstdc++.so
(3) libc.so
Укажите возможные значения атрибута нити cancel type:
(1) PTHREAD_CANCEL_TRUE
(2) PTHREAD_CANCEL_NULL
(3) PTHREAD_CANCEL_DEFERRED
(4) PTHREAD_CANCEL_ASYNCHRONOUS
Захват и освобождение мутекса должны производиться ...
(1) только разными нитями
(2) одной или несколькими нитями
(3) только двумя нитями
(4) только одной нитью
Если poll(2) возвращает управление по тайм-ауту, код возврата будет равен:
(1) 0
(2) 1
(3) -1
Технология разработки параллельных программ MPI/OpenMP применяется при разработке:
(1) параллельных программ с разделяемой памятью
(2) параллельных программ, обменивающихся сообщениями
(3) гибридных приложений
При исполнении системного вызова в 64-битной архитектуре SPARC, процесс исполняет специальную команду, которая переключает адресное пространство и передает управление ядру:
(1) syscall
(2) ta 0x8
(3) ta 0x40
Какой атрибут структуры pthread_attr_t определяет параметры планирования?
(1) scope
(2) stacksize
(3) stackaddr
(4) concurrency
(5) inheritsched
(6) schedparam
Операция Pthread_mutex_trylock(3C) ...
(1) инициализирует мутекс
(2) пытается захватить мутекс и если он занят, операция возвращает ошибку EAGAIN
(3) пытается захватить мутекс и блокируется, если это невозможно, но не дольше чем до указанного момента
Параметр системного вызова poll(2), определяющий тайм-аут в миллисекундах:
(1) struct pollfd fds[]
(2) nfds_t nfds
(3) int timeout
Укажите серверное приложение, являющееся примером многопроцессного приложения с автономными процессами:
(1) iis
(2) apache 1.0
(3) apache 2.0
Укажите цели использования многопоточных программ:
(1) использование дополнительных ресурсов на многопроцессорных и гипертрединговых компьютерах
(2) решение задач реального времени
(3) обеспечение высокой надежности программ
Укажите значение по умолчанию атрибута inheritsched в структуре pthread_attr_t:
(1) PTHREAD_SCOPE_PROCESS
(2) PTHREAD_CREATE_JOINABLE
(3) NULL
(4) 0
(5) PTHREAD_EXPLICIT_SCHED
(6) SCHED_OTHER
Сколько значений может принимать атрибут мутекса robust_np?
(1) 3
(2) 2
(3) 4
При ошибке poll(2) возвращает:
(1) 0
(2) 1
(3) -1