Operaciones de Entrada/Salida
Parte del S.O. Encargada de las de la gestin de los dispositivos de E/S Acta como interfaz entre los usuarios del sistema y los dispositivos de E/S Problemas de la E/S
Operacin asncrona
El salto de velocidad Conversiones de formato
Sistemas Operativos I
Operaciones de Entrada/Salida
Dispositivo Teclado Ratn Mdem de 56K Velocidad de transferencia de datos 10 bytes / seg. 100 bytes / seg 7 Kb/ seg. Dispositivo Red SONET OC-12 Disco SCSI Ultra 2 Giga bit Ethernet Velocidad de transferencia de datos 78 MB / seg. 80 MB / seg. 125 MB / seg.
Escner
Cmara de video digital 802.11g inalmbrico CD-ROM 52X Fast Ethernet Tarjeta Compact Flash FireWire (IEEE 1394) USB 2.0 2
400 Kb / seg.
3.5 MB / seg. 6.75 MB / seg. 7.8 MB / seg. 12.5 MB / seg. 40 MB / seg. 50 MB / seg. 60 MB / seg.
300 MB / seg.
320 MB / seg. 528 MB / seg.
Sistemas Operativos I
Operaciones de Entrada/Salida
Conexiones de dispositivos externos Firewire 400: 50 MB/s Conexiones para tarjetas de expansin PCI Express 1.x (x1): 250 MB/s PCI Express 2.0 (x1): 500 MB/s PCI Express 3.0 (x1): 1000 MB/s PCI Express 1.x (x8): 2000 MB/s PCI Express 2 (x8): 4000 MB/s PCI Express 3 (x8): 8000 MB/s PCI Express 1.x (x16): 4000 MB/s PCI Express 2 (x16): 8000 MB/s PCI Express 3 (x16): 16000 MB/s
Sistemas Operativos I
Operaciones de Entrada/Salida
Conexiones de almacenamiento
interno ATA: 100 MB/s (UltraDMA 5) PATA: 133 MB/s (UltraDMA 6)
Sistemas Operativos I
Operaciones de Entrada/Salida
Procesador CPU Memoria Banco 0 Memoria Banco n 1
Terminal 5
Impresora
Unidades de disco
Unidad II Estructura del sistema
Sistemas Operativos I
Operaciones de Entrada/Salida
Bus del sistema
Lgica de direcciones y bus drivers Conjunto de registros de datos, ordenes y estado Condiciones de seal y parte del controlador especfico del dispositivo
Sistemas Operativos I
Operaciones de Entrada/Salida
Controlador genrico del dispositivo
Proporciona una abstraccin uniforme de los dispositivos de E/S a los programadores de sistemas. En particular hace que cada dispositivo tenga la apariencia de un conjunto de registros dedicados.
Convencin :
de de de de
datos de entrada (memoria intermedia) datos de salida (memoria intermedia) estado rdenes
Unidad II Estructura del sistema
Sistemas Operativos I
Operaciones de Entrada/Salida
Registros de datos de entrada (memoria intermedia) La funcin principal es guardar un dato hasta que la CPU est preparada para aceptarlo Dada la naturaleza TRANSITORIA de los sucesos de E/S, puede que el dato de entrada no est presente o vlido ms all del tiempo que la CPU tarda en estar preparada para recibir los datos.
Para soslayar este problema los controladores de E/S contienen uno o ms registros de memoria intermedia que guardan el dato en el trnsito hasta que sus destinos estn listos para aceptar los datos. Sobre todo en sistema de multiprogramacin. Registros de datos de salida (memoria intermedia) Idem (anterior)
Sistemas Operativos I
Operaciones de Entrada/Salida
Registros de rdenes Estn encargados de las transferencias de rdenes de E/S entre una CPU y un dispositivo de E/S La CPU selecciona una operacin en particular de un conjunto fijo y especfico del dispositivo correspondiente en el registro de rdenes. El dispositivo no enva rdenes a la CPU ; solo indica su estado actual, al que accesa la CPU mediante los registros de estado del puerto. Las rdenes para un dispositivo especfico son : Ordenes de designacin de modo Seleccionan un modo particular de operacin entrada o salida
Sistemas Operativos I
Operaciones de Entrada/Salida
Ordenes operacionales de E/S, estas gobiernan el tiempo y los mecanismos de las transferencias de los datos reales. Estas rdenes provocan acciones de control especficas del dispositivo Habilitar transmisin Inhabilitar transmisin Bsqueda
Lectura
Escritura Registros de estado Se usan para proporcionar informacin a la CPU del estado del dispositivo de E/S. Incluyen informacin tales como :
10
Sistemas Operativos I
Operaciones de Entrada/Salida
Memoria intermedia vaca Memoria intermedia llena Indicaciones de error
Los registros de estado estn implementados normalmente como una coleccin de bits de solo lectura cada uno asociado con una condicin
11
Sistemas Operativos I
Operaciones de Entrada/Salida
Ejemplos de puertos de E/S
USART (Transmisor/Receptor Sncrono/Asncrono Universal) Es un dispositivo que se usa comnmente para implementar puertos serie PIT (Temporizador programable de intervalos) Contienen uno o ms temporizadores programables contadores de intervalos, son capaces de contar pulsos externos y generar una seal de salida de forma y duracin programable.
12
Sistemas Operativos I
Operaciones de Entrada/Salida
Interrupcin
Es un evento que altera la secuencia en que el procesador ejecuta las instrucciones, este hecho, es generado por el hardware del procesador
Una interrupcin debe ser especficamente iniciada por un proceso en estado de ejecucin, o puede ser iniciada por un evento que puede estar o no relacionado con dicho evento.
13
Sistemas Operativos I
Operaciones de Entrada/Salida
Tipos de interrupciones
Interrupciones SVC (llamada al supervisor) Es una peticin generada por el usuario para un servicio particular del sistema, como : La realizacin de E/S La obtencin de ms almacenamiento
Las llamadas SVC ayudan a mantener al S.O. Seguro de los usuarios. Un usuario no puede entrar arbitrariamente al S.O. en lugar de esto, el usuario debe de hacer una peticin de servicio mediante una llamada SVC.
14
Sistemas Operativos I
Operaciones de Entrada/Salida
Interrupciones de Entrada/Salida Son iniciadas por el hardware de E/S. Enva seales a la CPU indicando que el estado de un canal o dispositivo ha cambiado. Estas interrupciones se producen cuando: Se termina una operacin de E/S Se produce un error Un dispositivo queda listo
15
Sistemas Operativos I
Operaciones de Entrada/Salida
Interrupciones de reinicio Ocurren cuando el procesador presiona el botn de reinicio en la consola o cuando llega la instruccin SIGP (Procesador de seales) de reinicio de otro procesador en un sistema multiprocesador Interrupciones de verificacin de programa Son causadas por varios tipos de errores experimentados al ejecutar un proceso tales como : Intento de dividir entre cero. Intento de un usuario de ejecutar una instruccin privilegiada Intento de ejecutar un cdigo de operacin invlido, etc.
16