игра брюс 2048
Главная / Операционные системы / Основы операционных систем. Практикум / Тест 5

Основы операционных систем. Практикум - тест 5

Упражнение 1:
Номер 1
Для совместной работы массив семафоров могут использовать:

Ответ:

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

 (2) близкородственные процессы, имеющие общего прародителя, создавшего массив семафоров 

 (3) произвольные процессы в системе 


Номер 2
Семафоры System V IPC по сравнению с семафорами Дейкстры являются:

Ответ:

 (1) более мощным средством синхронизации (все, что можно реализовать семафорами Дейкстры, можно реализовать с их помощью, а обратное не является верным) 

 (2) эквивалентными по возможностям 

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


Номер 3
Некоторый процесс, создавший массив семафоров, успешно выполнил системный вызов exec(). Будет ли доступен массив семафоров в новом пользовательском контексте:

Ответ:

 (1) нет 

 (2) да, без дополнительного запроса информации от других процессов или операционной системы 

 (3) да, после дополнительного запроса информации от других процессов или операционной системы 


Упражнение 2:
Номер 1
Какая из операций над семафорами SYSTEM V IPC является аналогом операции P(S) над семафорами Дейкстры:

Ответ:

 (1) A(S,n) 

 (2) D(S,n) 

 (3) Z(S) 

 (4) не имеет аналогов 


Номер 2
Какая из операций над семафорами SYSTEM V IPC является аналогом операции V(S) над семафорами Дейкстры:

Ответ:

 (1) A(S,n) 

 (2) D(S,n) 

 (3) Z(S) 

 (4) не имеет аналогов 


Номер 3
Какая из операций над семафорами SYSTEM V IPC является аналогом операции инициализации семафора Дейкстры:

Ответ:

 (1) A(S,n) 

 (2) D(S,n) 

 (3) Z(S) 

 (4) не имеет аналогов 


Упражнение 3:
Номер 1
Сразу после создания массива из трех семафоров с идентификатором IPC semid процесс выполняет следующие действия:

{
struct sembuf mybuf[2];
mybuf[0].sem_op = 2;
mybuf[0].sem_flg = 0;
mybuf[0].sem_num = 0;
mybuf[1].sem_op = 1;
mybuf[1].sem_flg = 0;
mybuf[1].sem_num = 2;
semop(semid, &mybuf, 2);
}

Чему будут равны значения семафоров с номерами 0 и 1 после их выполнения, если другие процессы в системе доступа  к ним не имеют:

Ответ:

 (1) 2 и 1 

 (2) 2 и 0 

 (3) процесс не вернется из вызова semop 


Номер 2
Сразу после создания массива из трех семафоров с идентификатором IPC semid процесс выполняет следующие действия:

{
struct sembuf mybuf[2];
mybuf[0].sem_op = -1;
mybuf[0].sem_flg = 0;
mybuf[0].sem_num = 0;
mybuf[1].sem_op = 1;
mybuf[1].sem_flg = 0;
mybuf[1].sem_num = 1;
semop(semid, &mybuf, 2);
}

Чему будут равны значения семафоров с номерами 0 и 1 после их выполнения, если другие процессы в системе доступа  к ним не имеют:

Ответ:

 (1) 0 и 1 

 (2) 1 и 0 

 (3) процесс не вернется из вызова semop 


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

{
struct sembuf mybuf[2];
mybuf[0].sem_op = 2;
mybuf[0].sem_flg = 0;
mybuf[0].sem_num = 0;
mybuf[1].sem_op = 0;
mybuf[1].sem_flg = 0;
mybuf[1].sem_num = 1;
semop(semid, &mybuf, 2);
}

Чему будут равны значения семафоров с номерами 0 и 1 после их выполнения, если другие процессы в системе доступа к ним не имеют:

Ответ:

 (1) 2 и 0 

 (2) 0 и 2 

 (3) процесс не вернется из вызова semop 




Главная / Операционные системы / Основы операционных систем. Практикум / Тест 5