игра брюс 2048
Главная / Программирование / Common Intermediate Language и системное программирование в Microsoft .NET / Тест 12

Common Intermediate Language и системное программирование в Microsoft .NET - тест 12

Упражнение 1:
Номер 1
Используемые в операционной системе средства реализации многозадачности можно разделить на следующие группы:

Ответ:

 (1) взаимодействие с устройствами 

 (2) средства управления потоками и волокнами 

 (3) взаимодействие потоков в рамках одного процесса 

 (4) взаимодействие между процессами одного компьютера 

 (5) взаимодействие потоков в рамках разных процессов 

 (6) взаимодействие между процессами разных компьютеров 


Номер 2
Наиболее типичным примером относительно универсальных средств взаимодействия с устройствами являются средства:

Ответ:

 (1) асинхронного ввода-вывода 

 (2) синхронного ввода-вывода 

 (3) параллельного ввода-вывода 


Номер 3
Когда процесс запускается, операционная система в нем самостоятельно создает:

Ответ:

 (1) первичный поток, начинающий исполнение кода этого процесса 

 (2) вторичный поток, начинающий исполнение кода этого процесса 

 (3) первичный поток, начинающий исполнение кода следующего процесса 

 (4) вторичный поток, начинающий исполнение кода предыдущего процесса 


Упражнение 2:
Номер 1
Гибрид средств управления потоками и асинхронного ввода-вывода в Windows называется:

Ответ:

 (1) "порт завершения ввода-вывода" 

 (2) "порт окончания ввода-вывода" 

 (3) "порт исполнения ввода-вывода" 

 (4) "порт ожидания ввода-вывода" 


Номер 2
Потоки, работающие в рамках одного процесса, имеют возможность взаимодействовать друг с другом:

Ответ:

 (1) используя общее пространство процесса 

 (2) используя общее адресное пространство процесса 

 (3) используя общее адресное пространство 

 (4) используя общее адресное пространство потоков 


Номер 3
Взаимодействие потоков, работающие в рамках одного процесса может:

Ответ:

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

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

 (3) приводить к конфликтам произвольного доступа потока к общим данным процесса 

 (4) требовать средств изоляции некоторых данных одного потока от общих данных 


Упражнение 3:
Номер 1
При взаимодействие между процессами одного компьютера диспетчер памяти операционной системы должен предусмотреть средства организации:

Ответ:

 (1) разделяемой между процессами памяти 

 (2) разделяемых между процессами данных 

 (3) разделяемых потоков 

 (4) разделяемой между потоками памяти 


Номер 2
Многие операционные системы предоставляют дополнительные средства межпроцессного взаимодействия, многие из них являются:

Ответ:

 (1) надстройками над средствами работы с потоками 

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

 (3) надстройками над средствами работы с данными 

 (4) надстройками над средствами работы с файловыми системами 


Номер 3
В общем случае память разных компьютеров можно рассматривать как:

Ответ:

 (1) интегрированную друг с друга 

 (2) отображаемую друг в друга 

 (3) изолированную друг от друга 

 (4) общее адресное пространство 


Упражнение 4:
Номер 1
Обычные операции ввода-вывода происходят:

Ответ:

 (1) в асинхронном режиме 

 (2) в произвольном режиме 

 (3) в параллельном режиме 

 (4) в синхронном режиме 


Номер 2
Эффективность использования процессора можно было бы повысить, если бы существовала возможность выполнять код программы:

Ответ:

 (1) во время выполнения операций ввода 

 (2) во время выполнения операций ввода-вывода 

 (3) во время выполнения операций вывода 


Номер 3
В Windows для реализации асинхронного ввода-вывода предусмотрены функции типа:

Ответ:

 (1) ReadFile 

 (2) WriteFile 

 (3) ReadFileEx 

 (4) WriteFileEx 


Упражнение 5:
Номер 1
В Windows для реализации асинхронного ввода-вывода предусмотрена следующая специальня структура:

Ответ:

 (1) APPED 

 (2) OVERLAPPED 

 (3) OVERLAPPE 

 (4) OVERLAPPEDD 


Номер 2
Специальная структура OVERLAPPED используется для:

Ответ:

 (1) взаимодействия с синхронной операцией 

 (2) взаимодействия с параллельной операцией 

 (3) взаимодействия с последовательной операцией 

 (4) взаимодействия с асинхронной операцией 


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

Ответ:

 (1) ReadFile, WriteFile, ReadFileEx, WriteFileEx 

 (2) CancelIo, GetOverlappedResult, HasOverlappedIoCompleted 

 (3) ExitFile, OpStop, OperationComplete 


Упражнение 6:
Номер 1
Какой способ может обеспечить самую быструю реакцию на завершение операции ввода-вывода, но ценой более высокой загрузки процессора:

Ответ:

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

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

 (3) выполнение синхронных операций с опросом состояния 

 (4) выполнение синхронных операций с ожиданием на объектах ядра 


Номер 2
В данном случае:ov.Offset = 12345;
if (
  WriteFile( fh, buffer, sizeof(buffer), &dwWritten, &ov ) ||
  GetLastError() == ERROR_IO_PENDING
) {
  while (!GetOverlappedResult(fh, &ov, &dwWritten, FALSE)){}
} else {
}Функция GetOverlappedResult проверяет:

Ответ:

 (1) состояние операции ввода-вывода и возвращает признак ее завершения 

 (2) состояние операции вывода и возвращает признак ее завершения 

 (3) состояние операции ввода и возвращает признак ее завершения 

 (4) состояние операции ввода-вывода и возвращает признак ее исполнения 


Номер 3
В данном случае:ov.Offset = 12345;
ov.hEvent = CreateEvent((LPSECURITY_ATTRIBUTES)NULL, TRUE, FALSE, 0);

if ( 
  WriteFile( fh, buffer, sizeof(buffer), &dwWritten, &ov ) ||
  GetLastError() == ERROR_IO_PENDING
) {
  GetOverlappedResult( fh, &ov, &dwWritten, TRUE );
} else {
}функция GetOverlappedResult проверяет состояние операции и, если она еще не завершена, вызывает функцию:

Ответ:

 (1) ForSingleObject 

 (2) WaitForSingle 

 (3) WaitForSingleObject 

 (4) WaitForSingleObjectResult 


Упражнение 7:
Номер 1
Alertable waiting как состояние потока - это:

Ответ:

 (1) ожиданиe оповещения 

 (2) ожидание информирования 

 (3) ожидание объявления 

 (4) ожидание ввода-вывода 


Номер 2
Для реализации асинхронного ввода-вывода в операционной системе предусмотрен специальный механизм, основанный на:

Ответ:

 (1) асинхронных вызовах процедур 

 (2) Аsynchronous Procedure Call 

 (3) APC 


Номер 3
Для реализации APC операционная система ведет:

Ответ:

 (1) списки потоков 

 (2) списки процедур 

 (3) списки нитей 

 (4) списки процессов 


Упражнение 8:
Номер 1
Для перевода потока в состояние ожидания оповещения Win32 API предусматривает специальный набор функций:

Ответ:

 (1) CreateFile, CreateProcess, CreateEvent 

 (2) CloseHandle, DuplicateHandle 

 (3) SleepEx, WaitForSingleObjectEx 

 (4) ReadFile, WriteFile, ReadFileEx, WriteFileEx 


Номер 2
Обычно APC используются самой системой для реализации:

Ответ:

 (1) синхронного ввода-вывода 

 (2) синхронного ввода 

 (3) асинхронного вывода 

 (4) асинхронного ввода-вывода 


Номер 3
С помощью какой функции можно ставить в APC очередь запросы для вызова собственных функций:

Ответ:

 (1) QueueUserAPC 

 (2) CloseHandle 

 (3) CreateFile 

 (4) OpenEvent 

 (5) DuplicateHandle 

 (6) WaitForSingleObjectEx 


Упражнение 9:
Номер 1
Объектами ядра являются:

Ответ:

 (1) файлы 

 (2) процессы 

 (3) потоки 

 (4) события 

 (5) почтовые ящики 


Номер 2
Дескриптор безопасности (Security Descriptor) содержит информацию:

Ответ:

 (1) о владельце объекта 

 (2) первичной группе пользователей 

 (3) один список управления доступом 

 (4) два списка управления доступом 


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

Ответ:

 (1) объекты могут быть унаследованы дочерним процессом при его создании 

 (2) объект может иметь собственное уникальное имя 

 (3) процесс-владелец объекта может передать его описатель любому другому процессу 


Упражнение 10:
Номер 1
В Windows для идентификации процессов и потоков используют их:

Ответ:

 (1) описатели 

 (2) идентификаторы 

 (3) имена 

 (4) сертификаты 


Номер 2
С помощью каких функций можно узнать идентификаторы текущего процесса и потока:

Ответ:

 (1) GetCurrentThreadId, GetCurrentProcessId 

 (2) GetProcessId, GetThreadId 

 (3) OpenProcess, OpenThread 

 (4) GetPriorityClass, SetPriorityClass 


Номер 3
Какая функция превращает псевдоописатель процесса в настоящий описатель, действующий только в текущем процессе:

Ответ:

 (1) HANDLE hrealThread; DuplicateHandle( GetCurrentProcess(), GetCurrentProcess(), GetCurrentProcess(), &hrealThread, DUPLICATE_SAME_ACCESS, FALSE, 0 ); 

 (2) HANDLE hrealThread; DuplicateHandle( OpenProcess, GetCurrentProcess(), OpenProcess, &hrealThread, DUPLICATE_SAME_ACCESS, FALSE, 0 ); 

 (3) HANDLE hrealThread; DuplicateHandle( OpenThread, GetCurrentProcess(), OpenThread, &hrealThread, DUPLICATE_SAME_ACCESS, FALSE, 0 ); 

 (4) HANDLE hrealThread; DuplicateHandle( GetPriorityClass, GetCurrentProcess(), SetPriorityClass, &hrealThread, DUPLICATE_SAME_ACCESS, FALSE, 0 ); 


Упражнение 11:
Номер 1
Какие функции Win32 API предоставляет для изменения класса приоритета для процесса:

Ответ:

 (1) GetThreadPriority, SetThreadPriority 

 (2) GetPriorityClass, SetPriorityClass 

 (3) GetProcessPriorityBoost, SetProcessPriorityBoost 

 (4) GetThreadPriorityBoost, SetThreadPriorityBoost 


Номер 2
В случае Visual Studio многопоточные версии библиотек выбираются ключами:

Ответ:

 (1) /MT 

 (2) /MD 

 (3) /MTd 

 (4) /MDd 

 (5) /ML 

 (6) /MLd 


Номер 3
Windows предоставляет следующие способы измерения интервалов:

Ответ:

 (1) таймер низкого разрешения 

 (2) "мультимедийный" таймер 

 (3) высокоточный таймер 

 (4) таймер высокого разрешения 


Упражнение 12:
Номер 1
Если стандартное разрешение мультимедийного таймера на данном компьютере хуже 5-10 мс, то у функции timeBeginPeriod есть побочный эффект - улучшение разрешения повлияет на работу:

Ответ:

 (1) планировщика отдельного процесса 

 (2) планировщика во всей системе 

 (3) планировщика отдельного потока 

 (4) плнировщика всех потоков 


Номер 2
Планировать исполнение исполнение волокон можно с помощью:

Ответ:

 (1) DeleteFiber 

 (2) CreateFiber 

 (3) ConvertFiberToThread 

 (4) SwitchToFiber 


Номер 3
Целевая функция FiberProc эпизодически вызывает следующую функцию для переключения выполняемого волокна:

Ответ:

 (1) SwitchToFiber 

 (2) CreateFiber 

 (3) ConvertThreadToFiber 

 (4) ResumeThread 

 (5) WaitForSingleObject 

 (6) ThreadProc 




Главная / Программирование / Common Intermediate Language и системное программирование в Microsoft .NET / Тест 12