Almacenamiento
secundario
Cecilia Hernández
2007-1
Funciones de SO al manejar
dispositivos de E/S
Comunicarse con los dispositivos
 Manejar interrupciones
 Manejar errores
 Proporcionar interfaz sencilla y fácil de usar
 Tratar de generalizar interfaz independiente
del dispositivo
(ej. diskettes, disco duro, CD-ROM).

Tipos de dispositivos

Dispositivos de interacción con humanos


Dispositivos de interacción entre componentes
de sistema computacional



Monitor, teclado, mouse
Discos
Tarjetas de red ethernet, wireless
Otra vista de clasificación

Dispositivos de bloques
• Discos

Dispositivos de caracteres
• Maneja flujo de caracteres, teclado, mouse, impresora
Técnicas para realizar E/S
Programada
 Por interrupciones
 Usando DMA


Disco
Por interrupciones
Usando DMA
Almacenamiento Secundario

Almacenamiento secundario



Después de Memoria Principal
No permite la ejecución directa de instrucciones o
manipulación de datos mediante instrucciones
load/store
Características




Grande: entre 50 – 1000 GB
Barato : $200/GB
Persistente : Datos sobreviven sin energía
Lento : Del orden de los msegs
Jerarquía de Memoria







Registro de CPU (100 bytes, ~ <1 nsegs)
Cache de Nivel 1 (32KB, ~1-2 nsegs)
Cache de Nivel 2 (256KB, ~4 nsegs)
Memoria Principal (1GB, ~60 nsegs)
Almacenamiento Secundario (100GB, ~1050mseg)
Almacenamiento Terciario (1-100TB, 1seg-1hr)
Cada uno de estos niveles actua como cache
de nivel anterior más rápido
Jerarquía de Memoria
100 bytes CPU registros <1 ns
32KB
256KB
1GB
100GB
1-1000TB
L1 cache
1 ns
L2 cache
4 ns
Memoria Principal
Almacenamiento Secundario
Almacenamiento Terciario
60 ns
10+ ms
1s-1hr
Sistema Operativo y Disco

Tarea del SO es esconder problemas con
discos


Discos normalmente tienen bloques malos
SO interactúa con disco mediante controlador de
disco
• Buscar bloque, comenzar lectura, transferir
bloque, etc
• SO proporciona abstracción de disco a usuarios
sistema mediante archivos y bases de datos
Estructura Física de Disco

Componentes físicos







platos
superficies
pistas
sectores
cilindros
brazo cilindro
cabezas
pista
sector
superficie
plato
brazo
cabeza
Rendimiento de Disco

Búsqueda (cara en tiempo: ~10ms)
• Mover el brazo a cilindro
• Velocidad de brazo no ha aumentado mucho

Rotación (cara en tiempo: ~8ms)
• Esperar que sector pase por debajo de la cabeza
• Velocidad aumentando pero de a poco

Transferencia (~4MB/s, 1KB/sector , 0.25ms)
• Datos de cilindro a controlador y de ahi a SO
• Depende de cuántos se transfieran
• Velocidad aumentando
Interactuando con Discos

En los primeros SO



SO especificaba número de cilindro, número de
sector, número de superficie y tamaño de
transferencia
SO necesitaba saber todos estos parámetros
Discos modernos son más complicados


No todos los sectores son del mismo tamaño
Disco proporciona una interfaz de nivel más alto
(SCSI)
• Datos exportados como un arreglo de bloques
[0...N]
• Mapea bloques lógicos a cilindro/superficie/sector
• SO sólo especifica número de bloque, disco se
encarga de detalles
Planificación de Disco



Discos pueden satisfacer un requerimiento a la
vez
Tiempos de búsqueda y rotación son altos, asi
que planificación intenta disminuir estos tiempos
Algoritmos de planificación

FIFO
• Atender requerimientos en orden de llegada
• Justo, pero lento

SSTF (Shortest Seek Time First)
• Atender requerimientos que minimice tiempo de búsqueda
• Disminuye tiempo búsqueda de algunos requerimientos, pero
no es justo y puede producir espera indefinida
Planificación de Disco cont.

SCAN




Algoritmo del ascensor
Elimina espera indefinida
Más justo que SSTF, pero no completamente
C-SCAN



SCAN modificado
Recorre requerimientos en dirección circular
Compromiso entre tiempo de búsqueda y justicia
Descargar

Disco