Nivel ejecutivo de un s.O

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,58 KB

. Factor d bloque: Formula: Factor bloque = Tamaño bloque / Tamaño registro
Operaciones d cálculo y resultado en asignación contigua: Factor bloque = 4 KiB/bloque / 141 B/registro = 29,05 → 29 registros/bloque Operaciones d cálculo y resultado en asignación enlazada: Al bloque ay q quitarle l tamaño del puntero Factor bloque = (4 KiB - 8 B)/bloque / 141 B/registro = 28,99 → 28 registros/bloque Operaciones d cálculo y resultado en asignación indexada: Factor bloque = 4 KiB/bloque / 141 B/registro = 29,05 → 29 registros/bloque

Numero d bloques d datos: Formula: N o d bloques = No d registros / Factor bloque Operaciones d cálculo y resultado en asignación contigua: s tiene en cuenta l numero máximo d registros N o d bloques = 150.000 registros / 29 reg/bloque = 5.172,4 → 5.173 bloques Operaciones d cálculo y resultado en asignación enlazada: s tiene en cuenta ls registros actuales N o d bloques = 120.000 registros / 28 reg/bloque = 4.285,7 → 4.286 bloques Operaciones d cálculo y resultado en asignación indexada: s tiene en cuenta ls registros actuales N o d bloques = 120.000 registros / 29 reg/bloque = 4.137,9 → 4.138 bloques

Fragmentación interna d ls bloques d datos del fixero: Formula: Fragmentación interna = Espacio asignado - Espacio ocupado Espacio asignado = No bloques asigna2 × Tamaño bloque Espacio ocupado = No registros ocupa2 × Tamaño registro Operaciones d cálculo y resultado en asignación contigua: Fragmentación interna = 5.173 bloques × 4 KiB/bloque - 120.000 reg × 141 B/reg = 4.268.608 B Operaciones d cálculo y resultado en asignación enlazada: Fragmentación interna = 4.286 bloques × (4 KiB/bloque - 8 bytes) - 120.000 reg × 141 B/reg = 601.168 B Operaciones d cálculo y resultado en asignación indexada: Fragmentación interna = 4.138 bloques × 4 KiB/bloque - 120.000 reg × 141 B/reg = 29.248 B


. Número de bloques índice necesarios para llevar el control de los bloques de datos del fichero en asignación indexada con bloques índice enlazados y en asignación ext2. Explicación, cálculos y resultado en asignación indexada con bloques índice enlazados: Capacidad de un bloque índice = Tamaño bloque / Tamaño dirección Capacidad de un bloque índice = 4.096 B / 8 B/dirección = 512 direcciones Como la última dirección que se almacena en cada bloque se utiliza para apuntar al siguiente bloque índice, en realidad podemos almacenar 511 direcciones de bloques de datos en cada bloque de direcciones. Número de bloques índice = Número bloques datos / Capacidad bloque índice Como el fichero ocupa 4.138 bloques de datos en una asignación indexada, necesitaremos: 4.138 / 511 = 8,1 bloques de direcciones −→ 9 bloques de direcciones. Explicación, cálculos y resultado en asignación ext2: La asignación ext2 utiliza un nodo-i que almacena 12 punteros directos a bloques de datos. Cuando un fichero tiene más de 12 bloques de datos es necesario recurrir a los punteros indirectos (simple, doble o triple). Capacidad de un bloque de direcciones = Tamaño bloque / Tamaño dirección Capacidad de un bloque de direcciones = 4.096 B / 8 B/dirección = 512 direcciones Como el fichero ocupa 4.138 bloques de datos y el nodo índice almacena 12 direcciones de bloque de datos, necesitaremos almacenar 4.138 direcciones - 12 direcciones = 4.126 direcciones adicionales. Necesitaremos utilizar el bloque de direcciones apuntado por el puntero indirecto simple (512 direcciones) y varios bloques de los apuntados por el puntero indirecto doble: (4.126 - 512) / 512 = 7,1 −→ 8 bloques de segundo nivel, más el correspondiente bloque de primer nivel que apunta a estos. Número de bloques índice totales = nodo-i + 10 bloques de direcciones.


. Si utilizamos el sistema de ficheros ext2 y queremos acceder a los registros 30.000, 200 y 1.000 del fichero ¿Cuántas operaciones de E/S será necesario realizar? Explique su respuesta indicando a qué corresponde cada operación de E/S. Explicación, cálculos y resultado en asignación ext2: Bloque de un registro = No Registro / Factor bloque - Bloque registro 30.000 = 30.000 / 29 = 1.034,5 → bloque 1.035 - Bloque registro 200 = 200 / 29 = 6,9 → bloque 7 - Bloque registro 1.000 = 1.000 / 29 = 34,5 → bloque 35 La dirección del bloque 7 se encuentra en el nodo-i, la del bloque 35 se encuentra en el bloque de direcciones apuntado por el puntero indirecto simple, la del bloque 1.035 se encuentra en el primer bloque de direcciones de segundo nivel. La asignación ext2 permite el acceso directo, por tanto se realizarán las siguientes operaciones de E/S: - 1 operación E/S para leer la entrada del directorio (queda almacenado en memoria) - 1 operación de E/S para leer el nodo-i (queda almacenado en memoria) - 1 operación de E/S para leer el bloque de direcciones apuntado por la entrada indirecta simple. Esto nos permite obtener la dirección en la que se encuentra el bloque 35. - 1 operación de E/S para leer el bloque de direcciones apuntado por la entrada indirecta doble. - 1 operación de E/S para leer el primer bloque apuntado por el anterior. Esto nos permite obtener la dirección del bloque 1.035. - 1 operación E/S para leer el bloque de datos que contiene al registro 30.000 (bloque 1.035). - 1 operación de E/S para leer el bloque de datos que contiene el registro 200 (bloque 7). - 1 operación de E/S para leer el bloque de datos que contiene el registro 1.000 (bloque 35). Total = 8 operaciones de E/S

Entradas relacionadas: