
гос / testy_ppv
.pdfКРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ |
|
Спеціальність 6.050102 «Комп’ютерна інженерія» |
Семестр 8 |
Навчальний предмет «Периферійні пристрої» |
|
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 1
1 |
Зазначити обов’язкову функціональність драйверів моделі WDM |
||
А) |
Підтримка багатошарової моделі |
Б) |
Незалежність від рівня IRQL |
В) |
Підтримка IOCTL-запитів |
Г) |
Підтримка успадкованих пристроїв |
2 |
Зазначити обов’язкову функціональність драйверів моделі WDM |
||
А) |
Підтримка багатопроцесорних систем |
Б) |
Підтримка Plug-and-Play |
В) |
Незалежність від версії моделі |
Г) |
Створення і реєстрація інтерфейсу пристрою |
3 |
Зазначити обов’язкову функціональність драйверів моделі WDM |
||
А) |
Керування споживаною потужністю |
Б) |
Сумісність з попередніми версіями |
В) |
Підтримка основного АРІ вводу/виводу |
Г) |
Підтримка STD |
4 |
Зазначити обов’язкову функціональність драйверів моделі WDM |
||
А) |
Сумісність з майбутніми версіями |
Б) |
Обслуговування декількох пристроїв |
В) |
Незалежність від HAL |
Г) |
Підтримка WMI |
5 |
Зазначити правильне співвідношення рівнів IRQL |
||
А) |
PASSIVE_LEVEL > DISPATCH_LEVEL |
Б) |
APC_LEVEL > PASSIVE_LEVEL |
В) |
PROFILE_LEVEL > IPI_LEVEL |
Г) |
DISPATCH_LEVEL > POWER_LEVEL |
6 |
Зазначити правильне співвідношення рівнів IRQL |
||
А) |
PASSIVE_LEVEL > IPI_LEVEL |
Б) |
DISPATCH_LEVEL > PROFILE_LEVEL |
В) |
DISPATCH_LEVEL > APC_LEVEL |
Г) |
PROFILE_LEVEL > POWER_LEVEL |
7 |
Зазначити не правильне співвідношення рівнів IRQL |
||
А) |
APC_LEVEL < DISPATCH_LEVEL |
Б) |
PASSIVE_LEVEL < APC_LEVEL |
В) |
DISPATCH_LEVEL < POWER_LEVEL |
Г) |
PROFILE_LEVEL < PASSIVE_LEVEL |
8 |
Які рівні IRQL є підвищеними |
|
|
А) |
IRQL >= PASSIVE_LEVEL |
Б) |
IRQL >= APC_LEVEL |
В) |
IRQL >= PROFILE_LEVEL |
Г) |
IRQL >= DISPATCH_LEVEL |
9 |
Будь-який потік на IRQL>=DISPATCH_LEVEL… |
|
|
А) |
не піддається механізму планування і не |
Б) |
повинен створюватися і виконуватися тільки в |
|
може бути витиснутий |
|
системному контексті |
В) |
може використовувати будь які примітиви |
Г) |
не може виділяти пам’ять з системного пулу |
|
синхронізації окрім спін блокуваннь |
|
ядра, що не підкачується |
10 |
Будь-який потік на IRQL>=DISPATCH_LEVEL… |
|
|
А) |
повинен використовувати KeWait*-функції |
Б) |
не може використовувати KeWait*-функції з |
|
з параметром Timeout рівним NULL |
|
відмінним від нуля часом очікування |
В) |
не може використовувати ніяких KeWait*- |
Г) |
не може використовувати KeWait*-функції |
|
функцій для примітивів синхронізації ядра |
|
для захоплення спін блокувань |
11 |
Будь-який потік на IRQL>=DISPATCH_LEVEL… |
|
|
А) |
повинен використовувати тільки пам'ять, що |
Б) |
повинен використовувати тільки пам'ять |
|
не підкачується |
|
системного пулу ядра, що не підкачується |
В) |
не може звертатися до пам’яті режиму |
Г) |
повинен використовувати тільки пам’ять з |
|
користувача |
|
системного діапазону адрес |
12 |
Зазначити не правильне твердження, щодо |
контексту виконання коду драйверу |
|
А) |
В системному контексті адреси простору ядра вказують на одні і ті самі дані в будь якому потоці |
||
Б) |
При звертанні до пам’яті в драйвері трансляція адрес завжди виконується в системному контексті |
||
В) |
Адреси простору ядра вказують на одні і ті самі дані в контексті будь якого потоку |

Г) |
При звертанні до пам’яті в драйвері трансляція адрес виконується в поточному контексті |
||
13 |
Зазначити правильне твердження, щодо контексту виконання коду драйверу |
||
А) |
Інтерпретація вмісту адрес простору ядра в драйвері залежить від IRQL контексту потоку |
||
Б) |
Інтерпретація вмісту адрес простору користувача в драйвері залежить від IRQL контексту потоку |
||
В) |
Інтерпретація вмісту адрес простору ядра в драйвері залежить від контексту потоку |
||
Г) |
Інтерпретація вмісту адрес простору користувача в драйвері залежить від контексту потоку |
||
14 |
Процедура DriverEntry призначена для |
|
|
А) |
завантаження драйверу |
Б) |
підключення пристрою |
В) |
ініціалізації драйверу |
Г) |
ініціалізації пристрою |
15 |
Процедура DriverEntry викликається |
|
|
А) |
тільки при старті драйверу |
Б) |
при старті і зупинці драйверу |
В) |
в момент «гарячого» підключення пристрою |
Г) |
при виклику драйвером вищого рівня |
16 |
Процедура DriverEntry викликається на IRQL |
|
|
А) |
PROFILE_LEVEL |
Б) |
APC_LEVEL |
В) |
DISPATCH_LEVEL |
Г) |
PASSIVE_LEVEL |
17 |
Процедура DriverEntry викликається |
|
|
А) |
синхронно в довільному контексті |
Б) |
асинхронно в довільному контексті |
В) |
синхронно в системному контексті |
Г) |
асинхронно в системному контексті |
18 |
Що монолітний однорівневий Legacy-драйвер не зобов’язаний робити в DriverEntry |
||
А) |
Створити хоча б один об'єкт «пристрій», яким він збирається управляти |
||
Б) |
Створити для об'єкту «пристрій» символьне посилання в просторі імен Диспетчера об'єктів |
||
В) |
Заповнити в об'єкті «драйвер» елемент AddDevice за покажчиком в елементі DriverExtension |
||
Г) |
Заповнити в об'єкті «драйвер» масив покажчиків на процедури диспетчеризації IRP |
||
19 |
Диспетчеризацію якого типу IRP повинен обов’язково забезпечувати WDM-драйвер |
||
А) |
IRP_MJ_READ |
Б) |
IRP_MJ_POWER |
В) |
IRP_MJ_QUERY_INFORMATION |
Г) |
IRP_MJ_SET_INFORMATION |
20 |
Диспетчеризацію якого типу IRP повинен обов’язково забезпечувати WDM-драйвер |
||
А) |
IRP_MJ_WRITE |
Б) |
IRP_MJ_FLUSH_BUFFERS |
В) |
IRP_MJ_SYSTEM_CONTROL |
Г) |
IRP_MJ_CLEANUP |
21 |
Диспетчеризацію якого типу IRP повинен обов’язково забезпечувати WDM-драйвер |
||
А) |
IRP_MJ_PNP |
Б) |
IRP_MJ_DEVICE_CONTROL |
В) |
IRP_MJ_QUERY_SECURITY |
Г) |
IRP_MJ_QUERY_QUOTA |
22 |
Процедура AddDevice призначена для |
|
|
А) |
завантаження драйверу |
Б) |
підключення пристрою |
В) |
ініціалізації драйверу |
Г) |
ініціалізації пристрою |
23 |
Процедура AddDevice викликається |
|
|
А) |
тільки при старті драйверу |
Б) |
при старті і зупинці драйверу |
В) |
при старті драйверу і в момент «гарячого» |
Г) |
для обробки переривання від пристрою, що |
|
підключення пристрою |
|
обслуговує драйвер |
24 |
Процедура AddDevice викликається на IRQL |
|
|
А) |
PROFILE_LEVEL |
Б) |
PASSIVE_LEVEL |
В) |
DISPATCH_LEVEL |
Г) |
APC_LEVEL |
|
|
|
|
Затверджено на засіданні кафедри «Комп’ютерних та інформаційних систем» Протокол №______ від « » 20 р.
Зав. кафедрою ______________________ Луговой А.В. Екзаменатор _______________Зілінський Ю.В.
( підпис) ( підпис)
КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ |
|
Спеціальність 6.050102 «Комп’ютерна інженерія» |
Семестр 8 |
Навчальний предмет «Периферійні пристрої» |
|
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 1
25 |
Процедура AddDevice викликається |
|
|
А) |
синхронно в довільному контексті |
Б) |
асинхронно в довільному контексті |
В) |
синхронно в системному контексті |
Г) |
асинхронно в фіксованому контексті |
26 |
Об'єктом самого низького рівня в стеці об'єкта пристрою є |
||
А) |
Об'єкт «фізичний пристрій» (PDO) |
Б) |
Об'єкт «функціональний пристрій» (FDO) |
В) |
Об'єкт «пристрій-фільтр» (FiDO) |
Г) |
Об'єкт «коренева шина» (RDO) |
27 |
Об'єкт «фізичний пристрій» (PDO) створюється |
|
|
А) |
Диспетчером PnP |
Б) |
функціональним драйвером |
В) |
шинним драйвером |
Г) |
низько рівневим драйвером фільтром |
28 |
Об'єкт «функціональний пристрій» (FDO) створюється |
||
А) |
високо рівневим драйвером фільтром |
Б) |
функціональним драйвером |
В) |
шинним драйвером |
Г) |
низько рівневим драйвером фільтром |
29 |
AddDevice якого з драйверів викликається першою при побудові стека об'єкта пристрою |
||
А) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі пристрою |
||
Б) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі класу |
||
В) |
драйверу, зазначеного в параметрі Service в розділі пристрою |
||
Г) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі пристрою |
||
30 |
AddDevice якого з драйверів викликається першою при побудові стека об'єкта пристрою |
||
А) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі пристрою |
||
Б) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі класу |
||
В) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі класу |
||
Г) |
драйверу, зазначеного в параметрі Service в розділі пристрою |
||
31 |
AddDevice якого з драйверів викликається останньою при побудові стека об'єкта пристрою |
||
А) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі класу |
||
Б) |
драйверу, зазначеного в параметрі Service в розділі пристрою |
||
В) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі класу |
||
Г) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі пристрою |
||
32 |
AddDevice якого з драйверів викликається останньою при побудові стека об'єкта пристрою |
||
А) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі класу |
||
Б) |
нижнього драйверу фільтру, зазначеного в параметрі LowerFilters в розділі пристрою |
||
В) |
драйверу, зазначеного в параметрі Service в розділі пристрою |
||
Г) |
верхнього драйверу фільтру, зазначеного в параметрі UpperFilters в розділі пристрою |
||
33 |
Безпечне звертання до області розширення пристрою в драйвері може виконуватися при |
||
А) |
IRQL==PASSIVE_LEVEL |
Б) |
IRQL<=APC_LEVEL |
В) |
IRQL== IPI_LEVEL |
Г) |
IRQL<=DISPATCH_LEVEL |
34 |
Безпечне звертання до області розширення пристрою в драйвері може виконуватися |
||
А) |
в системному контексті |
Б) |
в контексті процедури диспетчеризації IRP |
В) |
в довільному контексті |
Г) |
в певному фіксованому контексті |
35 |
Безпечне звертання до елементів IRP в драйвері може виконуватися при |
||
А) |
IRQL>=IPI_LEVEL |
Б) |
IRQL<=DISPATCH_LEVEL |
В) |
IRQL==PROFILE_LEVEL |
Г) |
IRQL<=APC_LEVEL |
36 |
Безпечне звертання до осередків стека вводу/виводу в драйвері може виконуватися при |
|
|||||||||||||||
А) |
IRQL==APC_LEVEL |
|
|
|
|
|
|
Б) |
|
IRQL<= HIGH_LEVEL |
|
|
|||||
В) |
IRQL<=DISPATCH_LEVEL |
|
|
|
Г) |
|
IRQL<=PROFILE_LEVEL |
|
|
||||||||
37 |
Безпечне звертання до елементів IRP в драйвері може виконуватися |
|
|
||||||||||||||
А) |
тільки в системному контексті |
|
|
|
Б) |
|
в довільному контексті |
|
|
||||||||
В) |
в контексті процедури диспетчеризації IRP |
|
|
Г) |
|
в певному фіксованому контексті |
|
|
|||||||||
38 |
Безпечне звертання до осередків стека вводу/виводу в драйвері може виконуватися |
|
|||||||||||||||
А) |
в довільному контексті |
|
|
|
|
|
|
Б) |
|
в контексті процедури диспетчеризації IRP |
|||||||
В) |
тільки в системному контексті |
|
|
|
Г) |
|
в певному фіксованому контексті |
|
|
||||||||
39 |
Якого типу IRP надійде в драйвер при відкритті додатком пристрою функцією CreateFile |
||||||||||||||||
А) |
IRP_MJ_CREATE |
|
|
|
|
|
|
Б) |
|
IRP_MJ_CREATE_MAILSLOT |
|
|
|||||
В) |
IRP_MJ_DIRECTORY_CONTROL |
|
|
|
Г) |
|
IRP_MJ_FILE_SYSTEM_CONTROL |
|
|||||||||
40 |
Якого типу IRP надійде в драйвер при записі додатком на пристрій функцією ReadFile |
|
|||||||||||||||
А) |
IRP_MJ_CREATE |
|
|
|
|
|
|
Б) |
|
IRP_MJ_QUERY_EA |
|
|
|||||
В) |
IRP_MJ_READ |
|
|
|
|
|
|
Г) |
|
IRP_MJ_SET_EA |
|
|
|||||
41 |
Якого типу IRP надійде в драйвер при читанні додатком з пристрою функцією WriteFile |
|
|||||||||||||||
А) |
IRP_MJ_SYSTEM_CONTROL |
|
|
|
Б) |
|
IRP_MJ_SET_INFORMATION |
|
|
||||||||
В) |
IRP_MJ_SET_QUOTA |
|
|
|
|
|
|
Г) |
|
IRP_MJ_WRITE |
|
|
|||||
42 |
Якого типу IRP надійде в драйвер при виклику додатком функції DeviceIoControl |
|
|
||||||||||||||
А) |
IRP_MJ_CLEANUP |
|
|
|
|
|
|
Б) |
|
IRP_MJ_DEVICE_CONTROL |
|
|
|||||
В) |
IRP_MJ_DEVICE_CHANGE |
|
|
|
Г) |
|
IRP_MJ_INTERNAL_DEVICE_CONTROL |
||||||||||
43 |
Якого типу IRP надійде в драйвер при закритті додатком пристрою функцією CloseHandle |
||||||||||||||||
А) |
IRP_MJ_SHUTDOWN |
|
|
|
|
|
|
Б) |
|
IRP_MJ_PNP_POWER |
|
|
|||||
В) |
IRP_MJ_CLOSE |
|
|
|
|
|
|
Г) |
|
IRP_MJ_LOCK_CONTROL |
|
|
|||||
44 |
В |
якому |
контексті |
починає |
виконуватися |
процедура |
диспетчеризації |
IRP |
типу |
||||||||
|
IRP_MJ_DEVICE_CONTROL монолітного однорівневого драйверу |
|
|
||||||||||||||
А) |
В контексті системного робочого потоку |
|
|
Б) |
|
В контексті потоку, що був ініціатором запиту |
|||||||||||
В) |
В контексті потоку драйверу вищого рівня |
|
|
Г) |
|
В контексті потоку Диспетчера вводу/виводу |
|||||||||||
45 |
В |
якому |
контексті |
починає |
виконуватися |
процедура |
диспетчеризації |
IRP |
типу |
||||||||
|
IRP_MJ_WRITE та IRP_MJ_READ монолітного однорівневого драйверу |
|
|
||||||||||||||
А) |
В контексті системного робочого потоку |
|
|
Б) |
|
В контексті потоку, що був ініціатором запиту |
|||||||||||
В) |
В контексті потоку драйверу вищого рівня |
|
|
Г) |
|
В контексті потоку Диспетчера вводу/виводу |
|||||||||||
46 |
В |
якому |
контексті |
починає |
виконуватися |
процедура |
диспетчеризації |
IRP |
типу |
||||||||
|
IRP_MJ_CREATE та IRP_MJ_CLOSE монолітного однорівневого драйверу |
|
|
||||||||||||||
А) |
В контексті системного робочого потоку |
|
|
Б) |
|
В контексті потоку, що був ініціатором запиту |
|||||||||||
В) |
В контексті потоку драйверу вищого рівня |
|
|
Г) |
|
В контексті потоку Диспетчера вводу/виводу |
|||||||||||
47 |
Який з режимів не використовується Диспетчером вводу/виводу для обміну даними між |
||||||||||||||||
|
додатком і драйвером |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
А) |
буферизований ввід/вивід |
|
|
|
|
|
|
Б) |
|
опосередкований ввід/вивід |
|
|
|||||
В) |
прямий ввід/вивід |
|
|
|
|
|
|
Г) |
|
ввід/вивід без керування |
|
|
|||||
48 |
Спосіб організації доступу до |
даних користувацького режиму при обробці |
IRP |
типу |
|||||||||||||
|
IRP_MJ_WRITE і IRP_MJ_READ визначається |
|
|
|
|
||||||||||||
А) |
значенням бітів в елементі Flags структури |
|
|
Б) |
|
значенням бітів в елементі DeviceObject |
|||||||||||
|
DEVICE_OBJECT |
|
|
|
|
|
|
|
|
|
структури DRIVER_OBJECT |
|
|
||||
В) |
значенням бітів в елементі Flags структури |
|
|
Г) |
|
значенням параметру lpOverlapped функцій |
|||||||||||
Затверджено на засіданні кафедри «Комп’ютерних та інформаційних систем» |
|
|
|||||||||||||||
Протокол №______ |
від « |
|
|
» |
|
|
|
20 |
|
|
р. |
|
|
|
Зав. кафедрою ______________________ Луговой А.В. Екзаменатор _______________Зілінський Ю.В.
( підпис) ( підпис)
КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ |
|
Спеціальність 6.050102 «Комп’ютерна інженерія» |
Семестр 8 |
Навчальний предмет «Периферійні пристрої» |
|
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 1
|
DRIVER_OBJECT |
|
ReadFile/WriteFile |
|
|
|
49 |
Спосіб організації доступу до даних користувацького |
режиму при |
обробці |
IRP типу |
||
|
IRP_MJ_CONTROL визначається |
|
|
|
|
|
А) |
значенням бітів в елементі Flags структури |
Б) |
значенням бітів в елементі Control структури |
|||
|
IRP |
|
IO_STACK_LOCATION |
|
|
|
В) |
значенням бітів в елементі Characteristics |
Г) |
значенням |
параметру |
dwIoControlCode |
|
|
структури DEVICE_OBJECT |
|
функції DeviceIoControl |
|
|
|
50 |
На відміну від функцій WriteFile/ReadFile функція DeviceIoControl |
|
|
|||
А) |
Потребує створення драйвером символьного |
Б) |
Дозволяє |
за одне звертання |
виконати |
|
|
посилання на об’єкт пристрій |
|
передавання даних в обидві сторони |
|||
В) |
Не припускає можливості виконання |
Г) |
Підтримує запити до багаторівневого стеку |
|||
|
асинхронних операцій вводу/виводу |
|
пристрою із драйверами фільтрами |
|
||
51 |
На відміну від функцій WriteFile/ReadFile функція DeviceIoControl |
|
|
|||
А) |
Дозволяє виконувати кожний запит до |
Б) |
Потребує обов’язкового створення драйвером |
|||
|
драйвера в різних режимах буферизації |
|
об’єкту пристрій |
|
|
|
В) |
Не дозволяє передавати на пристрій великі |
Г) |
Не підтримує можливості обміну з пристроєм |
|||
|
обсягі даних |
|
в режимі прямого вводу/виводу |
|
||
52 |
Безпечне звертання в драйвері до даних користувацького режиму при обробці IRP в |
|||||
|
буферизованому режимі вводу/виводу може виконуватися |
|
|
|
||
А) |
в системному контексті |
Б) |
в контексті процедури диспетчеризації IRP |
|||
В) |
в довільному контексті |
Г) |
в певному фіксованому контексті |
|
||
53 |
Безпечне звертання в драйвері до даних користувацького режиму при обробці IRP в |
|||||
|
буферизованому режимі вводу/виводу може виконуватися при |
|
|
|||
А) |
IRQL<=APC_LEVEL |
Б) |
IRQL>=IPI_LEVEL |
|
|
|
В) |
IRQL==PASSIVE_LEVEL |
Г) |
IRQL<=DISPATCH_LEVEL |
|
||
54 |
Безпечне безпосереднє звертання в однорівневому драйвері до даних користувацького |
|||||
|
режиму при обробці IRP в режимі вводу/виводу без управління може виконуватися |
|
||||
А) |
в системному контексті |
Б) |
в контексті процедури диспетчеризації IRP |
|||
В) |
в довільному контексті |
Г) |
в контексті процедури AddDevice |
|
||
55 |
Безпечне безпосереднє звертання в драйвері до даних користувацького режиму при обробці |
|||||
|
IRP в режимі вводу/виводу без управління може виконуватися при |
|
|
|||
А) |
IRQL==PASSIVE_LEVEL |
Б) |
IRQL==APC_LEVEL |
|
|
|
В) |
IRQL==PROFILE_LEVEL |
Г) |
IRQL==DISPATCH_LEVEL |
|
||
56 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_WRITE в |
|||||
|
режимі DO_BUFFERED_IO в драйвері використовується елемент |
|
|
|||
А) |
IRP. AssociatedIrp.SystemBuffer |
Б) |
IRP.MdlAddress |
|
|
|
В) |
IRP.UserBuffer |
Г) |
IRP.CurrentLocation |
|
|
|
57 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_READ в |
|||||
|
режимі DO_BUFFERED_IO використовується елемент |
|
|
|
||
А) |
IRP. AssociatedIrp.SystemBuffer |
Б) |
IRP.ApcEnvironment |
|
|
|
В) |
IRP.UserBuffer |
Г) |
IRP.CurrentLocation |
|
|
|
58 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_WRITE в |
|||||
|
режимі DO_DIRECT_IO в драйвері використовується елемент |
|
|
|||
А) |
IRP. AssociatedIrp.SystemBuffer |
Б) |
IRP.ApcEnvironment |
|
|
|
В) |
IRP.UserBuffer |
Г) |
IRP.MdlAddress |
|
|
|
|
|
|
|
|
|
|
59 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_READ в |
|||||||||
|
режимі DO_DIRECT_IO в драйвері використовується елемент |
|||||||||
А) |
IRP. AssociatedIrp.SystemBuffer |
|
|
|
Б) |
IRP.UserBuffer |
||||
В) |
IRP.MdlAddress |
|
|
|
|
|
|
Г) |
IRP.CurrentLocation |
|
60 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_WRITE в |
|||||||||
|
режимі NEITHER в драйвері використовується елемент |
|||||||||
А) |
IRP.StackCount |
|
|
|
|
|
|
Б) |
IRP.UserBuffer |
|
В) |
IRP.MdlAddress |
|
|
|
|
|
|
Г) |
IRP.CurrentLocation |
|
61 |
Для доступу до буферів даних користувацького режиму при обробці типу IRP_MJ_READ в |
|||||||||
|
режимі NEITHER в драйвері використовується елемент |
|||||||||
А) |
IRP.ApcEnvironment |
|
|
|
|
|
|
Б) |
IRP.MdlAddress |
|
В) |
IRP.UserBuffer |
|
|
|
|
|
|
Г) |
IRP.CurrentLocation |
|
62 |
Зазначити не правильне твердження, щодо MDL (Memory Descriptor List) |
|||||||||
А) |
Інтерпретація MDL не залежить від контексту оскільки він описує сторінки фізичної пам’яті |
|||||||||
Б) |
Сторінки фізичної пам’яті, що описує MDL можуть розташовуватися не поруч одна з одною |
|||||||||
В) |
MDL описує сторінки буферу пам’яті неперервного діапазону віртуальних адрес |
|||||||||
Г) |
Буфер, що описує MDL має розриви фізичних сторінок і не придатний для обміну в режимі DMA |
|||||||||
63 |
Зазначити не правильне твердження, щодо роботи з системними пулами пам’яті |
|||||||||
А) |
Пам’ять з будь якого пулу доступна з будь якого контексту |
|||||||||
Б) |
Пам’ять з пулу що підкачується, доступна з будь якого контексту |
|||||||||
В) |
Пам’ять з пулу що не підкачується, доступна з будь якого контексту |
|||||||||
Г) |
Пам’ять з будь якого пулу доступна тільки з контексту, в якому вона виділялась |
|||||||||
64 |
Зазначити не правильне твердження, щодо роботи з системними пулами пам’яті |
|||||||||
А) |
На IRQL==DISPATCH_LEVEL пам’ять можна виділяти тільки з пулу що не підкачується |
|||||||||
Б) |
Звільняти пам’ять з будь якого пулу можна на будь якому рівні IRQL |
|||||||||
В) |
Доступ до пам’яті з пулу що підкачується повинен виконуватися на IRQL<DISPATCH_LEVEL |
|||||||||
Г) |
Безпечний доступ до пулу пам’яті що не підкачується можливий на будь якому рівні IRQL |
|||||||||
65 |
Зазначити правильне твердження, щодо роботи з системними пулами пам’яті |
|||||||||
А) |
При виділенні пам'яті із системних пулів вона очищається системою (заповнюється нулями) |
|||||||||
Б) |
Пам’ять з будь якого системного пулу доступна з будь якого контексту |
|||||||||
В) |
Пам’ять з системних пулів автоматично повертається системі при вивантаженні драйверу |
|||||||||
Г) |
Безпечний доступ до пам’яті з будь якого системного пулу можливий на будь якому рівні IRQL |
|||||||||
66 |
Зазначити правильне твердження. Системний програмний потік… |
|||||||||
А) |
виконується тільки в системному контексті |
|
|
Б) |
не може створюватися в довільному контексті |
|||||
В) |
успадковує контекст в якому створювався |
|
|
Г) |
перемикає контекст при зверненні до нього |
|||||
67 |
Зазначити правильне твердження щодо функціонування спін блокувань. |
|||||||||
А) |
Спін блокування не мають ідентифікаторів |
|
|
Б) |
Спін блокування успадковує рівень IRQL |
|||||
|
господаря і лічильників рекурсії |
|
|
|
|
потоку, який його захопив |
||||
В) |
Повторне захоплення |
спін |
блокування |
|
|
Г) |
Синхронізація з використання спін блокувань |
|||
|
можливе тільки на IRQL<=APC_LEVEL |
|
|
|
не може виконуватися на підвищених IRQL |
|||||
68 |
Зазначити правильне твердження щодо функціонування спін блокувань |
|||||||||
А) |
Спін блокування припускають |
можливість |
|
|
Б) |
Встановлення спін блокування автоматично |
||||
|
повторного захоплення потоком господарем |
|
|
|
підвищує IRQL до DISPATCH_LEVEL |
|||||
В) |
Встановлення спін блокування автоматично |
|
|
Г) |
При захопленні спін блокувань KeWait*- |
|||||
|
блокує запити переривань |
|
|
|
|
|
|
|
функції повинні мати нульовий таймаут |
|
Затверджено на засіданні кафедри «Комп’ютерних та інформаційних систем» |
||||||||||
Протокол №______ від « |
|
|
» |
|
|
|
20 |
р. |
Зав. кафедрою ______________________ Луговой А.В. Екзаменатор _______________Зілінський Ю.В.
( підпис) ( підпис)
КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ |
|
Спеціальність 6.050102 «Комп’ютерна інженерія» |
Семестр 8 |
Навчальний предмет «Периферійні пристрої» |
|
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 1
69 |
Зазначити правильне твердження щодо функціонування спін блокувань |
|
|
||||||||||
А) |
Два різні процесори можуть одночасно |
Б) |
Два |
різні |
процесори можуть одночасно |
||||||||
|
утримувати два різні спін блокування |
|
|
утримувати одне і те саме спін блокування |
|||||||||
В) |
Спін блокування не призначені для |
Г) |
Два |
різні |
процесори |
не |
можуть одночасно |
||||||
|
використання в багатопроцесорних системах |
|
використовувати одне спін блокування |
||||||||||
70 |
Зазначити правильне твердження щодо функціонування спін блокувань |
|
|
||||||||||
А) |
Скидання |
спін |
|
блокування |
може |
Б) |
Одночасне |
використання |
|
в потоці більше |
|||
|
виконуватися не в потоці його господаря |
|
одного спін блокування неможливе |
||||||||||
В) |
Об’єкт спін блокування слід розміщувати |
Г) |
Встановлення спін |
блокування можливе |
|||||||||
|
тільки в пам’яті пулу, що не підкачується |
|
тільки на IRQL=DISPATCH_LEVEL |
||||||||||
71 |
Покажчики на об’єкти якого типу використовується в параметрах Object KeWait-функцій |
||||||||||||
А) |
KEVENT |
|
Б) |
|
KMODEL |
|
В) |
KMCRITICAL |
Г) |
|
KPROCESS |
||
72 |
Покажчики на об’єкти якого типу використовується в параметрах Object KeWait-функцій |
||||||||||||
А) |
KFILEIO |
|
Б) |
|
KCONSOLE |
|
В) |
KMUTEX |
|
Г) |
|
KNPIPES |
|
73 |
Покажчики на об’єкти якого типу використовується в параметрах Object KeWait-функцій |
||||||||||||
А) |
KWAITREASON |
Б) |
|
KSEMAPHORE |
В) |
KALERTS |
|
Г) |
|
KMSLOTS |
|||
74 |
Покажчики на об’єкти якого типу використовується в параметрах Object KeWait-функцій |
||||||||||||
А) |
KAPIPES |
|
Б) |
|
KWINDRV |
|
В) |
KTHREAD |
|
Г) |
|
KJOBS |
|
75 |
Покажчики на об’єкти якого типу використовується в параметрах Object KeWait-функцій |
||||||||||||
А) |
KRTCLOCK |
|
Б) |
|
KSPINLOCK |
|
В) |
KBUSYDEV |
Г) |
|
KTIMER |
||
76 |
Зазначити не правильне твердження щодо подій ядра |
|
|
|
|
|
|||||||
А) |
Початковий стан (сигнальний або не сигнальний) події призначається при її ініціалізації. |
||||||||||||
Б) |
При ініціалізації події вона автоматично встановлюється в не сигнальний стан. |
|
|
||||||||||
В) |
Існує декілька типів подій ядра. Тип події призначається при її ініціалізації |
|
|
|
|||||||||
Г) |
Визначити поточний стан події можна тільки за допомогою KeWait*-функції з часом очікування 0 |
||||||||||||
77 |
Зазначити правильне твердження щодо подій ядра |
|
|
|
|
|
|||||||
А) |
Встановлення і скидання події може виконуватися в контексті різних потоків |
|
|
||||||||||
Б) |
Ініціалізація події може виконуватися тільки в системному контексті |
|
|
|
|||||||||
В) |
Керування станом події може виконувати тільки потік, що її ініціалізував |
|
|
|
|||||||||
Г) |
Потік, в контексті якого виконувалась ініціалізація події стає її господарем |
|
|
|
|||||||||
78 |
Зазначити не правильне твердження щодо подій сповіщення (NotificationEvent) ядра |
||||||||||||
А) |
Перехід в сигнальний стан події сповіщення звільняє усі потоки, що її очікують |
|
|
||||||||||
Б) |
Перехід в сигнальний стан події сповіщення звільняє тільки один з потоків, що її очікують |
||||||||||||
В) |
Після переходу в сигнальний стан події сповіщення вона залишається в ньому |
|
|
||||||||||
Г) |
Після виклику KeWait*-функції для події сповіщення вона перебуває в сигнальному стані |
||||||||||||
79 |
Зазначити не правильне твердження щодо подій синхронізації (SynchronizationEvent) ядра |
||||||||||||
А) |
Перехід в сигнальний стан події синхронізації звільняє усі потоки, що її очікують |
||||||||||||
Б) |
Перехід в сигнальний стан події синхронізації звільняє тільки один з потоків, що її очікують |
||||||||||||
В) |
Після переходу в сигнальний стан подія синхронізації автоматично скидається в не сигнальний |
||||||||||||
Г) |
Після виклику KeWait*-функції для події синхронізації вона перебуває в не сигнальному стані |
||||||||||||
80 |
Зазначити не правильне твердження щодо функціонування м’ютексів ядра |
|
|
||||||||||
А) |
Потік, в контексті якого виконувалось захоплення м’ютекса стає його господарем |

Б) |
Захоплення м’ютекса потоком автоматично підвищує його IRQL до рівня DISPATCH_LEVEL |
||
В) |
Захоплення і звільнення м’ютекса повинно виконуватися в контексті одного і того самого потоку |
||
Г) |
Потік, який захопив м’ютекс може виконати його багаторазове повторне захоплення |
||
81 |
Зазначити не правильне твердження щодо функціонування м’ютексів ядра |
||
А) |
Спроба звільнення м’ютекса потоком, який не є його господарем викликає фатальний збій (BSOD) |
||
Б) |
При ініціалізації м’ютекса він автоматично встановлюється в сигнальний стан |
||
В) |
Спроба повторного захоплення м’ютекса потоком, який не є його господарем викликає BSOD |
||
Г) |
Спроба звільнення м’ютекса, який перебуває в сигнальному стані викликає фатальний збій (BSOD) |
||
82 |
Зазначити не правильне твердження щодо функціонування швидких м’ютексів |
||
А) |
Швидкі м’ютекси не припускають можливості багаторазового повторного захоплення |
||
Б) |
Захоплення швидкого м’ютекса призводить до підвищення IRQL до рівня APC_LEVEL |
||
В) |
Швидкі м’ютекси не припускають можливості захоплення за допомогою KeWait*-функцій |
||
Г) |
Потік, що виконує ініціалізацію швидкого м’ютекса автоматично стає його господарем |
||
83 |
Зазначити не правильне твердження щодо функціонування семафорів ядра |
||
А) |
Керування лічильником семафору може виконувати тільки потік, що його ініціалізував |
||
Б) |
При ініціалізації семафору початкове значення лічильнику може співпадати з максимальним |
||
В) |
Успішне очікування за допомогою KeWait*-функцій зменшує значення лічильнику семафору на 1 |
||
Г) |
Поточне значення лічильнику семафору не може бути меншим ніж нуль |
||
84 |
Зазначити не правильне твердження щодо функціонування семафорів ядра |
||
А) |
Семафор, значення лічильнику якого дорівнює нулю, перебуває в не сигнальному стані |
||
Б) |
Захоплення ресурсу семафору може бути виконано в одному потоці, а звільнення вже в іншому |
||
В) |
Максимальне значення лічильника обмежує кількість потоків одночасного очікування семафора |
||
Г) |
Захоплення і звільнення ресурсів семафору може бути виконано в одному потоці |
||
85 |
Зазначити правильне твердження щодо функціонування семафорів ядра |
||
А) |
Ініціалізація семафору може виконуватися тільки в системному контексті |
||
Б) |
При ініціалізації семафору він автоматично встановлюється в сигнальний стан |
||
В) |
Спроба збільшення лічильника семафору до значення більше припустимого генерує виключення |
||
Г) |
Захоплення вільного стану семафору підвищую IRQL потоку до рівня DISPATCH_LEVEL |
||
86 |
Зазначити правильне твердження щодо функціонування семафорів ядра |
||
А) |
Ініціалізація семафору з лічильником відмінним від 0 можлива тільки в системному контексті |
||
Б) |
Дізнатися поточний стан семафору можна без зміни поточного значення його лічильника |
||
В) |
Спроба збільшення лічильника семафору потоком, який не є його господарем викликає BSOD |
||
Г) |
Керування лічильником семафору повинно виконуватися в контексті одного і того самого потоку |
||
87 |
Якого типу таймерів ядра не існує |
|
|
А) |
Таймери сповіщення |
Б) |
Таймери сповіщення з DPC |
В) |
Таймери ресурсів |
Г) |
Таймери синхронізації |
88 |
Якого типу таймерів ядра не існує |
|
|
А) |
Періодичні таймери |
Б) |
Таймери синхронізації |
В) |
Таймери синхронізації з DPC |
Г) |
Таймери переривання |
89 |
Зазначити правильне твердження щодо таймерів ядра |
||
А) |
Початковий стан (сигнальний або не сигнальний) таймеру призначається при його ініціалізації. |
||
Б) |
Після ініціалізації таймеру він завжди перебуває в не сигнальному стані |
||
В) |
Спроба повторного запуску відліку вже встановленого таймеру викликає фатальний збій (BSOD) |
Затверджено на засіданні кафедри «Комп’ютерних та інформаційних систем» Протокол №______ від « » 20 р.
Зав. кафедрою ______________________ Луговой А.В. Екзаменатор _______________Зілінський Ю.В.
( підпис) ( підпис)
КРЕМЕНЧУЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ |
|
Спеціальність 6.050102 «Комп’ютерна інженерія» |
Семестр 8 |
Навчальний предмет «Периферійні пристрої» |
|
|
ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ № 1 |
Г) |
Перехід в сигнальний стан таймеру сповіщення звільняє тільки один з потоків, що його очікують |
90 |
Зазначити правильне твердження щодо таймерів ядра |
А) |
Перехід в сигнальний стан таймеру синхронізації звільняє тільки один з потоків, що його очікують |
Б) |
Потік, в контексті якого виконувалась ініціалізація таймеру стає його господарем |
В) |
Запуск відліку може виконувати тільки потік, в контексті якого виконувалась ініціалізація таймеру |
Г) |
Очікування таймеру сповіщення з DPC повинно виконуватися тільки на IRQL=DISPATCH_LEVEL |