La instrucción atomic-fetch-and-set x, y establece incondicionalmente la ubicación de memoria x en 1 y obtiene el valor anterior de xny sin permitir ningún acceso intermedio a la ubicación de memoria x. considere la siguiente implementación de las funciones P y V en un semáforo binario S.
void P (binary_semaphore *s) { unsigned y; unsigned *x = &(s->value); do { fetch-and-set x, y; } while (y); } void V (binary_semaphore *s) { S->value = 0; }
¿Cuál de las siguientes es verdadera?
(A) Es posible que la implementación no funcione si el cambio de contexto está deshabilitado en P
(B) En lugar de usar buscar y configurar, se puede usar un par de carga/almacenamiento normales
(C) La implementación de V es incorrecta
(D) El el código no implementa un semáforo binario
Respuesta: (A)
Explicación: consulte la pregunta 3 de https://www.geeksforgeeks.org/operating-systems-set-15/
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA