Sistemas Operativos II Escuela Universitaria de Informática (Grupo K) APELLIDOS DNI 16 de Enero de 2002 NOMBRE FIRMA EXAMEN DE LA ASIGNATURA SO2 (SOLUCION) • • • • No desgrape las hojas. Conteste exclusivamente en los espacios reservados para tal fin. Utilice la página en blanco para sus anotaciones y cálculos. El examen consta de 18 cuestiones, que valen 0.55 puntos cada una. Indique dos ventajas de las técnicas de gestión dispersa de la memoria respecto las de gestión contigua. 1 Posibilidad de compartir memoria entre procesos. Poder aprovechar huecos sin recurrir a la compactación. Sea un sistema de memoria virtual segmentado-paginado. Los espacios de direcciones lógicas son de 8Gbytes y el tamaño de página es de 2Kbytes. El tamaño requerido para la tabla de páginas de un segmento es de 64 Kb y los descriptores de página y de segmento tienen 4 bytes. Diga cual será el tamaño de la tabla de segmentos de un proceso. 2 256 segmentos * 4 bytes = 1024 bytes. En el sistema de la cuestión anterior se decide utilizar una tabla de páginas de doble nivel. Describa el formato de la dirección lógica y en que campos se descompone. 3. s (número de segmento): 8 bits d (desplazamiento dentro del segmento): 25 bits total: 33 bits (8 Gb) Determinar la fórmula del TAE en un sistema de memoria virtual basado en paginación si la probabilidad de fallo de página es p1 y la probabilidad que exista reemplazo si se utiliza un algoritmo de "buffering" de páginas es p2. El tiempo de acceso a memoria es TAM y el tiempo de lectura o escritura en disco es TD. La tabla de páginas está contenida en registros con un tiempo de acceso TR y no se utiliza "dirty bit". 4. TAE = TR + (1-p1) TAM + p1 ( p2 * (2TD +TAM) +(1-p2) (TD+TAM) ) Nota: Se puede considerar p2=0 dado el tipo de algoritmo de reemplazo Sea un sistema de gestión de memoria basado en paginación. Las direcciones lógicas son de 18 bits y el tamaño de marco es de 512 bytes. El número de marcos es 4. Asumiendo que inicialmente la memoria está completamente vacía, que los marcos se asignan en orden creciente, y que en el sistema se van a ejecutar dos procesos A y B, indique el contenido final de la memoria tras haber accedido a las siguientes direcciones lógicas utilizando un algoritmo LRU global: (A, 600) (B, 3900) (B, 500) (A, 1000) (B, 1512) (B, 4080) (A, 50) (A, 715) (B, 15) (B, 4000) 5. El contenido de los marcos (en orden creciente) será: A1, B7, A0, B0 2 En el sistema de gestión de memoria de la cuestión anterior ¿ es posible que la dirección lógica (B, 1450) se traduzca a la dirección física 938 ? Justifique la respuesta. 6. Es posible si la página correspondiente (B1) se asigna en el marco 1, dado que los desplazamientos en el marco y página son iguales (426) Diga si las siguientes afirmaciones sobre el modelo del área activa son verdaderas (V) o falsas (F): V Si la suma de los tamaños de las áreas activas de los distintos procesos de un sistema es mayor 7. F F V V que el número de marcos de memoria física, entonces se puede producir hiperpaginación. Si el espacio de direcciones lógicas de un proceso es de 1024 páginas y el tamaño del área activa en un instante dado es de 512 páginas, entonces puede asegurarse que el proceso provocará hiperpaginación en todos los casos. El área activa de un proceso se calcula contando el número de referencias que ha generado dicho proceso en un intervalo de tiempo. En un sistema cuyo tamaño de ventana de área activa es 1024, el tamaño del área activa en un instante t vale 1024 si, y solo si, las últimas 1024 páginas de una serie de referencias son distintas. Si se aumenta el tamaño de la ventana de área activa, entonces aumentará o será igual la probabilidad de tener un mayor tamaño del área activa. En un sistema UNIX que utiliza un sistema de memoria basado en segmentación, existe un proceso que tiene la siguiente tabla de segmentos: Segmento Base Longitud Código 3072 3000 Datos 11264 4000 Pila 19456 3000 Dicho proceso realiza la llamada al sistema fork() sin utilizar segmentos compartidos. Suponiendo que el sistema tiene una memoria física de 32Kb, que no existe ningún otro proceso en memoria, diga cual será el mapa de segmentos del proceso hijo creado con fork() para el caso de un algoritmo de asignación de huecos libres de “peor ajuste”, si la asignación se realiza en el orden de la tabla. 8. Segmento Base Código 22456 Datos 25456 Pila 6072 Longitud 3000 4000 3000 Indique el código de un "shellscript" que se encargue de presentar por pantalla una lista de elementos compuestos por dos símbolos, siendo el primero cada una de las vocales y el segundo un número del 0 al 9. for i in a e i o u 9. do for j in 0 1 2 3 4 5 6 7 8 9 do echo $i $j done done 3 Se tiene un disco con sectores de 512 bytes y una partición de 80Mb. Esta partición se formatea en MS-DOS con formato FAT-16, FAT duplicada y directorio raíz de 112 entradas, siendo 1 cluster = 4 sectores consecutivos. Detalle la estructura de la partición y los tamaños de cada uno de los elementos de esta partición. 1 cluster = 2 KB. 10. Partición = 80 MB = 40*1024 clusters = 40960 clusters Tam. FAT = 40960*2/512 = 81920/512 = 160 sectores Tam. raíz = 112*32/512 = 112 / 16 = 7 sectores Estructura: 1 sector de arranque. 160 sectores para primera copia FAT. 160 sectores para segunda copia FAT. 7 sectores para directorio raíz. 40960 – (328/4) = 40960 – 82 = 40878 clusters. En la partición del problema anterior se trata primero de crear un directorio C:\DOS y una vez creado, se copiará sobre dicho directorio el fichero copy.exe cuyo tamaño es 64Kb (en primer lugar se creará la entrada de directorio y luego se asignarán los datos del fichero). Detalle sobre la tabla siguiente los accesos a realizar en el peor de los casos NOTAS: a) En la tabla siguiente, “Elemento de la partición accedido” se refiere a FAT, Dir raiz, Datos, etc... b) Suponga que no es necesario acceder la FAT duplicada y existe el espacio suficiente. 11. Element Descripción del acceso o partición accedido D.raíz Búsqueda de hueco para la entrada C:\DOS Fat Asignación del cluster para el directorio (peor caso si hay que llegar al último) D.raíz Actualización de la entrada de dir. Datos Asignación de la entrada de dir.(copy.exe) (se considera el acceso a cluster). Fat Búsqueda de 32 clusters libres y su asig. Datos Actualización de clusters asignados (se considera el acceso a cluster). Datos Actualización del directorio (se considera el acceso a cluster). Número acceso s 7 160 1 1 160 32 1 4 Diga si las siguientes afirmaciones sobre el sistema de ficheros MINIX son verdaderas(V) o falsas (F): 12. F El número de nodos-i que un fichero tiene asignados depende del número de enlaces físicos a dicho fichero. V Cada directorio vacío ocupa una zona de datos. V Cada enlace simbólico a un fichero vacío ocupa al menos una zona de datos. F En Minix estándar, los ficheros con menos de 7 zonas no tienen el campo de referencias indirectas en su nodo-i F El tamaño de un fichero depende del número máximo de nodos-i Dado un disco de 50 Mb formateado en MINIX con las siguientes características • Una bloque = 1024 bytes • Una zona = 2 bloques. • La entrada de directorio o enlace es de 16 bytes • Los nodos-i son de 32 bytes (7 punteros directos, 1 indirecto simple y un indirecto doble). • Los punteros a zona son de 16 bits. Indique el número total de bloques del área de nodos-i y en que número absoluto de bloque comienza, teniendo en cuenta que se ha limitado el número de archivos a 5000 y que el nodo-i 0 no ocupa memoria. 13. El área de nodos-i ocupa 157 bloques y empieza en el bloque 7. En la partición del problema anterior, indique la secuencia de accesos si se trata de acceder al nodo-i 4256 y leer el contenido del fichero asociado que ocupa un total de 512 zonas. 14. Elemento partición accedido Nodos-i Datos Datos Datos Descripción del acceso (área del sistema MINIX consultada) Acceso Acceso Acceso Acceso al nodo-i 4256 a las zonas por puntero directo a la zona de índice a las zonas "indirectas" Número acceso s 1 7 1 505 5 Se sabe que el cabezal de un disco ha descrito una trayectoria que viene dada por los siguientes números de cilindro: 157, 143, 112, 89, 52, 31, 0, 175, 188, 230. Diga si es posible que el manejador de disco haya utilizado algún algoritmo de planificación de tipo circular. Justifique la respuesta. En caso afirmativo, especifique una posición y dirección inicial del cabezal (Ascendente/Descendente) y una cola de peticiones inicial que hagan posible la trayectoria indicada con dicho algoritmo. Suponga que después del instante inicial no se formulan más peticiones. La trayectoria incluye secuencias ascendentes y descendentes. 15. Por tanto, no ha sido posible la aplicación de un algoritmo circular Dado un disco duro con 500 cilindros, 16 caras y donde cada bloque lógico agrupa 4 sectores de 512 bytes, se trata de calcular el número de sectores por pista que debe tener este disco para que la dirección CHS (390, 10, 10) pueda corresponderse con el número de bloque 50002. 16. 32 sectores por pista ¿ Qué información utiliza un enlace simbólico en UNIX para poder acceder al mismo contenido del fichero enlazado ? 17. La ruta del fichero enlazado Dado el siguiente listado de un directorio Unix: Nombre Usuario ejec1 so121 datos1 so207 datos2 so207 Grupo So1 So2 So2 Permisos rwsrwxrwrwxr-xr-r-xrwxrwx Indique la matriz de acceso equivalente, considerando los dominios de los usuarios "so121" y "so207" y de los grupos "So1" y "So2" y los ficheros arriba listados. Las operaciones a especificar serán r (lectura), w (escritura), x (ejecución) y c (cambiar). Esta última operación se especificará si existe alguna condición que haga posible un cambio de dominio. so207 So1 So2 ejec1 datos1 datos2 so121 18. so121 rwx r rwx so207 rw rwx rx So1 rwx r rwx So2 rw rx rwx c 6