16/11/15 Arquitectura de Computadores, SO Gestión E/S 2015-2016 Contenido • Introducción l • Caracterización de los dispositivos de E/S Arquitectura del sistema de E/S l l l ARCO 2015 Drivers dispositivo Controladoras Modos de transferencia 2 Gestión E/S 1 16/11/15 Introducció n • • El corazón de una computadora lo constituye la UCP. Pero no serviría de nada sin: – Dispositivos de almacenamiento secundario (discos) y terciario (cintas y sistemas de archivo). – Dispositivos periféricos, que le permitan interactuar con el usuario. • Generalmente están fuera de la computadora y se conectan a ella mediante cables. • Son los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora. ARCO 2015 3 Gestión E/S Estructura de una computadora Dispositivos de salida (impresora, monitor, ...) Dispositivos de entrada (teclado, ratón, lápiz óptico, ...) ARCO 2015 4 Unidad principal (UCP, registros, memoria RAM, entrada/salida ( discos internos, red, ...)) Dispositivos de entrada/salida (discos, cintas, modem, ...) Gestión E/S 2 16/11/15 Clasificación de dispositivos • Todos estos dispositivos de E/S se pueden agrupar en tres grandes grupos: – Periféricos. Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). – Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad e inmediatez se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas y sistemas de archivo). – Dispositivos de comunicaciones. Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los MODEM y las tarjetas de interfaz a la red. ARCO 2015 5 Gestión E/S Velocidad de los dispositivos • • El gran problema de todos estos dispositivos de E/S es que son muy lentos. – La UCP procesa instrucciones a casi 1 GHz y la memoria RAM tiene un tiempo de acceso de nanosegundos – Los dispositivos de E/S más rápidos tienen una velocidad de acceso del orden de milisegundos. – Esta diferencia en la velocidad de acceso, y el hecho de que las aplicaciones son cada vez más interactivas y necesitan más E/S, hace que los sistemas de E/S sean el cuello de botella más importante de los sistemas de computación y que todos los sistemas operativos dediquen un gran esfuerzo a desarrollar y optimizar todos los mecanismos de E/S. La figura siguiente muestra la jerarquía del sistema de E/S en función de su velocidad de transferencia ARCO 2015 6 Gestión E/S 3 16/11/15 Jerarquía del almacenamiento Registros Memoria RAM Almacenamiento secundario Almacenamiento terciario ARCO 2015 10-60 nsegundos 20-70 msegundos 150-500 msegundos 7 Gestión E/S Funciones del sistema de E/S • • Parte del sistema operativo que se oc upa de facilitar el manej o de los dispositivos de E/S ofreciendo una visión l ógica simplificada de los mismos que pueda ser usada por otros componentes del sistema operativo (como el sistema de archivos) o incluso por el usuario. El sistema operativo debe controlar el funcionami ento de t odos los dispositivos de E/S para alcanzar los siguientes objetivos: – – – – Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar. Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones dónde sea necesario. Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivo físico sin que sea necesario remodelar el sistema de E/S del sistema operativo. Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug&play. ARCO 2015 8 Gestión E/S 4 16/11/15 Visión del sistema de E/S • La visión del sistema de E/S puede ser muy distinta dependiendo del nivel de detalle necesario en su estudio. – Para los programadores, el sistema de E/S es una caja negra que lee y escribe datos en dispositivos externos a través de una funcionalidad bien definida. – Para los fabricantes de dispositivos, un dispositivo es un instrumento muy complejo que incluye cientos o miles de componentes electrónicos o electromecánicos. – Los diseñadores de sistemas operativos se encuentran en un lugar intermedio entre los dos anteriores.: • • Les interesa la funcionalidad del dispositivo, aunque a un nivel de detalle mucho más grande que la funcionalidad que espera el programador de aplicaciones. También les interesa conocer la interfaz física de los dispositivos y su comportamiento interno para poder optimizar los métodos de acceso a los mismos. ARCO 2015 9 Gestión E/S Conexión de dispositivos a una computadora CPU Mem oria Controlador gráfico Bus del sistem a Controlador de disco Bus de expansión estado c ontrol datos … ARCO 2015 10 Gestión E/S 5 16/11/15 Conexión de dispositivos del sistema de E/S • En el modelo de un periférico se distinguen dos elementos: – Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad central de proceso a través de las unidades de entrada/salida. § Son el componente mecánico que se conecta al computador. – Controladores de dispositivos o unidades de E/S. Se encargan de hacer la transferencia de información entre la memoria principal y los periféricos. § § ARCO 2015 Son el componente electrónico a través del cual se conecta el dispositivo de E/S. Tienen una conexión al bus de la computadora y otra para el dispositivo (generalmente mediante cables internos o externos). 11 Gestión E/S Controladores • Los controladores son muy variados, casi tanto como los dispositivos de E/S. – – • • Muchos de ellos, como los de disco, pueden controlar múltiples dispositivos. Otros, como los de canales de E/S, incluyen su propia UCP y bus para controlar la E/S por programa y evitar interrupciones en la UCP de la computadora. En los últimos años ha existido un esfuerzo importante de estandarización de los dispositivos, lo que permite usar un mismo controlador para dispositivos de distintos fabricantes ( ejemplo: SCSI, Small Computer System Interface, o IDE, Integrated Drive Electronics). El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la UCP. – – – Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros del controlador.(ver tra. 14) Las características del controlador son muy importantes, ya que definen el aspecto del periférico para el sistema operativo. Fundamental: Dirección de E/S, Unidad de transferencia e Interacción computadoracontrolador. ARCO 2015 12 Gestión E/S 6 16/11/15 Sistema de E/S Copia en memoria del usuario Proceso de usuario Software SW de E/S independiente de los dispositivos (SF) Copia en el sistema operativo Manejadores de dispositivos (drivers) Manejadores de interrupciones Controladores Copia en el controlador Dispositivos Bloque del Gestión E/S dispositivo Hardware ARCO 2015 13 Capas del software de E/S y flujo de una operación Pr o c e s o de usuario Aplicación Subsistem a o DLL Modo usuario Modo núcleo Servicios Gestor de archivos SW d e E/S independient e de disposit ivo Gestor de bloques Gestor de cache SW d e E/S independient e de disposit ivo Manejador de interrupción Software Hardware ARCO 2015 Copia en el sistema operativo Manejador de dispositivo SW d e E/S dependient e de disposit ivo Dispositivo (disco) Copia en memoria del usuario Controlador Copia en el controlador Bloque del dispositivo 14 Gestión E/S 7 16/11/15 Capas del sistema de E/S Unix Interfa z d el Sistema Op era tivo Sistema s d e Arc hivos NFTS HPFS FAT CD-ROM ... Gestión ddee R Red edes es Gestión (IPX/SPX, NETBEUI, TCP/IP, ... ) Gestor d e Bloq ues Gestor d e Ca c he Ma neja d ores d e Disp ositivos (CD-ROM, cinta, disco, puerto, ... ) Controla d ores d e d isp ositivo ARCO 2015 15 Gestión E/S Flujo de una Operación de E/S Software que ejecuta el usuario Respuesta/ desbloqueo Software que ejecuta el usuario Servidor de archivos Petición / bloqueo Respuesta Servidor de archivos Driver Petición Respuesta Driver Manejador de interrupción Programación del controlador Interrupción Controlador de dispositivo Controlador de dispositivo Inicio de la transferencia Fin de la transferencia Dispositivo periférico Dispositivo periférico Transferencia ARCO 2015 16 Gestión E/S 8 16/11/15 Operaciones en un manejador/driver Peticiones de E/S del dispositivo Extraer petición E/S de la lista Traducir a formato del controlador Contestación a la petición Preparar respuesta de error Si Enviar mandatos al controlador Operaciones sobre datos No Error Programación del controlador Bloqueo Leer registros estado del controlador No Si Esperar interrupción ARCO 2015 17 Interrupción Gestión E/S Conexión por puerto o memoria • • Para empezar una operación de E/S, la UCP tiene que escribir sobre los registros anteriores los datos de la operación a través de una dirección de E/S o de memoria asignada únicamente al controlador. El modelo de dispositivos por puertos es clásico en las arquitecturas de Intel. – – – • Cuando se instala un dispositivo, a su controlador se le asigna un puerto de E/S, una interrupción hardware y un vector de interrupción. Una operación de E/S la UCP ejecuta operaciones portin o portout con la dirección de puerto del dispositivo y con parámetros para indicar que registro se quiere manipular. Problema de este tipo de direccionamiento es que exige conocer las direcciones de E/S y programar las instrucciones especiales de E/S, lo que es significativamente distinto del modelo de memoria de la computadora. El modelo proyectado en memoria asigna a cada dispositivo de E/S un rango de direcciones de memoria a través de las cuáles se escribe sobre los registros del controlador. – – – No hay instrucciones específicas de E/S, sino que las operaciones se llevan a cabo usando mediante instrucciones máquina de manejo de memoria. Mapa único de direcciones de memoria. Se reserva una zona de memoria física para asignar las direcciones de E/S. ARCO 2015 18 Gestión E/S 9 16/11/15 Direcciones de E/S de controladores ARCO 2015 19 Gestión E/S E/S programada • • • • • • La transferencia de información entre un periférico y el procesador se realiza mediante la ejecución de una instrucción de E/S. El procesador es el responsable de extraer o enviar datos entre la memoria y el controlador de dispositivo -> el procesador tiene que esperar mientras se realiza la transferencia. Muestreo periódico de los dispositivos -> Determina el estado del dispositivo: – Listo, ocupado, error – Ciclo de espera activa para esperar del dispositivo de E/S Ventaja: no hay gasto de tiempo de gestión de interrupción. Desventaja: Consume mucha CPU para dispositivos poco usados Aplicación: – Hardware sin interrupciones – Programas de control de canales de E/S ARCO 2015 20 Gestión E/S 10 16/11/15 E/S por Interrupciones • • • • • El procesador envía la orden de E/S al c ontrolador de dispositivo y no espera, se dedica a otras tar eas hasta que llega una i nterrupción del dispositivo que indica que se ha realizado la operación solicitada. Líneas de petición de interrupción de la CPU activadas por los dispositivos El gestor de interrupciones recibe y maneja la interrupción: – Enmascarables para ignorar o retrasar interrupciones – El vector de interrupción tiene las direcciones de memoria de los manejadores de interrupción – Se procesan según distintas políticas: • Prioridad, FIFO, etc. Algunas no se pueden enmascarar (NMI). Ejemplo: reset. Los mecanismos de interrupción se usan también para excepciones. Ejemplo: instrucción errónea. ARCO 2015 21 Gestión E/S E/S por Interrupciones CPU 1 Ma neja d or d e d isp ositivo em p ieza E/S 2 Em p ieza la E/S Ejec uc ión en CPU Com p rrob a r interrup c iones entre instruc c iones 7 Interrup c ión a CPU, c ed e c ontrol a l m a neja d or Controlador E/S 3 4 Op era c ión c om p leta o error g enera una seña l d e interrup c ión 5 Proc eso d a tos en m a neja d or int, vuelta d e int 6 La CPU reinic a, la ta rea l interrum p id a ARCO 2015 22 Gestión E/S 11 16/11/15 Rutina de tratamiento de interrupción • Las rutinas de interrupción suelen tener dos partes: § • una genérica y otra particular para el dispositivo. La parte genérica hace los siguiente: § § § § § § § ARCO 2015 Captura de la interrupción. Salvaguarda de estado del procesador. Activación de la rutina de manejo de la interrupción. Indicar al planificador que debe poner lista para ejecutar la rutina particular. Desactivación de la interrupción. Restauración del estado del procesador. Cesión de control (RETI). 23 Gestión E/S Interrupciones que usan algunos controladores ARCO 2015 24 Gestión E/S 12 16/11/15 Acceso Directo a Memoria (DMA) • • • Se usa para evitar la E/S programada de grandes bloques de datos Necesita un controlador con DMA Evita el uso de la CPU transfiriendo los datos directamente entre los dispositivos de E/S y la memoria – del usuario – del núcleo • Básico para aprovechar la CPU en un sistema multiprogramado, ya que libera tiempo de la CPU que se puede usar para ejecutar otros programas. ARCO 2015 25 Gestión E/S Pasos operación Lectura de DMA 1.-Programación de la operación de E/S. Se indica al controlador la operación, los datos a transferir y la dirección de memoria sobre la que se efectuará la operación. 2.-El controlador contesta aceptando la petición de E/S. 3.-El controlador le ordena al dispositivo que lea (para operación lect ura) una cierta c antidad de datos desde una posición determi nada del dispositivo a su memoria interna. 4.-Cuando los datos están listos, el control ador los copia a la posición de memoria que tiene en sus registros, increment a dicha posición de de memoria y decrementa el contador de datos pendientes de transferir. 5.-Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer. 6.-Cuando el registro de contador est a a cero, el control ador interrumpe a la UCP para indicar que la operación de DMA ha terminado. ARCO 2015 26 Gestión E/S 13 16/11/15 Memoria Sistema de DMA Contador Bus del sistema Contador Registro de datos Pe tic ió n DMA (c o n ta d o r, d ire c c ió n, d a to s) Ac e p ta c ió n DMA In te rrup c ió n Op e ra c ió n (L/E) Disco Dirección Lógica de control Controlador UCP ARCO 2015 27 Gestión E/S Pasos de la E/S por DMA 5. El co ntrola do r po r DMA transfiere l os bytes al buffer X, increm entando dirección m em o ria y decrem entando C hasta que C = 0 6. C uando C = 0, el D MA interrum pe a la C P U pa ra indicar fin de transferencia 1. Orden a l co ntro la do r de dispo si tivo para m over da to s del disco al buffer con direcció n X 2. El m aneja do r dice al co ntro la do r de disco que tra nsfi era C bytes del disco al buffer X DMA/bus/interrupc. controlador CPU cache Bus CPU-memoria x memoria buffer Bus E/S controlador de disco ARCO 2015 disco disco disco disco 3. El co ntrola do r de di sco er inicia transferencia de D MA 4. El co ntrola do r de disco env ía cada al co ntro la do r de DMA 28 Gestión E/S 14 16/11/15 Procesadores de E/S • El PE/S es el controlador de E/S convertido en procesador con un conjunto de instrucciones especializadas en operaciones de E/S, lo que le da un control completo sobre dicha operación • En los computadores que incluyen PE/S, la UCP no ejecuta las instrucciones de E/S, éstas se almacenan en memoria principal para ser ejecutadas por un PE/S. Así la UCP inicia una transferencia de E/S al dar una orden al PE/S para que ejecute un programa en memoria ARCO 2015 29 Gestión E/S 15