Optimización de Rendimiento de Discos Magnéticos: Cálculos de Latencia y Transferencia
Enviado por Programa Chuletas y clasificado en Otras materias
Escrito el en
español con un tamaño de 6,92 KB
1. Cálculo de Capacidad y Velocidad de Transferencia
1.1. Cálculo de Capacidad Total
a) Capacidad total = 2 superficies × 80 pistas/superficie × 18 sectores/pista × 512 bytes/sector
Capacidad total = 1,474,560 bytes = 1.4 MB
1.2. Cálculo de Velocidad de Transferencia (Vt)
b) Definiciones:
- b = Número de bytes que se desea transferir.
- tt = Tiempo empleado en la transferencia (recorrer todos los sectores).
- p = Número de bytes en 1 pista.
- f = Velocidad de rotación (revoluciones por segundo).
Fórmula de Velocidad de Transferencia (Vt):
Vt = b / tt = p × f
Vt = (512 bytes/sector × 18 sectores/pista) × (360 revoluciones/minuto / 60 segundos/minuto)
Vt = 9,216 bytes/pista × 6 rps = 55,296 bytes/s
2. Conversión de Almacenamiento en Disquetes
Si 1 disquete almacena 1.40 MB, para almacenar 300 MB se requieren:
X = 300 MB / 1.40 MB/disquete ≈ 214.28
Se necesitan 215 disquetes (redondeando al alza).
3. Cálculo de Latencia y Porcentaje de Ocupación de Tiempo (E/S)
Parámetros del Disco:
- Velocidad de Rotación (Vr): 360 rpm = 6 vueltas/s (rps)
- Tamaño del Sector: 1024 bytes/sector
- Sectores por Pista: 48 sectores/pista
- Tiempo de Búsqueda (Tb): 6 ms
3.1. Tiempo de Lectura de un Sector
Tiempo de rotación de una pista (48 sectores): 1/6 segundos ≈ 166.67 ms
Tiempo de lectura de 1 sector (Ts):
Ts = (1/6 s) / 48 sectores ≈ 0.00347 s = 3.47 ms/sector
3.2. Tiempo Total por Byte (Incluyendo Interrupción)
Tiempo de transferencia de 1 byte (Tbyte):
1024 bytes --------- 3.47 ms
1 byte --------- X ms
X = 3.47 ms / 1024 ≈ 3.39 × 10⁻³ ms = 3.39 µs/byte
Tiempo total por byte (Ttotal/b) = Tbyte + Tiempo de Interrupción (2 µs)
Ttotal/b = 3.39 µs + 2 µs = 5.39 µs
3.3. Porcentaje de Tiempo Ocupado por Transferencia
Porcentaje ocupado = (Tiempo de transferencia real / Tiempo total de operación) × 100
Porcentaje ocupado = (3.39 µs / 5.39 µs) × 100 ≈ 62.89% del tiempo ocupado.
4. Operación DMA y Ocupación de CPU en E/S
4.1. Descripción del Acceso Directo a Memoria (DMA)
El controlador de DMA transfiere el bloque completo de datos (1 sector) entre el periférico y la memoria sin que intervenga la CPU.
Cuando la transferencia finaliza, el controlador de DMA envía una señal de interrupción a la CPU.
Parámetros:
- Tamaño del Sector: 1024 B/sector
- Sectores/Pista: 48
- Pistas/Superficie: 120
- Superficies: 8
- Tiempo de Búsqueda (Tb): 6 ms
- Velocidad de Rotación (Vr): 360 rpm
- Tiempo de Interrupción: 2 ms/sector
4.2. Cálculo del Porcentaje de Tiempo de CPU Ocupada
Vr = 360 rpm = 360/60 rps = 6 rps.
Tiempo de lectura de 1 sector (Ts):
Ts = (1/6 s) / 48 sectores ≈ 0.00347 s = 3.47 ms/sector
Tiempo total de operación para 1 sector (Ttotal):
Ttotal = Tiempo de lectura (Ts) + Tiempo de Interrupción
Ttotal = 3.47 ms + 2 ms = 5.47 ms
Porcentaje de tiempo dedicado a la transferencia de datos (respecto al tiempo total de E/S):
Porcentaje ocupado = (3.47 ms / 5.47 ms) × 100 ≈ 63.44% del tiempo total de E/S.
5. Cálculo de Tiempo de Acceso con Intercalado Doble
(Nota: El enunciado original sugiere un error en la formulación, indicando media vuelta para ir al sector 0).
Parámetros:
- Velocidad de Rotación: 360 rpm = 6 rps
- Sectores a leer: 16
- Intercalado: Doble (salto de 2 sectores entre lecturas)
- Asunción: La cabeza está en la pista correcta (Tb = 0).
5.1. Cálculo basado en Vueltas Físicas
Vueltas necesarias (asumiendo 46 sectores recorridos) = 46 / 16 sectores ≈ 2.875 vueltas.
Añadiendo media vuelta para llegar al sector 0 (Tr): 2.875 + 0.5 = 3.375 vueltas.
Tiempo total (T) = Vueltas / Velocidad de rotación (rps) = 3.375 / 6 rps = 0.5625 s
5.2. Cálculo Utilizando Fórmulas Estándar
Definiciones:
- Tb = Tiempo medio de búsqueda (seek time).
- Tr = Tiempo medio de retardo rotacional (rotational latency).
- Tt = Tiempo de transferencia de datos.
Tb = 0 ms
Tr (Latencia media) = 1 / (2 × f) = 1 / (2 × 6 rps) ≈ 83.3 ms
Tt (Tiempo de transferencia, basado en 2.875 vueltas) ≈ 479.2 ms
Tiempo Total (T) = Tb + Tr + Tt
T = 0 ms + 83.3 ms + 479.2 ms = 562.5 ms
6. Tiempo de Acceso para 16 Sectores (1.5 Vueltas)
Velocidad de Rotación: 6 RPS.
Operación: Lectura de 16 sectores, requiriendo 1 vuelta completa de lectura más 0.5 vueltas para alcanzar el sector inicial (o sector 0).
Vueltas totales = 1.5 vueltas
Tiempo (t) = Vueltas totales / Velocidad de rotación = 1.5 / 6 rps = 0.25 s
7. Tiempo Total de Lectura para 25 Sectores (3600 RPM)
Parámetros:
- Velocidad de Rotación (f): 3600 rpm = 60 rps
- Sectores por Pista: 16 sectores (asumido)
- Sectores a leer: 25 sectores
- Tiempo de Búsqueda (Tb): 25 ms (asumido del cálculo final)
7.1. Tiempo de Transferencia (Ttransferencia)
1 segundo --------- 60 vueltas = 960 sectores
X segundos --------- 25 sectores
Ttransferencia = (1 s × 25) / 960 ≈ 0.02604 s = 26.04 ms
7.2. Tiempo de Retardo Rotacional (Tr)
Tr (Latencia media) = 1 / (2 × f) = 1 / (2 × 60 rps) = 1 / 120 s ≈ 8.33 ms
7.3. Tiempo Total (Ttotal)
Ttotal = Tb (Tiempo de búsqueda) + Tr (Latencia) + Ttransferencia
Ttotal = 25 ms + 8.33 ms + 26.04 ms ≈ 59.37 ms
8. Tiempo de Lectura de 25 Sectores (Acceso Aleatorio)
Este cálculo asume que se leen 25 sectores de forma individual, donde cada acceso requiere un ciclo completo (búsqueda + latencia + transferencia de 1 sector).
Parámetros:
- Tb = 25 ms
- f = 3600 rpm = 60 rps
- Sectores/Pista: 16
- Tamaño del Sector: 1024 B
8.1. Cálculo de Tt (Tiempo de Transferencia de 1 Sector)
Tt = 1 / (16 sectores/pista × 60 rps) = 1 / 960 s ≈ 0.001042 s = 1.042 ms
8.2. Cálculo de Tr (Latencia Media)
Tr = 1 / (2 × f) = 1 / 120 s ≈ 8.3 ms
8.3. Tiempo Total de Lectura (Tl)
Tl (25 sectores) = (Tb + Tr + Tt) × 25
Tl = (25 ms + 8.3 ms + 1.042 ms) × 25
Tl = (34.342 ms) × 25 ≈ 858.55 ms