Solución 2º parcial Sistemas Operativos. 7 de junio de 2010 1.Nodo-i 64 bytes 10 bloques directos + BSI+BDI+BTI Disco de 16 GB, bloques de 4 KB, números de bloque de 4 bytes - superbloque - mapa de bits de nodos-i - 4194304 nodos-i - lista de bloques libres - bloques libres Abrimos el fichero “/home/lorenzo/videos/vacaciones.avi” que tiene una longitud de 4198440 KB a) número de accesos necesarios para traer el nodo-i del fichero a memoria. Supón que el nodo-i del directorio raíz ya está en memoria -----------------------8 accesos: traer directorio raiz traer nodo-i del directorio home, traer directorio home traer nodo-i directorio lorenzo, traer directorio lorenzo traer nodo-i directorio videos, traer directorio videos traer nodo-i del fichero vacaciones.avi b) ¿Cuántos bloques ocupa la zona de nodos-i y el mapa de bits de nodos-i? -----------------222 nodos-i a 26 bytes por nodo-i necesitan 228 bytes = 216 bloques 222 nodos-i necesitan 222 bits = 219 bytes = 128 bloques c) ¿Cuántos accesos hay que hacer al disco para leer el último bloque del fichero?. Supón que el nodo-i ya está en memoria. -------------------El fichero se compone de 1049610 bloques ((4198440 KB) /4KB=1049610) Nodo-i Punteros directos: 10 Punteros de la estructura de primer nivel: 1024 Punteros de la estructura de segundo nivel: 1024*1024 Sumando nos queda 10+1024+1024*1024 = 1049610 punteros que coincide en número con el número de bloques del fichero 1 El bloque 1049609 del fichero hace uso de la estructura de segundo nivel del nodo-i y necesitaremos, por tanto, 3 accesos adicionales para traerlo a memoria. d)¿Cuánto ocupa realmente en disco el fichero (incluyendo los metadatos)? --------------------El nodo-i necesita un andamiaje adicional que consta de: 1 bloque adicional necesario para sustentar los 1024 punteros de primer nivel 1 + 1024 bloques adicionales para sustentar 1024*1024 punteros de segundo nivel Total = 1 + 1025 = 1026 bloques de metadatos a sumar a los 1049610 bloques del fichero que hacen un total de 1050636 bloques 2.Explica los accesos necesarios (mapa de bits de nodos-i, nodos-i, lista de bloques libres, zona de datos, directorios, etc.) que hacen falta para ejecutar la orden mv /fichero1.txt /dir/fichero2.txt Incluye si es necesario el recorrido de las rutas suponiendo que el nodo-i del directorio raíz ya está en memoria. --------------Se trata de borrar la entrada fichero1.txt del directorio / y moverla al directorio / dir Sería: -Traer el directorio raiz a memoria -Volver a llevarlo al disco sin la entrada fichero1.txt -Actualizar nodo-i del directorio raiz con la nueva hora -Traer el nodo-i del directorio dir a memoria - Actualizarlo con la nueva hora -Traer el directorio dir a memoria -Volver a llevarlo al disco con la nueva entrada fichero2.txt- número de nodo-i del antiguo fichero1 3.a) U2 puede llegar a ejecutar la orden cp F2 D1 satisfactoriamente Mientras se ejecuta cp se debe tener permiso de lectura en F2 y permiso de escritura en D1. No: 2 Al ejecutar cp cambiamos al dominio (U1,G2) y desde ese dominio no tenemos permiso de escritura en D1 El shell S1 no cambia de dominio al proceso El shell S2 no se puede ejecutar desde el dominio (U2,G2) b) U3 puede llegar a ejecutar la orden cp F2 D1 satisfactoriamente Mientras se ejecuta cp se debe tener permiso de lectura en F2 y permiso de escritura en D1. Sí: Al ejecutar cp cambiamos al dominio (U1,G3) y desde ese dominio tenemos permiso de lectura en F2 y permiso de escritura en D1 c) U1 puede llegar a ejecutar la orden mv F3 F1 satisfactoriamente Mientras se ejecuta mv se debe tener permiso de escritura en directorio “.”. Si d) U2 puede llegar a ejecutar la orden mv F3 F1 satisfactoriamente No, el grupo G2 no puede ejecutar mv No 4.- Tiempo de búsqueda: Cada cilindro almacena 4 * 128 sectores= 512 sectores= 256 bloques Los bloques 1280, 2816,2560, 256, 5120,768, 4864 Se alojan en los cilindros (cociente de x/256) = 5, 11, 10, 1, 20, 3, 19 El orden de servicio establecido por el algoritmo SSF sería 10-11-5-3-1-19- 20 => 1+ 6+2+2+18+1 = 30 despl = 180 ms Tiempo de latencia 6000 rpm => tiempo medio de latencia = 5 ms (media vuelta) 7 accesos gastarían 35 ms 3 Tiempo de transferencia Para un acceso sería el tiempo en dar una vuelta dividido por el número de bloques que tiene una pista 10 ms/ 64 bloques = 0.15625 ms El tiempo de transferencia total sería 7 veces ese tiempo = 1.09375 ms Total = 180 ms + 35 ms + 1.09375 ms = 216.09375 ms 5.fs = 5,225 * 106 / 105 = 52,25 marcas por segundo En los segundos múltiplos de 4 (0, 4, 8, 12 …) el registro contador valdrá 0 pues tendremos un número entero de marcas. Las horas y los minutos no se tienen en cuenta puesto que ambos equivalen a un número de segundos múltiplo de 4 (3600 y 60 segundos respectivamente). Los 15 segundos son 12 segundos + 3 segundos. En 3 segundos los 0.25 marcas de desfase se han convertido en 0.75 marcas que equivale a descender en el registro contador 75000 unidades lo que se traduce en un valor para el registro contador de 25000. 4