игра брюс 2048
Главная / Операционные системы / Основы организации операционных систем Microsoft Windows / Тест 8

Основы организации операционных систем Microsoft Windows - тест 8

Упражнение 1:
Номер 1
Критическая секция — это:
 

Ответ:

 (1) участок программы, выполнение которого может привести к недетерминизму в вычислениях  

 (2) ресурс, использование которого может привести к race condition  

 (3) неожиданно возникшая, неблагоприятная для получения правильных результатов ситуация  


Номер 2
Какое из перечисленных утверждений является правильным?
 

Ответ:

 (1) критическая секция необходима для обеспечения эксклюзивного доступа к разделяемому ресурсу  

 (2) для решения проблемы синхронизации необходимо обеспечить взаимоисключение для критических секций потоков  

 (3) доступ к разделяемым ресурсам осуществляется внутри критических секций потоков  


Номер 3
Наиболее важным с точки зрения задач синхронизации является:
 

Ответ:

 (1) принятие решения о допуске в критическую секцию  

 (2) максимально быстрое выполнение критической секции  

 (3) обеспечение эксклюзивного доступа к ресурсам вне критических секций  


Номер 4
Проблема синхронизации обычно решается…
 

Ответ:

 (1) внутри критической секции  

 (2) при входе в критическую секцию  

 (3) на выходе из критической секции  


Упражнение 2:
Номер 1
Одним из решений проблемы синхронизации является использование переменной замка (lock). При этом вхождение в критическую секцию осуществляется при помощи операций while(lock); и lock=1;. Недостатком данного решения является:
 

Ответ:

 (1) бесконечно долгое выполнение операции while(lock);  

 (2) затраты времени на опрос переменной lock  

 (3) возможность вытеснения потока между этими двумя операциями  


Номер 2
Одним из решений проблемы синхронизации является использование переменной замка (lock). При этом вхождение в критическую секцию осуществляется при помощи операций while(lock); и lock=1;. Для корректного использования переменной замка необходимо:

 

Ответ:

 (1) добиться непрерывности выполнения этих операций  

 (2) добиться максимально быстрого выполнения операции while(lock);  

 (3) сделать переменную lock недоступной другим потокам  


Номер 3
Одним из решений проблемы синхронизации является использование переменной замка (lock). При этом вхождение в критическую секцию осуществляется при помощи операций while(lock); и lock=1;.
Непрерывность (атомарность) выполнения этих операций:
 

Ответ:

 (1) может быть обеспечена за счет максимально быстрого выполнения первой операции  

 (2) может быть обеспечена с помощью TSL команды  

 (3) не может быть обеспечена и это является принципиальным недостатком данного подхода  


Упражнение 3:
Номер 1
Атомарность (непрерывность) выполнения нескольких операций может быть обеспечена путем использования:
 

Ответ:

 (1) переменной-замка  

 (2) TSL команд  

 (3) Interlocked-функций  


Номер 2
Атомарность выполнения Interlocked-функций реализуется за счет:
 

Ответ:

 (1) быстрого выполнения в пользовательском режиме работы процессора  

 (2) посылки аппаратного сигнала по шине для закрытия конкретного адреса памяти  

 (3) маскировки прерываний таймера, в результате чего поток выполняется без вытеснения  


Номер 3
Удобство использования Interlocked-функций для задач синхронизации обеспечивается…
 

Ответ:

 (1) их быстрым выполнением в непривилегированном режиме работы процессора  

 (2) тем, что они помогают избегать спин-блокировок  


Упражнение 4:
Номер 1
Спин-блокировкой называется:
 

Ответ:

 (1) поведение потока, связанное с его вращением в пустом цикле и опросом значения некоторой переменной  

 (2) блокирование входа в критическую секцию для других активных потоков  

 (3) организация циклов внутри критических секций для решения проблем синхронизации  


Номер 2
Применение спин-блокировки на многпроцессорных комплексах:
 

Ответ:

 (1) сопровождается теми же пустыми затратами машинного времени, что и на однопроцессорных  

 (2) имеет смысл, так как, пока один из потоков крутится в цикле, другой может изменить значение переменной-замка  


Номер 3
Использование спин-блокировки:
 

Ответ:

 (1) является бессмысленной тратой времени  

 (2) оправдано, поскольку у активно ожидающего потока есть шанс быстро войти в критическую секцию, не будучи блокированным  


Номер 4
Число циклов, которое проводит поток в состоянии активного ожидания:
 

Ответ:

 (1) зависит только от момента разблокировки переменной-замка другим потоком  

 (2) может быть регламентировано с помощью функций Win32-API  

 (3) обусловлено скоростью выполнения Interlocked-функций (не более 50 тактов работы процессора)  


Упражнение 5:
Номер 1
Win32-функции EnterCriticalSection и LeaveCriticalSection

Ответ:

 (1) являются универсальным средством синхронизации  

 (2) обычно используются для синхронизации потоков одного процесса  

 (3) используются для синхронизации потоков одного процесса только на однопроцессорных машинах  


Номер 2
Для синхронизации потоков различных процессов принято использовать:
 

Ответ:

 (1) Win32-функции EnterCriticalSection и LeaveCriticalSection  

 (2) объекты ядра; причем почти все объекты, даже такие, как файлы и потоки, пригодны для этих целей  

 (3) только объекты ядра, такие, как семафоры и мьютексы, которые непосредственно предназначены для решения проблем синхронизации  


Номер 3
Для решения проблем синхронизации обычно используются семафоры, события, мьютексы. Можно ли для решения задач синхронизации использовать такие объекты, как потоки, процессы, файлы?
 

Ответ:

 (1) да  

 (2) нет  

 (3) можно использовать только объекты в сигнальном состоянии  


Упражнение 6:
Номер 1
Отличие мьютекса от семафора состоит в том, что …
 

Ответ:

 (1) он не содержит счетчиков и регулирует доступ к единственному ресурсу  

 (2) только поток, занявший мьютекс, может освободить этот мьютекс  

 (3) для блокировки потока на мьютексе не может использоваться синхронизирующая функция WaitForSingleObject  


Номер 2
Функция WaitForSingleObject

Ответ:

 (1) переводит объект в занятое состояние  

 (2) переводит объект в свободное состояние  

 (3) может быть использована только для объектов "событие"  


Номер 3
В состав параметров синхронизирующей функции WaitForSingleObject  входит описатель объекта. Для того чтобы воспользоваться данной функцией, поток может:
 

Ответ:

 (1) создать объект  

 (2) открыть объект  

 (3) находится в составе процесса, один из потоков которого открыл объект  




Главная / Операционные системы / Основы организации операционных систем Microsoft Windows / Тест 8