1. Sistemas Operativos
Sistema de E / S
Sistemas Operativos Profesor:
Your picture here
Ciclo 2012-1 Diaz Muñante Jorge
Administración de dispositivos E/ S
Introduccion I/O estructurado en capas
Funciones para la gestión de dispositivos: controlar los
dispositivos de E/S
– Enviar comandos a los dispositivos Kernel
– Capturar interrupciones
– Tratar errores Software Subsistema de I/O
– Proporcionar un interfaz entre los dispositivos y el resto del
sistema Driver de Driver de driver
……...
• Simple y Fácil de utilizar Teclado Raton IDE
• Idéntico para todos los dispositivos Contr de Contr de Contr
……...
Teclado Raton IDE
Hardware Teclado Raton ……... Disco
Ejemplo de una operación de E/S Hardware de Entrada/Salida
Categorías de dispositivos de E/S
– Dispositivos de bloques: discos, cintas, DVD
Proceso de usuario abcedefghi…. • Comandos incluidos : open(), read(), write(), seek()
ch= fgetc(f);
– Dispositivos de caracteres: impresoras, teclado, puertos seriales
• Comandos incluidos: get(), put()
Administrador de Archivos Administrador Administrador – Dispositivos de red: Ethernet, Wireless, Bluetooth
READ dvd, pos, tamde Memoria de Red
• Diferente a los anteriores
TASK_REPLY
• Unix y Windows incluye interfaz socket
• Incluye: select()
Tarea DVD Tarea HD Tarea del Sistema
• Uso: pipes, FIFOs, streams, queues, mailboxes
DVD DISK_READ DVD0, bloque…
Dispositivo de E/S
– Parte electrónica controladora o adaptador
El SO dialoga con ella
SSI DVD Núcleo
– Parte mecánica: dispositivo en sí
Controlador
Diaz Muñante Jorge 1
2. Sistemas Operativos
Drivers de dispositivos Funcionamiento basico de un driver
Contienen todo el código dependiente del dispositivo Aceptar petición del SW independiente del dispositivo
Habrá un driver por cada tipo de dispositivo a manejar Si el driver está ocioso, se sirve la petición inmediatamente
Encargados de leer y escribir en los registros de las controladoras ⇒
• Decidir qué operaciones de la controladora se tienen que
deben conocerlos
realizar y en qué secuencia
• Escribir comandos en los registros de la controladora
para que realice dichas operaciones
• Tras enviar cada comando, el driver se bloquea
esperando que termine la realización del comando
(operación lenta)
Funcionamiento basico de un driver Comunicación entre el SO y la controladora
Si no lo está, se coloca la petición en una cola de peticiones pendientes Proceso
(seguirá una política)
API Aplicacion
– Finalizado el servicio de la petición
Administrador
• El driver comprueba los errores Archivos
• Devuelve los resultados e información de estado a su
llamador
Driver
• Selecciona la siguiente petición pendiente (si existe) dispositivo
Interface Hardware
Comando Estado Datos
Controlador dispositivo
Resto de SO Resto de SO
File System SO no necesita
(puede estar dividido por (puede estar dividido por
conocer de un dispositivo
categorias: tarjetas de video, categorias: tarjetas de video,
especifico
teclado, raton, etc.) teclado, raton, etc.)
70% del codigo del linux
Hace mas facil la vida al SO
Drivers dispositivos Drivers dispositivos 120,000 driver para XP
85% de las fallas del XP
Millones de dispositivos Millones de dispositivos
Diaz Muñante Jorge 2
3. Sistemas Operativos
Discos duros Discos
–Lectura de un sector : 10ms + 8ms + 50us ~= 18ms
Sector
Pista
Cabeza Lectura / escritura
Vista de lado Cilindro
Western Digital Drive Cabezales de
http://www.storagereview.com/guide/ lectura/escritura
Rotación
IBM/Hitachi Microdrive 3600 r.p.m.
Estructura del disco Planificación del disco
Son conectados al computador via I/O bus
Garantizar un tiempo de acceso rapido.
– Varian: EIDE, ATA, SATA, USB, Fibre Channel, SCSI
Superficie del disco esta cubierto de material magnético.
Tiempo para leer un sector tiene 03 partes
Tracks. Anillos concentricos alrededor de la superficie del disco. Cada “Tiempo de busqueda” el tiempo que demora el brazo
track se divide en sectores. del disco en moverse a la cabeza del cilindro que
Sector 0 es el primer sector de la primera pista o track. contiene el sector deseado.
Cilindro - tracks correspondiente en cada supeficie. “Latencia Rotacional” el tiempo que el disco rota hasta
posicionarse el sector deseado debajo del cabezal.
Tiempo de transferencia de los datos.
Minimizar el tiempo de busqueda
Tiempo de lectura a disco Algoritmos de planificación
Leer un bloque x
bloque x en memoria FCFS
Disco SSTF
Tiempo acceso disco =
Cabezal
Scan
Tiempo de busqueda
C-Scan
+ Tiempo rotacional
Look
+ Tiempo transferencia
Brazo disco
C-look
Diaz Muñante Jorge 3
4. Sistemas Operativos
FCFS FCFS
Cola=(98,183,37,122,14,124,65,67)
Cabezal empieza 53
El más sencillo y menos eficiente
0 14 37 53 65 67 98 122 124 183 199
Atiende las peticiones por orden de
llegada
El cabezal se mueve por un total de 640
cilindros
Total movimiento
640 cil.
SSTF SSTF
Cola=(98,183,37,122,14,124,65,67)
Selecciona la petición con menor tiempo de búsqueda desde la posición Cabezal empieza 53
actual
Favorece las peticiones a cilindros intermedios 0 14 37 53 65 67 98 122 124 183 199
Puede producir bloqueo de algún proceso por hambruna
(starvation)
El cabezal se mueve por un total de 236 cilindros
0
Scan SCAN
Cola=(98,183,37,122,14,124,65,67)
Cabezal empieza 53
El brazo se mueve solamente en una
dirección resolviendo todas las peticiones 0 14 37 53 65 67 98 122 124 183 199
pendientes hasta que encuentre la última
pista o no existan mas peticiones en esa
dirección.
Se cambia entonces el sentido de movimiento
Desgasta la mecánica del disco
Diaz Muñante Jorge 4
5. Sistemas Operativos
C-SCAN CSCAN
Cola=(98,183,37,122,14,124,65,67)
Se restringe la búsqueda en una dirección Cabezal empieza 53
Cuando se alcanza la última pista el brazo retorna al extremo opuesto del
0 14 37 53 65 67 98 122 124 183 199
disco y comienza a recorrerlo de nuevo.
CLOOK Ejercicio
Cola=(98,183,37,122,14,124,65,67)
Cabezal empieza 53
Hay diez peticiones de operaciones de E/S. Su orden de llegada y
0 14 37 53 65 67 98 122 124 183 199 expresado en cilindro son: 78, 72, 24, 56, 33, 78, 12, 72, 78, 25. Obtener el
número total de cilindros recorridos según FCFS, SSTF. El disco tiene 85
cilindros (numerados del 0 al 84) y que actualmente la cabeza se
encuentra en el cilindro 40. (NOTA: Cuando lo estime necesario, suponga
que inicialmente la cabeza se desplaza hacia los cilindros de número
creciente.)
Selección de un Algoritmo de Planificación del Disco Disponibilidad del disco
SSTF es el mas común. Los discos son el HW menos confiables.
SCAN y C-SCAN se desempeñan mejor en sistemas con alta carga del Frena la velocidad de procesamientos con los avances tecnologicos.
disco.
– Velocidad de procesadores se duplica cada 2
Performance depende del numero y tipos de requerimientos.
años.
El algoritmo de planificación del disco son escritos como módulos
separados del SO, permitiendo ser reemplazados por otro si es – No obstante, el ancho de banda del I/O ha variado
necesario.
muy poco.
– Solución: en lugar de un disco grande, usar
muchos discos chicos en paralelo. RAID o Arreglo
de discos
Diaz Muñante Jorge 5
6. Sistemas Operativos
Solucion: Explotar el paralelismo Beneficio de la perfomance
Stripe cada bloque lógico se compone de varios sectores físicos, cada Lectura secuencial o escribir un archivo grandes
uno en un disco distinto.
– una aplicación lee en multiplos de S bytes
– el controlador desarrolla acceso paralelo de N
S S S discos.
s0,0 s0,1 s0,2 • • •s0,N-1 s1,0 s1,1 s1,2 • • • s1,N-1 s2,0 s2,1 s2,2 • • • s2,N-1 ••••• – Aumento del ancho de banda es N veces el de un
disco individual
Disk 0 Disk 1 Disk 2 Disk N-1 • (asumiendo que el disco es el cuello de botella)
S0,0 S0,1 S0,2 • • • S0,N-1
S1,0 S1,1 S1,2 • • • S1,N-1
S2,0 S2,1 S2,2 • • • S2,N-1
• • •
• • •
• • •
• • •
Beneficio de la perfomance Cache de bloques
Fundamento:
– Proximidad espacial
Disk 0 Disk 1 Disk 2 • • • Disk N-1
– Proximidad temporal
x MB/s x MB/s x MB/s x MB/s – Dos clases de flujos de E/S:
S S k,1 S
k,0 k,2 S • Usan una sola vez cada bloque
k,N-1
• Usan repetidamente los bloques
Controlador
– Acceso a disco mucho más lento que el acceso a
Nx MB/s
memoria
Sk
Cache de bloques (II) Flujo datos con cache de bloques
Estructura de datos en memoria con los bloques más frecuentemente utilizado read (fd, buffer, tamaño)
– Lecturas adelantadas Usuario buffer
– Limpieza de la cache (sync) tamaño
Principal problema: fiabilidad del sistema de archivos. archivo lógico
(VFS)
archivo lógico bloques del
(FFS) 3 4 5 6
archivo
Bloques lógicos
1756 bloques del
Proceso Proceso (Servidor 1340 840 8322
dispositivo
de bloques)
Cache de bloques
(Servidor 1340 840 1756 8322
de bloques)
Cache
1756
bloques del
Cache Manejador de disco
disco y
dispositivo
Disco Disco 8322
Diaz Muñante Jorge 6
7. Sistemas Operativos
Políticas de reemplazo Políticas de escritura
Algoritmo: Escritura inmediata (write-through): se escribe cada vez que se modifica el bloque.
– Comprobar si el bloque a leer está en la cache. – No hay problema de fiabilidad, pero se reduce el rendimiento del sistema.
Escritura diferida (write-back): sólo se escriben los datos a disco cuando se eligen para su
• En caso de que no esté, se lee del dispositivo y se copia a la cache. reemplazo por falta de espacio en la cache.
• Si la cache está llena, es necesario hacer hueco para el nuevo – Optimiza el rendimiento, pero genera los problemas de fiabilidad anteriormente descritos.
bloque reemplazando uno de los existentes: políticas de Escritura retrasada (delayed-write), que consiste en escribir a disco los bloques de datos
reemplazo. modificados en la cache de forma periódica cada cierto tiempo (30 segundos en UNIX).
• Si el bloque ha sido escrito (sucio): política de escritura. – Compromiso entre rendimiento y fiabilidad.
– Reduce la extensión de los posibles daños por pérdida de datos.
Políticas de reemplazo: FIFO (First in First Out), segunda oportunidad, MRU
(Most Recently Used), LRU (Least Recently Used), etc. – Los bloques especiales se escriben inmediatamente al disco.
– La política de reemplazo más frecuentemente usada es la LRU. Esta política reemplaza – No se puede quitar un disco del sistema sin antes volcar los datos de la cache.
el bloque que lleva más tiempo sin ser usado, asumiendo que no será referenciado Escritura al cierre (write-on-close): cuando se cierra un archivo, se vuelcan al disco los
próximamente. bloques del mismo que tienen datos actualizados.
– Los bloques más usados tienden a estar siempre en la cache y, por tanto, no van al
disco. La utilización estricta de esta política puede crear problemas de fiabilidad en el
sistema de archivos si el computador falla.
– La mayoría de los servidores de archivos distinguen entre bloques especiales y
bloques de datos.
USB Relojes
Buses series empleados para conectar “en caliente” perifericos externos No son de caracteres ni bloques
(discos duros, impresoras, grabadoras de discos opticos, etc.) Hay 02 tipos
Incorporan lineas de potencia, lo que permite conectar muchos
dispositivos sin que esto incluyan una fuente de alimentacion – Alimentan con la red electrica y generan
Admiten distancia de 5 a 100 metros. interrupciones periodicas
– Cristal de cuarzo. Son programables
Software para los relojes Terminales
De acuerdo a las interrupciones se comportan los relojes. Permite despliegue y captura de datos
Funciones Tipos
– Control de tiempo de ejecución por proceso. – Seriales (norma RS-232)
– Mantención de la hora del dia. – Mapeados a memoria
– Realizar monitoreo del sistema. Seriales, se comunican con el computador a traves de una interfaz serial.
Sus velocidades van desde 1,200 a 19,200 bps
– Manejo de alarmas.
Diaz Muñante Jorge 7
8. Sistemas Operativos
Terminales ..
Mapeados a memoria
–la comunicación es a traves de una
memoria, llamada memoria de video.
–Por lo general el mapeado es realizado a
traves de una interfaz paralela.
Diaz Muñante Jorge 8