Sistemas Operativos | Conjunto 16

Se han hecho las siguientes preguntas en el examen GATE CS 2005. 

1) Normalmente, los programas de usuario no pueden manejar E/S directamente por las instrucciones de E/S en ellos. Para las CPU que tienen instrucciones de E/S explícitas, dicha protección de E/S se garantiza al tener las instrucciones de E/S privilegiadas. En una CPU con E/S mapeadas en memoria, no hay una instrucción de E/S explícita. ¿Cuál de los siguientes es cierto para una CPU con E/S mapeadas en memoria?  
(a) La protección de E/S está garantizada por las rutinas del sistema operativo 
(b) La protección de E/S está garantizada por una trampa de hardware 
(c) La protección de E/S está garantizada durante la configuración del sistema 
(d) La protección de E/S no está garantizada posible 

Respuesta (a) 
La E/S mapeada en memoria significa acceder a la E/S a través del acceso general a la memoria en lugar de instrucciones de E/S especializadas. Un ejemplo, 
 

  unsigned int volatile const *pMappedAddress const = (unsigned int *)0x100;

Entonces, el programador puede acceder directamente a cualquier ubicación de memoria directamente. Para evitar dicho acceso, el sistema operativo (núcleo) dividirá el espacio de direcciones en espacio del núcleo y espacio del usuario. Una aplicación de usuario puede acceder fácilmente a la aplicación de usuario. Para acceder al espacio del núcleo, necesitamos llamadas al sistema (trampas). 
Gracias a Venki por proporcionar la explicación anterior. 

2) ¿Para qué se utiliza el espacio de intercambio en el disco?  
(a) Guardar páginas html temporales 
(b) Guardar datos de proceso 
(c) Almacenar el superbloque 
(d) Almacenar controladores de dispositivos 

Respuesta (b) 
El espacio de intercambio generalmente se usa para almacenar datos de proceso. Vea esto para más detalles. 

3) El aumento de la RAM de una computadora generalmente mejora el rendimiento porque: 
(a) aumenta la memoria virtual 
(b) las RAM más grandes son más rápidas 
(c) ocurren menos fallas de página 
(d) ocurren menos fallas de segmentación 

Respuesta (c) 

4) Supongamos n procesos, P1, …. Pn comparte m unidades de recursos idénticas, que se pueden reservar y liberar de una en una. El requerimiento máximo de recursos del proceso Pi es Si, donde Si > 0. ¿Cuál de las siguientes es una condición suficiente para asegurar que no ocurra un interbloqueo? 
 

Respuesta (c) 
En la condición extrema, todos los procesos adquieren recursos Si-1 y necesitan 1 recurso más. Por lo tanto, la siguiente condición debe ser verdadera para asegurarse de que nunca se produzca un interbloqueo. 
 

sum1

< metro 

La expresión anterior se puede escribir de la siguiente manera. 
 

sum2

< (m + n) 

5) Considere el siguiente fragmento de código: 
 

  if (fork() == 0)
  { a = a + 5; printf(“%d,%d\n”, a, &a); }
  else { a = a –5; printf(“%d, %d\n”, a, &a); } 

Sean u, v los valores impresos por el proceso padre y x, y los valores impresos por el proceso hijo. ¿Cuál de las siguientes es VERDADERA?  
(a) u = x + 10 y v = y 
(b) u = x + 10 y v != y 
(c) u + 10 = x y v = y 
(d) u ​​+ 10 = x y v != y 

La respuesta (c) 
fork() devuelve 0 en el proceso secundario y el ID de proceso del proceso secundario en el proceso principal. 
En Hijo (x), a = a + 5 
En Padre (u), a = a – 5; 
Por lo tanto x = u + 10. 
Las direcciones físicas de ‘a’ en padre e hijo deben ser diferentes. Pero nuestro programa accede a direcciones virtuales (asumiendo que estamos ejecutando un sistema operativo que usa memoria virtual). El proceso secundario obtiene una copia exacta del proceso principal y la dirección virtual de ‘a’ no cambia en el proceso secundario. Por lo tanto, obtenemos las mismas direcciones tanto en el padre como en el hijo. Vea esta ejecución por ejemplo. 
Gracias a Smart Pointer por proporcionar la explicación anterior. 

Consulte GATE Corner para ver todos los documentos/soluciones/explicaciones del año anterior, programa de estudios, fechas importantes, notas, etc. 

Escriba comentarios si encuentra que alguna de las respuestas/explicaciones es incorrecta, o si desea compartir más información sobre los temas discutidos anteriormente.
 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *