1 Solución 2º parcial Sistemas Operativos. 7 de junio de 2010 1

Anuncio
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
Descargar