0% encontró este documento útil (0 votos)
19 vistas6 páginas

Asignacion #5 Entrada Salida

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas6 páginas

Asignacion #5 Entrada Salida

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Universidad Tecnológica de Panamá

Facultad de Ingeniería en Sistemas Computacionales


Sistemas Operativos
Asignación #5: Problemas de E/S

Estudiantes: David Rodríguez, Anderson González, José Lugo


Fecha: 04/07/2024
Problemas
11.1. Considere un programa que accede a un único dispositivo de E/S y compare las E/S sin
búfer con el uso de un amortiguador. Demuestre que el uso del buffer puede reducir el tiempo
de ejecución en al menos más un factor de dos.

• Sin Buffer

Con Buffer

Desarrollo:
11.2. Generalice el resultado del problema 11.1 al caso en el que un programa hace referencia
a n dispositivos.

El tiempo total sin búfer para n dispositivos es la suma de los tiempos para cada dispositivo:

El tiempo total con búfer para n dispositivos es la suma de los tiempos para cada dispositivo:

Relación:

11.3. Considere una unidad de disco con 4000 cilindros, numerados del 0 al 3999. La solicitud
de la cola tiene la siguiente composición:

1045 750 932 878 1365 1787 1245 664 1678 1897

Si la posición actual es 1167 y la solicitud anterior se atendió en 1250, calcule la distancia total
(en cilindros) que el brazo del disco se movería para cada uno de los siguientes algoritmos:
programación FIFO, SSTF, SCAN y C-SCAN.

• FIFO (First In First Out)

Distancia total FIFO = 3918 cilindros

• SSTF (Shortest Seek Time First)

Distancia total SSTF = 2132 cilindros

• SCAN

Distancia total SCAN = 6831 cilindros

• C-SCAN

Distancia total C-SCAN = 6831 cilindros

11.4. Considere un disco con N pistas numeradas del 0 al (N - 1) y suponga que solicita. Los
sectores se distribuyen de forma aleatoria y uniforme en el disco. queremos calcular el número
promedio de pistas atravesadas por una búsqueda.
a. Calcule la probabilidad de una búsqueda de longitud j cuando la cabeza está actualmente
posicionada sobre la pista t. (Pista: Se trata de determinar el número total de combinaciones,
reconociendo que todas las posiciones de seguimiento para el destino de la búsqueda son
igualmente probables.)

• Teniendo en cuenta que las posiciones validas de destino son:


• D=t+j
• D=t–j

Si j es mayor o igual que 0, entonces se deben cumplir estas dos condiciones de destino.

Si j es igual a 0 , la búsqueda no se mueve y la posición actual es la posición de destino.

Lo que quiere decir que la probabilidad de búsqueda de j es de 2 / posibles posiciones de


destino y 1 / posible posición de destino, si la búsqueda de longitud es 0.

b. Calcule la probabilidad de una búsqueda de longitud K, para una posición actual arbitraria
de la cabeza. (Pista: Esto implica la suma de todas las combinaciones posibles de
movimientos de pistas K.)
(N−K)+(N−K) 2(N−K)
• P(k) = N
= N
Para K <= N

C. Calcule el número promedio de pistas atravesadas por una búsqueda, usando la fórmula
para valor esperado

1 (𝑁−1)𝑁
• El valor esperado seria E[x] = ∗
𝑁 2
𝑁−1
o Simplificado obtendríamos E[x] = 2

Lo que nos dice que el promedio de búsqueda recorrerá la mitad de N-1 pistas.

d. Demuestre que, para valores grandes de N, el número promedio de pistas atravesadas por
una búsqueda se acerca a N/3.

• Para esto es necesario tener las posiciones validas para cuando t+i t-i:
o 0\ \𝑙𝑒 𝑡 + i < N
o 0\ \𝑙𝑒 𝑡\ −i < N
2(𝑁−𝑖)
P[X = i] ≈
𝑁2

N N!
( )=
K (N − K)! K!
N−1
2K(N − K) N(N − 1) N − 1
∑ = =
N2 N2 N
K=0

Combinando términos y Reduciendo obtenemos que para valores grandes de N:


𝑁
• E[x] ≈ 3

11.5. Se ha descubierto que en una determinada unidad de disco aproximadamente el 80% de


todas las solicitudes son para un Número pequeño y fijo de cilindros. ¿Cuál de los algoritmos
de programación recomendaría para esta situación? Justifica tu elección.

• El algoritmo que se recomendaría es el SSTF (Shortest Seek Time First).

El algoritmo SSTF es altamente eficiente en términos de minimizar el tiempo de búsqueda


porque atiende primero las solicitudes que están más cerca físicamente del cabezal del
disco en un momento dado. Esto es particularmente beneficioso en escenarios donde la
mayoría de las solicitudes se concentran en un número pequeño y fijo de cilindros.

11.6. En un sistema de un solo usuario, determine si se debe utilizar buffer, spooling, caché o
una combinación de estos se debe utilizar para cada uno de los siguientes escenarios de E/S:

a. Un mouse utilizado con una interfaz gráfica de usuario.

Utilizar caché para almacenar datos del mouse que se acceden con frecuencia y mejorar la
respuesta del sistema gráfico.

b. Una unidad de cinta en un sistema operativo multitarea.

Utilizar buffer para la gestión de E/S en la unidad de cinta y posiblemente spooling para
administrar múltiples solicitudes de E/S de manera eficiente.

c. Una unidad de disco que contiene archivos de usuario.

Utilizar buffer y caché para optimizar las operaciones de E/S en la unidad de disco que
contiene archivos de usuario.

11.7. Calcule cuánto espacio en disco (en sectores, pistas y superficies) se necesitará para
almacenar 250.000 registros lógicos de 200 bytes si el disco es de sector fijo con 1024
bytes/sector, con 108 sectores/pista, 140 pistas por superficie y 12 superficies utilizables.
Ignorar cualquier registro de encabezado de archivo e índices de seguimiento, y suponemos
que los registros no pueden abarcar dos sectores.

• Registros por sector = 1024/200 = 5 registros por sector


• Sectores = 250,000 registros lógicos / 5 registros por sector = 50,000 sectores
• Pistas = 50,000 sectores / 108 sectores/pista ≈ 464.8 = 465 Pistas
• Superficies = 465 pistas / 140 pistas*superficie ≈ 4 Superficies

11.8. Considere el sistema de disco descrito en el problema 11.7 y suponga que el disco gira a
1.200 rpm. Un procesador lee un sector del disco mediante E/S controlada por interrupciones,
con una interrupción cada 4 bytes. Si se necesitan 1,5 μs para procesar cada interrupción, ¿qué
porcentaje de tiempo pasará el procesador manejando E/S (sin tener en cuenta el tiempo de
búsqueda)?


11.9. Repita el problema anterior usando DMA y suponga una interrupción por sector.


11.10. Una computadora de 32 bits tiene dos canales selectores y un canal multiplexor. Cada
canal selector admite dos unidades de discos magnéticos y tres de cintas magnéticas. El canal
multiplexor tiene tres impresoras de línea, dos lectores de tarjetas y doce terminales VDT
conectados. Suponga las siguientes tasas de transferencia:

Unidad de disco 1100 Kbytes/s

Unidad de cinta magnética 400 Kbytes/s

Impresora de línea 7,8 Kbytes/s

Lector de tarjetas 1,6 Kbytes/s

VDT 1,2 Kbytes/s

Calcule la tasa máxima de transferencia de E/S agregada en este sistema.

• Unidades conectadas a los canales


o 2 unidades de discos magnéticos
o 3 unidades de cinta magnética

Al haber 2 canales selectores se multiplicaría por 2 las unidades conectadas.

Canales Selectores

• Discos magnéticos: 4 discos x 1100 Kbytes/s = 4400 Kbytes/s


• Cintas magnéticas: 6 cintas x 400 Kbytes/s = 2400 Kbytes/s
• TOTAL: 6800 Kbytes/s

Canal Multiplexor

• Impresora de línea = 3 x 7.8 Kbytes/s = 23.4 Kbytes/s


• Lectores de tarjetas = 2 x 1.6 Kbytes/s = 3.2 Kbytes/s
• Terminales VDT = 12 x 1.2 Kbytes/s = 14.4 Kbytes/s
• TOTAL : 41 Kbytes/s
La tasa máxima de transferencia E/S es la suma de las transferencias de los canales del
selector y multiplexor.

• Tasa máxima de transferencia = 6841Kbytes/s

11.11. Un paquete de discos tiene las siguientes especificaciones: consta de 25 discos de


doble cara; cada superficie de un disco tiene 480 pistas y una pista tiene 20 bloques. Cada
bloque es de 2048 bytes, con un espacio entre bloques de 64 bytes. Calcule la capacidad total
de una vía, la capacidad útil de una vía (excluyendo espacio entre bloques), la capacidad
total y la capacidad útil de un cilindro, la capacidad total y capacidad útil del paquete de
discos, y el porcentaje de espacio desperdiciado.

• Capacidad total de una vida = 20 bloques * (2048 + 64 bytes) = 42,240 bytes


o Excluyendo el espacio entre bloque = 40,960 bytes
• Total de superficie del paquete de discos y cilindro = 50 superficies * 42,240 bytes =
2,112,000 bytes
o Capacidad útil del paquete de discos y cilindro = 50 superficies * 40,960 bytes
= 2,048,000 bytes
• Porcentaje Desperdiciado = Espacio desperdiciado por via + espacio desperdiciado por
cilindo + espacio desperdiciado por paquete de disco = 30,720,000 bytes
• \frac{30,720,000\ bytes}{1,014,720,000\ bytes}\ast100% = 3.03%
11.12. En cierto dispositivo, el disco gira a 7.500 rpm. ¿Cuál es el retraso rotacional promedio
de esta unidad de disco?

• \frac{60\ segundos}{7500\ RPM} =\frac{(60)(1000\ ms)}{7500\ RPM} =\frac{8\


ms}{2}\approx4\ ms
• El retraso rotacional promedio es de 4 milisegundos.

También podría gustarte