Administración de E/S y
Planificación del Disco
SISTEMAS OPERATIVOS
2
2 /53
/53
Tabla de Contenido
1. Dispositivos de E/S
2. Problema de Diseño de SO
3. Entrada Salida a Disco
4. Algoritmos de Planificación
3
3 /53
/53
DISPOSITIVOS DE E/S
4
4 /53
/53
DES
• Son todos aquellos dispositivos conectados a un
computador y diferentes a: UCP, Memoria y Reloj.
• El código para manejar la E/S de los DES es amplia y
compleja.
• Resuelve los problemas de:
– Sincronización.
– Detección de interrupciones.
– Llamadas al sistema.
5
5 /53
/53
Tipos de DES (categorías)
• Bloques. Se pueden direccionar, se puede escribir o leer
cualquier bloque del dispositivo realizando primero una
operación de posicionamiento sobre el dispositivo.
– Los discos duros, la memoria, discos compactos y
unidades de cinta.
• Caracteres. Son aquellos que trabajan con secuencias de
byes sin importar su longitud ni ninguna agrupación en
especial. No son direccionables.
– Teclado, la pantalla o display y las impresoras.
6
6 /53
/53
Tipos de Dispositivo
• Orientado a bloque
– La información es guardada en bloques de tamaño fijo.
– Las transferencias son hechas un bloque a la vez
– Se referencia a los bloques.
– HDD y cintas
• Orientado al flujo
– La información de transferencia como un flujo de bytes.
– No existen bloques.
– Terminales, impresores, puertos de comunicación,
mouse y la mayoría de los DES que no son
almacenamiento secundario.
7
7 /53
/53
Tipos de DES (categorías)
• Legibles para el humano. Usados en la comunicación
con el usuario
– Impresores, video, mouse, teclado.
• Legibles para la máquina. Adecuado para equipos
electrónicos
– HDD, cinta, sensores, controladores e impulsores.
• Dispositivos de Comunicación. Apropiados para la
comunicación con equipos lejanos.
– Modems, tarjetas de red, hub, switchs
8
8 /53
/53
Diferencias en dispositivos de I/O
• Velocidad de datos. Existir diferencias de varios ordenes
de la magnitud en la velocidad de transferencia de datos.
• Aplicación.
– El disco usado para grabar archivos requiere un software de
administración de archivos
– El disco usado por el área de swap (VM) necesita hard y soft
especiales para soportarlo.
– La terminal usada por el administrador puede tener alta prioridad.
• Complejidad del control. El driver para la impresora
puede ser más simple que el driver del DD
9
9 /53
/53
Diferencias en dispositivos de I/O
• Unidad de Transferencia. La información se puede
transmitir en unidades de bytes, caracteres o bloques.
• Representación de datos
– Diferentes dispositivos emplean diferentes esquemas de
codificación de datos, en los códigos de caracteres y en
los convenios de paridad.
• Condiciones de error.
– Sea en la manera de informar al SO, en sus
consecuencias y en el rango disponibles de posibles
respuesta.
10
10 /53
/53
Ejemplos de DES según atributos
Dispositivo Objeto Interacción
Velocidad de
Transmisión (Kb/sg)
Teclado Entrada Humano 0.01
Ratón Entrada Humano 0.01
Micrófono Entrada Humano 0.02
Escáner Entrada Humano 200
Altavoces Salida Humano 0.6
Impresora de línea Salida Humano 1
Impresora láser Salida Humano 100
Pantalla grafica Salida Humano 30000
CPU a buffer Salida Humano 200
Terminal de red Entrada/Salida Máquina 0.05
Adaptador de LAN Entrada/Salida Máquina 200
Disco óptico Almacenamiento Máquina 500
Cinta magnética Almacenamiento Máquina 2000
Disco magnético Almacenamiento Máquina 2000
11
11 /53
/53
Técnicas para la E/S
• E/S Programada.
– El procesador emite la orden de E/S. El proceso espera a
que termine la operación antes de continuar.
• E/S dirigida por Interrupciones.
– La instrucción de E/S es emitida.
– El procesador continúa ejecutando instrucciones.
– El módulo de E/S envía un interrupción cuando está
prepara para transmitir.
• Acceso directo a la memoria ( el DMA).
– Existe un módulo DMA que controla el intercambio de
datos entre la memorial principal y el DES.
– El procesador es interrumpido sólo luego que el bloque
entero ha sido transferido
Técnicas para la E/S
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de E/S
Leer palabra del
módulo de E/S
Escribir palabra
en memoria
¿estado?
¿Hecho?
Siguiente instrucción
CPU  E/S
E/S  CPU
Condición de Error
E/S  CPU
CPU  Memoria
Listo
No
listo
No
Si
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de E/S
Leer palabra del
módulo de E/S
Escribir palabra
en memoria
¿estado?
¿Hecho?
Siguiente instrucción
CPU  E/S
Hacer otra cosa
Interrumpir
E/S  CPU
Condición de Error
E/S  CPU
CPU  Memoria
Listo
No
Si
Emitir orden de
lectura al
módulo de E/S
Leer estado del
módulo de DMA
CPU  DMA
Hacer otra cosa
Interpretar
DMA  CPU
Siguiente instrucción
E/S Programada E/S Dirigida por
interrupciones
DMA
13
13 /53
/53
La evolución de la función de I/O
1. El μP controla directamente el DES.
2. Controlador o módulo de E/S. El μP usa la E/S programa-
da sin interrupciones. El μP no necesita conocer el DES
3. Controlador o módulo de E/S con interrupciones.
– El μP no gasta el tiempo esperando termine una
operación de E/S.
4. Acceso directo a la memoria
– Los bloques de los datos se mueven en memoria sin
que participe el μP, este solo participa al inicio y al final.
5. Módulo de E/S con un procesador separado.
6. El módulo de I/O tiene su propia memoria local. Es una
computadora.
14
14 /53
/53
PROBLEMAS DE DISEÑO DE
SISTEMAS OPERATIVOS
15
15 /53
/53
Eficiencia
• El DES puede convertirse en un cuello de
botella.
• La mayor parte de los DES son lentos
comparados con RAM o el μP.
• La multiprogramación considera que ciertos
procesos están esperando la E/S mientras
otro se están ejecutan.
• La E/S no puede mantener la velocidad del
μP.
• Se puede usar el área de swap para
introducir más procesos lista para la
ejecución y por lo tato tener al μP ocupado,
pero esta es una operación de E/S.
16
16 /53
/53
Generalidad
• En interés de la simplicidad y la extensión de errores:
• Es deseable manejar todos los dispositivos de E/S de una
manera uniforme.
– Procesos  DES
– SO  DES y operaciones.
• En la práctica es muy difícil conseguir la generalidad, dado
la diversidad de características de los DES.
• Se puede usar enfoques jerárquicos y modulares.
• Los niveles superiores pueden ver los DES en términos
generales tal como:
– de lectura, escritura, apertura, cierre
– bloqueo, desbloqueo
17
17 /53
/53
Estructura lógica de las funciones de E/S
• El SO es de naturaleza jerárquica.
• Las funciones se separan en función a:
– Complejidad
– Rangos de tiempo.
– Nivel de abstracción.
• Cada nivel ofrece sus servicios al nivel
superior.
• Los niveles inferiores se enfrentan a
rangos de tiempos menores, dado que
tratan directamente con el DES.
18
18 /53
/53
Organización de la E/S
E/S con dispositivos
E/S lógica
Proceso de
usuarios
Planificación y
Control
Hardware
Dispositivo
Periférico Local
E/S con dispositivos
Arquitectura de
Comunicaciones
Proceso de
usuarios
Planificación y
Control
Hardware
Puerto de
Comunicaciones
E/S con dispositivos
Sistema de
Archivos
Gestión de
directorios
Proceso de
usuarios
Organización Física
Planificación y
Control
Hardware
Sistema de Archivos
19
19 /53
/53
(Herramientas Administrativas)
20
20 /53
/53
DES
21
21 /53
/53
BUFFERING de E/S
(Almacenamiento
intermedio de E/S)
22
22 /53
/53
Razones para almacenamiento temporal
• Los procesos deben esperar hasta que se complete la E/S.
• Las páginas deben permanecer en RAM durante E/S, sino
se perderían. Sólo algunas partes del proceso pueden ser
enviadas al disco.
• Riesgo de interbloqueo:
• Proceso emite la orden de E/S
• Se suspende temporalmente el
proceso.
• Se le expulsa antes de terminar la
operación.
• Se le bloquea esperando que la
operación termine.
• Mientras tanto la operación de E/S
se bloquea esperando a que el
proceso vuelva a memoria
23
23 /53
/53
I/O Buffering
• Es conveniente hacer la transferencia de datos por
adelantado a la petición y realizar la transferencia un
tiempo después. (buffering)
24
24 /53
/53
Buffer Sencillo
• El sistema operativo asigna un buffer en la memorial
principal para solicitudes de E/S
25
25 /53
/53
Buffer doble y circular
26
26 /53
/53
ENTRADA SALIDA A DISCO
27
27 /53
/53
Discos
• Dispositivos para para almacenamiento no volátil.
• Plataforma para el sistema de intercambio que usa el
gestor de memoria virtual.
• Son dispositivos electromecánicos (HARD DISK) u
optomecánicos (CD-ROM y DVD), se acceden a nivel de
bloques por el sistema de archivos
28
28 /53
/53
Estructura
• El sistema de almacenamiento secundario se usa para
guardar los programas y datos en dispositivos rápidos, de
forma que sean fácilmente accesibles a las aplicaciones a
través del sistema de archivos. En la jerarquía de E/S se
colocan justo debajo de la memoria RAM.
• Hay dos elementos involucrados en este sistema:
– Discos. El almacenamiento secundario se lleva a cabo
casi exclusivamente sobre discos, por lo que es
interesante conocer su estructura y cómo se gestionan.
– Manejadores de disco. Controlan todas las
operaciones que se hacen sobre los discos, entre las
que son especialmente importantes las cuestiones de
planificación de peticiones a disco.
29
29 /53
/53
Estructura del sistema de E/S en LINUX
Interfaz de llam adas al sistem a
C aché de bloques
G estor de peticiones a los discos
Planificador de los discos
Controlador de dispositivos
[bajo nivel]
Caché de
páginas de
m em oria
Sistem a de ficheros virtual
Sistem a de ficheros
Controlador del
dispositivo
[alto nivel]
Sistem a de Alm a c ena m iento Sec unda rio
Controlador ≠ Manejador
30
30 /53
/53
Estructura de un manejador de disco
Planificador
Manejador
SCSI
Manejador
de CD_ROM
Manejador
IDE
Manejador
de floppy
…
Manejadorde disco
31
31 /53
/53
Manejadores de disco
Funciones principales:
1. Proceso de la petición de E/S de bloques.
2. Traducción del formato lógico a mandatos del controlador.
3. Insertar la petición en la cola del dispositivo, llevando a
cabo la política de planificación de disco pertinente (FIFO,
SJF, SCAN, CSCAN, EDF, etc.).
4. Enviar los mandatos al controlador, programando la DMA.
5. Bloqueo en espera de la interrupción de E/S.
6. Comprobación del estado de la operación cuando llega la
interrupción.
7. Gestionar los errores, si existen, y resolverlos si es posible.
8. Indicación del estado de terminación al nivel superior del
sistema de E/S.
32
32 /53
/53
Clasificación de Discos
• Pueden ser según la interfaz de su controlador:
– Dispositivos SCSI (Small Computer System Interface).
– Dispositivos IDE (Integrated Drive Electronics).
• Según su tecnología de fabricación:
– Discos duros (Winchester).
– Discos ópticos.
– Discos extraíbles.
• Independientemente del tipo al que pertenezcan, las
estructuras física y lógica de todos los discos son muy
similares, como se muestra a continuación.
33
33 /53
/53
SCSI e IDE
IDE - Integrated Drive Electronics (Electrónica Integrada de Unidad).
• Reúne 25 a 35 sectores en una pista.
• Coloca la unidad y el controlador juntos.
• Se conectan directamente en la placa madre.
• No se le puede dar mantenimiento mediante programas.
• No se puede conectar +2 DD.
SCSI – Small Computer System Interface (Interfaz de Sistemas Pequeños de Computo).
• Se puede conectar hasta ocho diferentes tipos (Id0 a Id7).
• Es el único modo de conectar varios DES consistentemente
• Son de > capacidad que los IDE.
• Tienen precios altos y se dificulta su instalación.
• Cada periférico SCSI tiene inteligencia propia, a diferencia
de los puertos serie y paralelo.
34
34 /53
/53
Característica de los DD
• Un DD es un DES de gran capacidad compuesto de
superficies magnetizadas y cabezas lectoras.
• Las superficies están divididas en cilindros (pistas) y
sectores por pista. El tamaño del sector es 512 bytes.
• Capacidad del disco:
Capacidad = cilindros * pistas * sectores * tamaño sector
discos Pistas = tracks sectores
35
35 /53
/53
Estructura Física del DD
36
36 /53
/53
Ejemplo de disco duro
Capacidad:
Velocidad:
T. Búsqueda:
Latencia:
Memoria:
Cilindros:
Cabezas:
Sectores:
1
7200 RPM
8,5 mseg.
4,16 mseg
2 Mbytes
0.2 GB
1023
256
83
SEAGATE Barracuda ATA II ST330630A
Parámetro Valor
37
37 /53
/53
Estructura lógica de los Discos
• Los DD se manejan como vectores grandes de bloques
lógicos, siendo el bloque la unidad mínima de transferencia
• El vector de bloques lógicos se proyecta sobre los sectores
del disco secuencialmente:
– Sector 0: primer sector de la primera pista del cilindro más externo
– El mapa se hace primero en esa pista, luego en las restantes pistas
de ese cilindro y luego en los restantes cilindros
• El manejador de disco no sabe nada de la organización de
los ficheros, sólo de particiones y bloques.
• En el sector 0 se guarda la tabla de particiones.
• Particiones activas o de sistema: permiten arrancar desde
un sistema operativo.
38
38 /53
/53
Tabla de particiones de un disco
39
39 /53
/53
Parámetros de ejecución de disco
• Para leer o escribir, la cabeza lectora se debe situar en la
pista deseada y al comienzo del sector deseado
• Tiempo de búsqueda.
– Tiempo que toma para colocar la cabeza en la pista deseada.
• Tiempo de latencia (retardo de giro).
– Tiempo para llegar el inicio del sector a la cabeza lectora
• Tiempo de acceso = T_búsqueda + T_latencia
– El tiempo para entrar posición para leer o escribir.
• Tiempo de transferencia.
– Ocurre cuando el sector deseado se mueve debajo de la cabeza.
TT_acceso = n * T_búsqueda + T_latencia + T_transferencia
40
40 /53
/53
Tiempo de transferencia del HD
Espera del
Dispositivo
Espera del
Canal
Tiempo de
Búsqueda
Tiempo de
Latencia
Tiempo de
Transferencia
41
41 /53
/53
Parámetros de ejecución de disco
• Velocidad de Rotación: Número de vueltas por minuto
(RPM) que da el disco.
• 3600 rpm = 1 revolución cada 60/3600 segundos
• (16,66 milisegundos)
• Latencia Promedio 8,33 milisegundos
• Tiempo de ½ vuelta -->
42
42 /53
/53
ALGORTIMOS DE
PLANIFICACION DE DISCO
43
43 /53
/53
Planificación de disco
• El SO es responsable de usar el hardware de forma
eficiente.
• El tiempo de acceso tiene dos componentes principales:
– búsqueda: tiempo que tarda el brazo del disco para
mover las cabezas hasta el cilindro que contiene el
sector deseado
– latencia: tiempo de espera adicional para que el disco
gire hasta ponerse sobre el sector deseado
• Objetivo: minimizar el tiempo de búsqueda, que es
directamente proporcional a la distancia de búsqueda
• Ancho de banda: bytes transferidos / tiempo de transferencia
44
44 /53
/53
Algoritmos de Planificación
• Variados: FIFO, SCAN, CSCAN, SSF, EDF, ….
• Fundamentales para optimizar el acceso al disco.
• Criterios de planificación:
– Optimizar el tiempo de búsqueda
– Dar servicio determinista
• A continuación se estudian varios ejemplos usando la
siguiente cola de peticiones:
98, 183, 37, 122, 14, 124, 65, 67
Se asume que las cabezas están en 53
45
45 /53
/53
FCFS (FIFO)
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 6567 98 122124 183 199
46
46 /53
/53
Shortest Seek First (SSF)
• Primero las peticiones que minimizan el movimiento de
cabezas desde la posición actual
• La política SSTF es una variante de planificación de CPU
con Shortest Job First (primero el más corto)
• Puede causar inanición de algunas peticiones
• Idea: maximizar el ancho de banda del disco
• La ilustración siguiente muestra el movimiento total de las
cabezas del disco: 236 cilindros
47
47 /53
/53
SSTF
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 6567 98 122 124 183 199
48
48 /53
/53
Ascensor (SCAN)
• El movimiento del brazo empieza siempre en un extremo
del disco y continúa hasta el otro. Allí se cambia el sentido
y se vuelve el otro extremo
• Idea: evitar desplazamientos atrás y adelante
• Problema: puede retrasar mucho el servicio de algunas
peticiones si no se insertan adecuadamente dentro de las
rodajas
• Movimiento total de cabezas en el ejemplo: 208 cilindros
49
49 /53
/53
SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 536567 98 122 124 183 199
50
50 /53
/53
Ascensor cíclico (CSCAN)
• Variación del ascensor
• Las cabezas se mueven de un extremo a otro del disco y
luego vuelven al principio
• No se atienden peticiones mientras las cabezas vuelven a
la posición inicial
• Tiempo de espera más uniforme que el ascensor normal
• Trata los cilindros como una lista circular que enlaza el
último cilindro con el primero
• El número es engañoso. Ir del último al primero se hace en
un único movimiento y tarda muy poco
• Se usa frecuentemente
51
51 /53
/53
C-SCAN
queue = 98, 183, 37, 122, 14, 124, 65, 67
head starts at 53
0 1 4 37 53 6567 98 122 124 183 199
52
52 /53
/53
Selección de un Algoritmo de Planificación
• SSF es frecuente y parece el más natural
• SCAN y C-SCAN tienen mejor rendimiento para sistemas
que usan mucho el disco
• El rendimiento depende del número y el tipo de peticiones
• Las peticiones al disco pueden depender de la política de
asignación de espacio a los ficheros
• El algoritmo de planificación de disco debe ser escrito
como un módulo separado, para que sea fácil de
reemplazar.
• Algoritmo estándar en casi todos los sistemas: CSCAN

Administración de E/S Tipos de DES (categorías)

  • 1.
    Administración de E/Sy Planificación del Disco SISTEMAS OPERATIVOS
  • 2.
    2 2 /53 /53 Tabla deContenido 1. Dispositivos de E/S 2. Problema de Diseño de SO 3. Entrada Salida a Disco 4. Algoritmos de Planificación
  • 3.
  • 4.
    4 4 /53 /53 DES • Sontodos aquellos dispositivos conectados a un computador y diferentes a: UCP, Memoria y Reloj. • El código para manejar la E/S de los DES es amplia y compleja. • Resuelve los problemas de: – Sincronización. – Detección de interrupciones. – Llamadas al sistema.
  • 5.
    5 5 /53 /53 Tipos deDES (categorías) • Bloques. Se pueden direccionar, se puede escribir o leer cualquier bloque del dispositivo realizando primero una operación de posicionamiento sobre el dispositivo. – Los discos duros, la memoria, discos compactos y unidades de cinta. • Caracteres. Son aquellos que trabajan con secuencias de byes sin importar su longitud ni ninguna agrupación en especial. No son direccionables. – Teclado, la pantalla o display y las impresoras.
  • 6.
    6 6 /53 /53 Tipos deDispositivo • Orientado a bloque – La información es guardada en bloques de tamaño fijo. – Las transferencias son hechas un bloque a la vez – Se referencia a los bloques. – HDD y cintas • Orientado al flujo – La información de transferencia como un flujo de bytes. – No existen bloques. – Terminales, impresores, puertos de comunicación, mouse y la mayoría de los DES que no son almacenamiento secundario.
  • 7.
    7 7 /53 /53 Tipos deDES (categorías) • Legibles para el humano. Usados en la comunicación con el usuario – Impresores, video, mouse, teclado. • Legibles para la máquina. Adecuado para equipos electrónicos – HDD, cinta, sensores, controladores e impulsores. • Dispositivos de Comunicación. Apropiados para la comunicación con equipos lejanos. – Modems, tarjetas de red, hub, switchs
  • 8.
    8 8 /53 /53 Diferencias endispositivos de I/O • Velocidad de datos. Existir diferencias de varios ordenes de la magnitud en la velocidad de transferencia de datos. • Aplicación. – El disco usado para grabar archivos requiere un software de administración de archivos – El disco usado por el área de swap (VM) necesita hard y soft especiales para soportarlo. – La terminal usada por el administrador puede tener alta prioridad. • Complejidad del control. El driver para la impresora puede ser más simple que el driver del DD
  • 9.
    9 9 /53 /53 Diferencias endispositivos de I/O • Unidad de Transferencia. La información se puede transmitir en unidades de bytes, caracteres o bloques. • Representación de datos – Diferentes dispositivos emplean diferentes esquemas de codificación de datos, en los códigos de caracteres y en los convenios de paridad. • Condiciones de error. – Sea en la manera de informar al SO, en sus consecuencias y en el rango disponibles de posibles respuesta.
  • 10.
    10 10 /53 /53 Ejemplos deDES según atributos Dispositivo Objeto Interacción Velocidad de Transmisión (Kb/sg) Teclado Entrada Humano 0.01 Ratón Entrada Humano 0.01 Micrófono Entrada Humano 0.02 Escáner Entrada Humano 200 Altavoces Salida Humano 0.6 Impresora de línea Salida Humano 1 Impresora láser Salida Humano 100 Pantalla grafica Salida Humano 30000 CPU a buffer Salida Humano 200 Terminal de red Entrada/Salida Máquina 0.05 Adaptador de LAN Entrada/Salida Máquina 200 Disco óptico Almacenamiento Máquina 500 Cinta magnética Almacenamiento Máquina 2000 Disco magnético Almacenamiento Máquina 2000
  • 11.
    11 11 /53 /53 Técnicas parala E/S • E/S Programada. – El procesador emite la orden de E/S. El proceso espera a que termine la operación antes de continuar. • E/S dirigida por Interrupciones. – La instrucción de E/S es emitida. – El procesador continúa ejecutando instrucciones. – El módulo de E/S envía un interrupción cuando está prepara para transmitir. • Acceso directo a la memoria ( el DMA). – Existe un módulo DMA que controla el intercambio de datos entre la memorial principal y el DES. – El procesador es interrumpido sólo luego que el bloque entero ha sido transferido
  • 12.
    Técnicas para laE/S Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No listo No Si Emitir orden de lectura al módulo de E/S Leer estado del módulo de E/S Leer palabra del módulo de E/S Escribir palabra en memoria ¿estado? ¿Hecho? Siguiente instrucción CPU  E/S Hacer otra cosa Interrumpir E/S  CPU Condición de Error E/S  CPU CPU  Memoria Listo No Si Emitir orden de lectura al módulo de E/S Leer estado del módulo de DMA CPU  DMA Hacer otra cosa Interpretar DMA  CPU Siguiente instrucción E/S Programada E/S Dirigida por interrupciones DMA
  • 13.
    13 13 /53 /53 La evoluciónde la función de I/O 1. El μP controla directamente el DES. 2. Controlador o módulo de E/S. El μP usa la E/S programa- da sin interrupciones. El μP no necesita conocer el DES 3. Controlador o módulo de E/S con interrupciones. – El μP no gasta el tiempo esperando termine una operación de E/S. 4. Acceso directo a la memoria – Los bloques de los datos se mueven en memoria sin que participe el μP, este solo participa al inicio y al final. 5. Módulo de E/S con un procesador separado. 6. El módulo de I/O tiene su propia memoria local. Es una computadora.
  • 14.
    14 14 /53 /53 PROBLEMAS DEDISEÑO DE SISTEMAS OPERATIVOS
  • 15.
    15 15 /53 /53 Eficiencia • ElDES puede convertirse en un cuello de botella. • La mayor parte de los DES son lentos comparados con RAM o el μP. • La multiprogramación considera que ciertos procesos están esperando la E/S mientras otro se están ejecutan. • La E/S no puede mantener la velocidad del μP. • Se puede usar el área de swap para introducir más procesos lista para la ejecución y por lo tato tener al μP ocupado, pero esta es una operación de E/S.
  • 16.
    16 16 /53 /53 Generalidad • Eninterés de la simplicidad y la extensión de errores: • Es deseable manejar todos los dispositivos de E/S de una manera uniforme. – Procesos  DES – SO  DES y operaciones. • En la práctica es muy difícil conseguir la generalidad, dado la diversidad de características de los DES. • Se puede usar enfoques jerárquicos y modulares. • Los niveles superiores pueden ver los DES en términos generales tal como: – de lectura, escritura, apertura, cierre – bloqueo, desbloqueo
  • 17.
    17 17 /53 /53 Estructura lógicade las funciones de E/S • El SO es de naturaleza jerárquica. • Las funciones se separan en función a: – Complejidad – Rangos de tiempo. – Nivel de abstracción. • Cada nivel ofrece sus servicios al nivel superior. • Los niveles inferiores se enfrentan a rangos de tiempos menores, dado que tratan directamente con el DES.
  • 18.
    18 18 /53 /53 Organización dela E/S E/S con dispositivos E/S lógica Proceso de usuarios Planificación y Control Hardware Dispositivo Periférico Local E/S con dispositivos Arquitectura de Comunicaciones Proceso de usuarios Planificación y Control Hardware Puerto de Comunicaciones E/S con dispositivos Sistema de Archivos Gestión de directorios Proceso de usuarios Organización Física Planificación y Control Hardware Sistema de Archivos
  • 19.
  • 20.
  • 21.
    21 21 /53 /53 BUFFERING deE/S (Almacenamiento intermedio de E/S)
  • 22.
    22 22 /53 /53 Razones paraalmacenamiento temporal • Los procesos deben esperar hasta que se complete la E/S. • Las páginas deben permanecer en RAM durante E/S, sino se perderían. Sólo algunas partes del proceso pueden ser enviadas al disco. • Riesgo de interbloqueo: • Proceso emite la orden de E/S • Se suspende temporalmente el proceso. • Se le expulsa antes de terminar la operación. • Se le bloquea esperando que la operación termine. • Mientras tanto la operación de E/S se bloquea esperando a que el proceso vuelva a memoria
  • 23.
    23 23 /53 /53 I/O Buffering •Es conveniente hacer la transferencia de datos por adelantado a la petición y realizar la transferencia un tiempo después. (buffering)
  • 24.
    24 24 /53 /53 Buffer Sencillo •El sistema operativo asigna un buffer en la memorial principal para solicitudes de E/S
  • 25.
  • 26.
  • 27.
    27 27 /53 /53 Discos • Dispositivospara para almacenamiento no volátil. • Plataforma para el sistema de intercambio que usa el gestor de memoria virtual. • Son dispositivos electromecánicos (HARD DISK) u optomecánicos (CD-ROM y DVD), se acceden a nivel de bloques por el sistema de archivos
  • 28.
    28 28 /53 /53 Estructura • Elsistema de almacenamiento secundario se usa para guardar los programas y datos en dispositivos rápidos, de forma que sean fácilmente accesibles a las aplicaciones a través del sistema de archivos. En la jerarquía de E/S se colocan justo debajo de la memoria RAM. • Hay dos elementos involucrados en este sistema: – Discos. El almacenamiento secundario se lleva a cabo casi exclusivamente sobre discos, por lo que es interesante conocer su estructura y cómo se gestionan. – Manejadores de disco. Controlan todas las operaciones que se hacen sobre los discos, entre las que son especialmente importantes las cuestiones de planificación de peticiones a disco.
  • 29.
    29 29 /53 /53 Estructura delsistema de E/S en LINUX Interfaz de llam adas al sistem a C aché de bloques G estor de peticiones a los discos Planificador de los discos Controlador de dispositivos [bajo nivel] Caché de páginas de m em oria Sistem a de ficheros virtual Sistem a de ficheros Controlador del dispositivo [alto nivel] Sistem a de Alm a c ena m iento Sec unda rio Controlador ≠ Manejador
  • 30.
    30 30 /53 /53 Estructura deun manejador de disco Planificador Manejador SCSI Manejador de CD_ROM Manejador IDE Manejador de floppy … Manejadorde disco
  • 31.
    31 31 /53 /53 Manejadores dedisco Funciones principales: 1. Proceso de la petición de E/S de bloques. 2. Traducción del formato lógico a mandatos del controlador. 3. Insertar la petición en la cola del dispositivo, llevando a cabo la política de planificación de disco pertinente (FIFO, SJF, SCAN, CSCAN, EDF, etc.). 4. Enviar los mandatos al controlador, programando la DMA. 5. Bloqueo en espera de la interrupción de E/S. 6. Comprobación del estado de la operación cuando llega la interrupción. 7. Gestionar los errores, si existen, y resolverlos si es posible. 8. Indicación del estado de terminación al nivel superior del sistema de E/S.
  • 32.
    32 32 /53 /53 Clasificación deDiscos • Pueden ser según la interfaz de su controlador: – Dispositivos SCSI (Small Computer System Interface). – Dispositivos IDE (Integrated Drive Electronics). • Según su tecnología de fabricación: – Discos duros (Winchester). – Discos ópticos. – Discos extraíbles. • Independientemente del tipo al que pertenezcan, las estructuras física y lógica de todos los discos son muy similares, como se muestra a continuación.
  • 33.
    33 33 /53 /53 SCSI eIDE IDE - Integrated Drive Electronics (Electrónica Integrada de Unidad). • Reúne 25 a 35 sectores en una pista. • Coloca la unidad y el controlador juntos. • Se conectan directamente en la placa madre. • No se le puede dar mantenimiento mediante programas. • No se puede conectar +2 DD. SCSI – Small Computer System Interface (Interfaz de Sistemas Pequeños de Computo). • Se puede conectar hasta ocho diferentes tipos (Id0 a Id7). • Es el único modo de conectar varios DES consistentemente • Son de > capacidad que los IDE. • Tienen precios altos y se dificulta su instalación. • Cada periférico SCSI tiene inteligencia propia, a diferencia de los puertos serie y paralelo.
  • 34.
    34 34 /53 /53 Característica delos DD • Un DD es un DES de gran capacidad compuesto de superficies magnetizadas y cabezas lectoras. • Las superficies están divididas en cilindros (pistas) y sectores por pista. El tamaño del sector es 512 bytes. • Capacidad del disco: Capacidad = cilindros * pistas * sectores * tamaño sector discos Pistas = tracks sectores
  • 35.
  • 36.
    36 36 /53 /53 Ejemplo dedisco duro Capacidad: Velocidad: T. Búsqueda: Latencia: Memoria: Cilindros: Cabezas: Sectores: 1 7200 RPM 8,5 mseg. 4,16 mseg 2 Mbytes 0.2 GB 1023 256 83 SEAGATE Barracuda ATA II ST330630A Parámetro Valor
  • 37.
    37 37 /53 /53 Estructura lógicade los Discos • Los DD se manejan como vectores grandes de bloques lógicos, siendo el bloque la unidad mínima de transferencia • El vector de bloques lógicos se proyecta sobre los sectores del disco secuencialmente: – Sector 0: primer sector de la primera pista del cilindro más externo – El mapa se hace primero en esa pista, luego en las restantes pistas de ese cilindro y luego en los restantes cilindros • El manejador de disco no sabe nada de la organización de los ficheros, sólo de particiones y bloques. • En el sector 0 se guarda la tabla de particiones. • Particiones activas o de sistema: permiten arrancar desde un sistema operativo.
  • 38.
    38 38 /53 /53 Tabla departiciones de un disco
  • 39.
    39 39 /53 /53 Parámetros deejecución de disco • Para leer o escribir, la cabeza lectora se debe situar en la pista deseada y al comienzo del sector deseado • Tiempo de búsqueda. – Tiempo que toma para colocar la cabeza en la pista deseada. • Tiempo de latencia (retardo de giro). – Tiempo para llegar el inicio del sector a la cabeza lectora • Tiempo de acceso = T_búsqueda + T_latencia – El tiempo para entrar posición para leer o escribir. • Tiempo de transferencia. – Ocurre cuando el sector deseado se mueve debajo de la cabeza. TT_acceso = n * T_búsqueda + T_latencia + T_transferencia
  • 40.
    40 40 /53 /53 Tiempo detransferencia del HD Espera del Dispositivo Espera del Canal Tiempo de Búsqueda Tiempo de Latencia Tiempo de Transferencia
  • 41.
    41 41 /53 /53 Parámetros deejecución de disco • Velocidad de Rotación: Número de vueltas por minuto (RPM) que da el disco. • 3600 rpm = 1 revolución cada 60/3600 segundos • (16,66 milisegundos) • Latencia Promedio 8,33 milisegundos • Tiempo de ½ vuelta -->
  • 42.
  • 43.
    43 43 /53 /53 Planificación dedisco • El SO es responsable de usar el hardware de forma eficiente. • El tiempo de acceso tiene dos componentes principales: – búsqueda: tiempo que tarda el brazo del disco para mover las cabezas hasta el cilindro que contiene el sector deseado – latencia: tiempo de espera adicional para que el disco gire hasta ponerse sobre el sector deseado • Objetivo: minimizar el tiempo de búsqueda, que es directamente proporcional a la distancia de búsqueda • Ancho de banda: bytes transferidos / tiempo de transferencia
  • 44.
    44 44 /53 /53 Algoritmos dePlanificación • Variados: FIFO, SCAN, CSCAN, SSF, EDF, …. • Fundamentales para optimizar el acceso al disco. • Criterios de planificación: – Optimizar el tiempo de búsqueda – Dar servicio determinista • A continuación se estudian varios ejemplos usando la siguiente cola de peticiones: 98, 183, 37, 122, 14, 124, 65, 67 Se asume que las cabezas están en 53
  • 45.
    45 45 /53 /53 FCFS (FIFO) queue= 98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 53 6567 98 122124 183 199
  • 46.
    46 46 /53 /53 Shortest SeekFirst (SSF) • Primero las peticiones que minimizan el movimiento de cabezas desde la posición actual • La política SSTF es una variante de planificación de CPU con Shortest Job First (primero el más corto) • Puede causar inanición de algunas peticiones • Idea: maximizar el ancho de banda del disco • La ilustración siguiente muestra el movimiento total de las cabezas del disco: 236 cilindros
  • 47.
    47 47 /53 /53 SSTF queue =98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 53 6567 98 122 124 183 199
  • 48.
    48 48 /53 /53 Ascensor (SCAN) •El movimiento del brazo empieza siempre en un extremo del disco y continúa hasta el otro. Allí se cambia el sentido y se vuelve el otro extremo • Idea: evitar desplazamientos atrás y adelante • Problema: puede retrasar mucho el servicio de algunas peticiones si no se insertan adecuadamente dentro de las rodajas • Movimiento total de cabezas en el ejemplo: 208 cilindros
  • 49.
    49 49 /53 /53 SCAN queue =98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 536567 98 122 124 183 199
  • 50.
    50 50 /53 /53 Ascensor cíclico(CSCAN) • Variación del ascensor • Las cabezas se mueven de un extremo a otro del disco y luego vuelven al principio • No se atienden peticiones mientras las cabezas vuelven a la posición inicial • Tiempo de espera más uniforme que el ascensor normal • Trata los cilindros como una lista circular que enlaza el último cilindro con el primero • El número es engañoso. Ir del último al primero se hace en un único movimiento y tarda muy poco • Se usa frecuentemente
  • 51.
    51 51 /53 /53 C-SCAN queue =98, 183, 37, 122, 14, 124, 65, 67 head starts at 53 0 1 4 37 53 6567 98 122 124 183 199
  • 52.
    52 52 /53 /53 Selección deun Algoritmo de Planificación • SSF es frecuente y parece el más natural • SCAN y C-SCAN tienen mejor rendimiento para sistemas que usan mucho el disco • El rendimiento depende del número y el tipo de peticiones • Las peticiones al disco pueden depender de la política de asignación de espacio a los ficheros • El algoritmo de planificación de disco debe ser escrito como un módulo separado, para que sea fácil de reemplazar. • Algoritmo estándar en casi todos los sistemas: CSCAN