Sistemas Operativos | conjunto 11

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

1) Un proceso ejecuta el siguiente código

  for (i = 0; i < n; i++) fork(); 

El número total de procesos secundarios creados es
(A) n
(B) 2^n – 1
(C) 2^n
(D) 2^(n+1) – 1;

Respuesta (B)

         F0       // There will be 1 child process created by first fork
      /     \
    F1      F1    // There will be 2 child processes created by second fork
   /  \    /  \
 F2   F2  F2   F2  // There will be 4 child processes created by third fork
/ \   / \ / \  / \
 ...............   // and so on

Si sumamos todos los niveles del árbol anterior para i = 0 a n-1, obtenemos 2^n – 1. Entonces habrá 2^n – 1 procesos secundarios. También vea esta publicación para más detalles.

2) ¿Cuál de los siguientes NO es cierto para los esquemas de prevención y evitación de interbloqueos?
(A) En la prevención de interbloqueos, la solicitud de recursos siempre se otorga si el estado resultante es seguro
(B) En la prevención de interbloqueos, la solicitud de recursos siempre se otorga si el estado de resultado es seguro
(C) La evasión de interbloqueos es menos restrictiva que los interbloqueos prevención
(D) Evitar interbloqueos requiere el conocimiento de los requisitos de recursos a priori

Respuesta (A) El
esquema de prevención de interbloqueo maneja el interbloqueo asegurándose de que una de las cuatro condiciones necesarias no ocurra. En la prevención de puntos muertos, es posible que no se conceda la solicitud de un recurso incluso si el estado resultante es seguro. (Vea las diapositivas del libro de Galvin para más detalles)

3) Un procesador utiliza direcciones físicas de 36 bits y direcciones virtuales de 32 bits, con un tamaño de marco de página de 4 Kbytes. Cada entrada de la tabla de páginas tiene un tamaño de 4 bytes. Se usa una tabla de páginas de tres niveles para la traducción de direcciones virtuales a físicas, donde la dirección virtual se usa de la siguiente manera
• Los bits 30-31 se usan para indexar en la tabla de páginas de primer nivel
• Los bits 21-29 se usan para indexar en el segundo nivel tabla de página
• Los bits 12-20 se usan para indexar en la tabla de página de tercer nivel, y
• Los bits 0-11 se usan como desplazamiento dentro de la página
El número de bits necesarios para direccionar la tabla de página del siguiente nivel (o marco de página) en el las entradas de la tabla de páginas de las tablas de páginas de primer, segundo y tercer nivel son respectivamente
(A) 20, 20 y 20
(B) 24, 24 y 24
(C) 24, 24 y 20
(D) 25, 25 y 24

Respuesta (D)
Tamaño de dirección virtual = 32 bits
Tamaño de dirección física = 36 bits
Tamaño de memoria física = 2^36 bytes
Tamaño de marco de página = 4K bytes = 2^12 bytes
Número de bits necesarios para acceder al marco de memoria física = 36 – 12 = 24
Entonces, en el tercer nivel de la tabla de páginas, se requieren 24 bits para acceder a una entrada.

Se utilizan 9 bits de dirección virtual para acceder a la entrada de la tabla de páginas de segundo nivel y el tamaño de las páginas en el segundo nivel es de 4 bytes. Entonces, el tamaño de la tabla de páginas de segundo nivel es (2 ^ 9) * 4 = 2 ^ 11 bytes. Significa que hay (2^36)/(2^11) ubicaciones posibles para almacenar esta tabla de páginas. Por lo tanto, la tabla de la segunda página requiere 25 bits para direccionarla. De manera similar, la tabla de la tercera página necesita 25 bits para direccionarla.

multilevel-page-table

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 *