SlideShare una empresa de Scribd logo
SISTEMAS OPERATIVOS UTPL SISTEMAS DE  ENTRADA/ SALIDA
SISTEMAS DE  ENTRADA/SALIDA   Generalidades de los Sistemas de E/S Hardware de E/S Subsistema de E/S Técnicas de E/S
GENERALIDADES DE LOS SISTEMAS DE E/S Las operaciones de E/S y el procesamiento son las dos tareas principales de un computador. Para los diseñadores de SO, el control de los dispositivos conectados a la computadora es de primordial interés, debido a que cada dispositivo cambia sus funciones y velocidad por lo cual se requiere variedad de métodos para controlarlos.  Estos  métodos de E/S  forman el  subsistema de E/S  del kernel, el cual aisla al resto del kernel de la complejidad de la administración de los dispositivos de E/S.
GENERALIDADES DE LOS SISTEMAS DE E/S La tecnología de E/S exhibe dos tendencias que están en conflicto: Creciente estandarización de las interfases de SW y HW con los cual se ayuda a incorporar en las computadoras y SO  generaciones mejoradas de dispositivos. Nuevos dispositivos que son tan diferentes  los anteriores que se son difíciles de incorporar en las computadoras y SO; por lo que se convierte en un reto  esta incorporación a través de combinación de técnicas de HW y SW. Los detalles y peculiaridades de los diferentes dispositivos se encapsulan en módulos de  manejadores de dispositivos  (interfaz uniforme de acceso a dispositivos con el subsistema de E/S).   Para lo cual se estructura al kernel del sistema operativo para que use estos módulos.
GENERALIDADES DE LOS SISTEMAS DE E/S Los detalles y peculiaridades de los diferentes dispositivos se encapsulan en módulos de  manejadores de dispositivos  (interfaz uniforme de acceso a dispositivos con el subsistema de E/S).   Para lo cual se estructura al kernel del sistema operativo para que use estos módulos.
OBJETIVOS DEL SISTEMA DE E/S Proporcionar una interfaz uniforme para el acceso a los dispositivos (independencia del dispositivo) ‏ . Proporcionar manejadores (drivers) para los dispositivos concretos. Tratar automáticamente los errores más típicos. Para los dispositivos de almacenamiento, utilizar cachés. Para los discos, planificar de forma óptima las peticiones.
HARDWARE DE E/S Las computadoras operan muchas clases de dispositivos (almacenamiento, transmisión, interfaz). Un dispositivo se comunica con un sistema de cómputo enviando señales a través de un cable o  incluso  a través de aire.  El dispositivo se comunica con la máquina mediante un punto de conexión llamado  puerto  (puerto serial, usb ). Si uno o más dispositivos utilizan un conjunto de cables, la conexión se denomina  bus.
Estructura Típica de un bus de PC
HARDWARE DE E/S BUS PCI (Peripheral Component Interconnect). Conecta el subsistema de de procesador-memoria  a los dispositivos rápidos. Define las interconecciones y los protocolos de transferencia utilizados por placas que se conecten a al bus ubicado en la placa madre. BUS de Expansión  Conecta los dispositivos relativamente lentos.
HARDWARE DE E/S Un  controlador  es  un conjunto   de componentes electrónicos que pueden operar un puerto, un bus o un dispositivo. Los controladores pueden ser sencillos (controlador de puerto serial) o complejos (controlador de bus SCSI). Los dispositivos de E/S que se conectan al ordenador se clasifican en: BLOQUE:  La información se almacena en bloques, esos bloques son de tamaño fijo. Donde cada bloque tiene una dirección que lo identifica. Se puede leer o escribir en un bloque independiente de los demás.  Por ejemplo : disquete, CD, DVD, disco duro.
HARDWARE DE E/S CARÁCTER :  La información que se  generan o reciben  son flujos de caracteres (no  bloques). Accede a los datos en secuencia: o sea, para acceder a determinados datos, la lectura y escritura se debe hacer seguido de los datos anteriores.  Por ejemplo : teclado, pantalla, ratones. A continuación un cuadro comparativo de diferentes dispositivos:
2000-10000 " " DISCO MAGNETICO 2000 " " CINTA MAGNETICA 1000 " " CD 100 Bloque Almacenamiento FLOPPY 2,0-8,0 " Entrada / salida MODEM 200 " " IMPRESORA  (Láser) ‏ 1,0 " " IMPRESORA (Línea) ‏ 0,6 " Salida VOZ (Salida) ‏ 400 " " SCANNER 0,02 " " MOUSE 0,01 Carácter Entrada TECLADO TASA KB/SEG. CLASIFICACION COMPORTAMIENTO DISPOSITIVO
HARDWARE DE E/S ¿Cómo puede el procesador entregar comandos y datos a un controlador para realizar una transferencia de E/S? El controlador tienen uno o más  registros para datos y señales de control . El procesador  se comunica con el controlador leyendo y escribiendo patrones de bits en estos registros.  Hay dos formas de comunicación: 1.  Mediante el uso de interrupciones especiales de E/S que especifican la transferencia de un byte o palabra a la dirección de un puerto de E/S. 2.  El controlador de dispositivo puede soportar E/S con mapeo en memoria; en este caso los registros de control del dispositivo se mapean en el espacio de direcciones del procesador.
HARDWARE DE E/S Ubicación de puertos de E/S para dispositivos en computadoras compatibles con PC
HARDWARE DE E/S Un puerto de E/S típicamente consta de cuatro regitros: Status:  Comando actual ya se completo, esta disponible un byte para leer en la data-in o habido un error en el dispositivo. Control:  comando. Data-in:  Obtiene entradas.  Data-out:  Envia salidas.
ESCRUTINIO Ejemplo de interacción entre el anfitrión y el controlador Suponemos que se usan  2 bits  para coordinar la relación productor-consumidor (controlador y el anfitrión). El controlador indica su estado mediante el  bit  busy (1)  en el  registro   status.  El controlador prende el  bit  busy  (1) cuando está ocupado trabajando y lo apaga (0) cuando está listo para aceptar el siguiente comando.  El anfitrión señala sus deseos mediante el  bit  command-ready  en el  registro command .  El anfitrión prende el  bit  command-ready  cuando está disponible un comando para que el controlador lo ejecute.
Siguiendo con el ejemplo El anfitrión lee repetidamente el  bit  busy  hasta que dicho  bit  se apaga,  entonces el anfitrión está en espera ocupada o en escrutinio : está en un ciclo, leyendo el registro  status  una y otra vez hasta que el  bit  busy  se apaga. Para que funcione este método, el controlador y el dispositivo deben de ser rápidos o se perderá los datos que se encuentran en el buffer del controlador. Luego el anfitrión prende el  bit write  en el  registro command  y escribre un byte en el  registro data-out El anfitron prende el  bit command-ready Cuando el controlador se da cuenta uqe el  bit commanda-ready  está prendido, prende el  bit busy El controlador lee el registro de comando y ve el comando de  escritura. lee el registro data-out y realiza la operación de E/S. El controlador apaga el bit de command-ready, apaga el bit de error en el registro de estado para indicar que ha tenido éxito la E/S al dispositivo y apaga el bit busy para indicar que ha terminado ESCRUTINIO
El dispositivo debe dar servicio rápidamente o se perderan datos, ya que el pequeño buffer en el controlador tendra un sobreflujo y perderá datos si el anfitrión espera demasiado tiempo antes de regresar a leer los bytes. La operación básica de escrutinio es eficiente; pero se vuelve ineficiente cuando se intenta repetidamente y pocas veces encuentra un dispositivo listo para servicio, mientras que otras actividades útiles de procesamiento permanecen sin realizarse.  En tales casos, es más eficiente hacer que el controlador dle hardware  notifique a la CPU cuando el dispositivo esta listo (Interrupción). ESCRUTINIO
INTERRUPCIONES   Una  interrupción  es el mecanismo que le permite al controlador de hardware notificar a la CPU cuando un dispositivo esta listo para servicio.   El mecanismo básico de interrupción habilita a la CPU para responder a un evento asíncrono, el cual puede ser que el controlador de dispositivo quede listo para dar servicio El hardware de la CPU tiene un cable llamado  línea de solicitud de interrupción  que la CPU revisa después de ejecudar cada instrución.
 
Características para el manejo de interrupciones: - Capacidad para diferir el manejo de interrupciones durante un procesamiento crítico. - Eficiente manejo de interrupciones para un buen desempeño del sistema (evitar hacer escrutinio). - Basado en prioridad. Líneas de solicitud de interrupción CPU: *  Interrupción no mascarable : eventos como errores de memoria no recuperables. *  Inerrupción Mascarable:  pueder ser apagada por la CPU antes de la ejecución de secuencias críticas que no deben ser interrumpidas. Es utilizada por los controladores de dispositivos para solicitar servicio. INTERRUPCIONES
Tabla de vectores del procesador Pentium de Intel
ACCESO DIRECTO A MEMORIA Es costoso utilizar un procesador de propósito general para vigilar los bits de estado y para alimentar datos a un registro de controlados (E/S programada PIO). Muchas computadoras evitan sobrecargas en la CPU principal con el PIO transfiriendo parte de este trabajo a un procesador de propósto especifico denominado  controlador de acceso directo a memoria (DMA). Cuando se quiere iniciar una tranferencia DMA el anfitrión escribe un bloque de comandos DMA en la memoria.  La CPU escribe este bloque en el contralador de la DMA y luego sigue con su trabajo. El controlador de DMA opera directamente el bus de la memoria colocando direcciones para realizar transferencias sin ayuda de la CPU principal. Cuando el controlador DMA se apropia del bus la CPU por momento no puede acceder a memoria principal. Cuando termina la transferencia el controlador de la DMA interumpe a la CPU
Pasos en una transferencia DMA
INTERFAZ DE E/S DE LAS APLICACIONES Examinaremos técnicas de estructuración y las interfaces para el sistema operativo que permiten tratar a los dispositivos de E/S en una forma estándar y uniforme. Problemas complejos de ingeniería de software, esto implica una abstracción, encapsulado y desarrollo de capas de software.
Estructura de E/S del kernel
Aspectos de variación en los dispositivos:  modo de transferencia de datos (flujo de caracteres o bloques) ‏ método de acceso (secuencuencial o aleatoreo) ‏ plan de transferencia (sincronico o asincronico) ‏ compartimiento(compartido o dedicado ) ‏ velocidad de dispositivo,  dirección de E/S (lectura/escritura ) ‏ INTERFAZ DE E/S DE LAS APLICACIONES
Características de los dispositivos de E/S
BLOQUE: La información se almacena en bloques de tamaño fijo y cada bloque tiene su propia dirección. Se puede leer(read), escribir(write) o buscar(seek) en un bloque de forma independiente de los demás, en cualquier momento Acceso secuencial o aleatorio a nivel de bloque. Ejemplos: DVD, discos duros, cintas magnéticas Operaciones: leer, escribir y buscar CARÁCTER La información se transfiere o recive como un flujo de caracteres. Operaciones: obtener (get) y colocar (put) caracteres. Acceso secuencial a nivel de caracteres. Ejemplos: tarjetas de audio, teclados, modems, impresora. Dispositivos de Bloque o Carácter
DISPOSITIVOS DE RED Tiene una interfaz propia, variando de los dispositivos de bloque  y caracter. Interfaz  socket  disponible en varios SO incluyendo UNIX y Windows NT. Permiten crear un socket, conectar uno local a una dirección remota, detectar cuando caulquier aplicación remota se conecta en el local, y enviar y recibir paquetes a través de la conexión. Soporta la implementación de servidores con  select,  eliminando el escrutinio y la espera ocupada.
RELOJES Y TEMPORIZADORES Proporciona:  la hora, tiempo transcurrido y el valor de un temporizador para activar la operación  X  a la hora  T (cronómetro) . El  hardware  para medir el tiempo transcurrido y activar operaciones se denomina  temporizador de intervalos programable  y se lo usa para fijar una cantidad de tiempo y genere una interrupción, realice operaciones periódicas.
SUBSISTEMA DE E/S DEL KERNEL El subsistema de  E/S kernel  ofrece varios servicios relacionados con la E/S  y se apoya en el hardware y en la infraestructura de manejadores de dispositivo. Los servicios que ofrece son: Planificación de E/S Asignación de buffers  Asignación de  caché Spooling Reservación de dispositivos  Manejo de errores.
Planificación de E/S Se debe determinar un orden adecuado para la ejecución de las solicitudes. Rara vez el orden de las llamada al sistema son la mejor opción. La planificación mejora el desempeño global del sistema, así como compartir equitativamente el acceso a dispositivos entre los procesos y reducir el tiempo de espera promedio para la terminación de E/S. Los diseñadores de SO implementan la planificación manteniendo una cola de solicitudes para cada dispositivo. En esta cola el planificador reacomoda la cola para mejorar la eficiencia global del sistemas y el tiempo de respuesta sea más corto. Además el sistema operativo debe ser justo de tal forma que se presente un buen servicio, dando prioridades a las solicitudes sensibles a demora (memoria virtual). Otra forma de mejor la eficiencia es el uso de la memoria principal o disco, mediante el empleo de  buffer, caché y spooling.
Empleo de buffers Buffer:   área de memoria que almacena datos mientras éstos se transfieren entre dos dispositivos o un dispositivo y una aplicación. Razones para el empleo de buffers: 1. Hacer frente a la falta de correspondencia en velocidad entre el productor y el consumidor de un flujo de datos. Ejemplo: la transferencia de datos entre un módem y un disco duro.
 
2. Lograr una adaptación entre dispositivos que tienen diferentes tamaños de transferencia de datos (fragmentación y re-ensamblaje de paquetes en la red). 3. Soportar  semántica de copiado  para E/S de aplicaciones. Empleo de buffers
Empleo de Cachés Caché:  Región de memoria rápida que contiene copias de datos. El acceso a la caché es más eficiente que el acceso a la original. Diferencia entre  buffer y caché  es que el primero puede contener la única copia existente de un elemento de datos y una caché sólo contiene en almacenamiento más rápido una copia de un elemento que reside en alguna otra parte. El empleo de  cachés  y de  buffers  son dos funciones distintas, aunque en ocasiones se puede utilizar una región de memoria para ambos propósitos.
Spooling y reservación de dispositivos Spool:  es un buffer que contiene la salida para un dispositivo, como una impresora, que no puede aceptar flujos de datos entercalados. El  spooling  es una forma en que los SO pueden coordinar la salida concurrente. Reservación de un dispositivo.-  proporciona acceso exclusivo a un dispositivo.
Manejo de Errores El SO hace uso de memoria protegida para resguardar contra muchas clases de errores en el hardware y aplicaciones. Los dispositivos y las transferencias de E/S pueden fallar en muchas formas, ya sea por razones transitorias o permanente. Los SO pueden a menudo compensar eficazmente las fallas transitorias, como por ejemplo una falla al leer (read) el disco da por resultado una nuevo intento de lectura y un error al  enviar (send) datos por la red da por resultado un nuevo envió (resend). Una llamada al sistema de E/S devolverá 1  bit  de información acerca del estado de la llamada, indicando ya sea un éxito o fracaso. El hardware puede proporcionar una información de error con gran detalle, aunque los SO actuales no lo hacen tan detallado.
Manejo de Errores Desafortunadamente, si un componente un componente importante experimenta un fallo, es poco probable que el SO logre recuperarse. Una llamada al sistema de E/S devolverá 1  bit  de información acerca del estado de la llamada, indicando ya sea un éxito o fracaso. El hardware puede proporcionar una información de error con gran detalle, aunque los SO actuales no lo hacen tan detallado.
Estructura de datos del kernel El  Kernel  necesita mantener información de estado acerca del uso de los componentes de E/S lo que realiza mediante tabla de archivos abiertos, conexiones de red, estado de dispositivos de carácter, etc… Algunos SO utilizan métodos orientados a objetos y el paso de mensajes para llevar a cabo la E/S. El subsistema de E/S coordina una extensa colección de servicios, que están disponibles para las aplicaciones y para otras partes del kernel.
Estructura del Kernel de E/S de UNIX
MANEJO DE LAS SOLICITUDES DE E/S Considere que se esta leyendo un archivo desde el disco para un proceso: Determine el dispositivo que pertenece a ese archivo. Descifrar el nombre que representa a ese archivo. Si los datos no están en el buffer, realizar una E/S física. Asignar espacio para recibir datos y planificar E/S. Realizar transferencia de datos Determinar estado de solicitud Retornar el control al proceso.
Ciclo de vida de una solicitud de E/S
Desempeño La actividad de E/S es un factor importante en el desempeño del sistema, por lo que pone de manifiesto cualquier deficiencia en los mecanismos de manejo de interrupciones en el  kernel . Demandas de la CPU para ejecutar código de manejadores de dispositivos ponen en manifiesto cualquier deficiencia en el manejo de interrupciones del Kernel.  Podemos aplicar varios principios para mejorar la eficiencia de E/S: 1.  Reducir el número de conmutaciones de contexto. 2. Reducir el número de datos de copiado. 3. Reducir la frecuencia de las interrupciones. 4. Incrementar la concurrencia. 5. Utilizar DMA. 6. Equilibrar el desempeño de la CPU, el subsistema de memoria, el bus y el sistema de E/S.
Progresión de la funcionalidad de dispositivos

Más contenido relacionado

DOCX
Sistemas de archivos
PDF
Gestión de archivos
PPTX
Estructura del sistema operativo
PPTX
Funciones de administracion de memoria
PPT
Archivo Secuencial
PPT
Estructuras (CAPAS) de un sistema operativo
PDF
Ventajas y desventajas de las bases de datos frente a los archivos
PDF
Unidad de Control
Sistemas de archivos
Gestión de archivos
Estructura del sistema operativo
Funciones de administracion de memoria
Archivo Secuencial
Estructuras (CAPAS) de un sistema operativo
Ventajas y desventajas de las bases de datos frente a los archivos
Unidad de Control

La actualidad más candente (20)

PPTX
Administración de Memoria
DOCX
El régimen jurídico de la información en méxico
PPTX
Sistemas operativos por servicio
PPTX
Fundamentos de las bases de datos
PPTX
Seguridad en Base de Datos
PPSX
Estructura de un sistema operativo
PPTX
Sistemas Operativos I- Algoritmo de QUANTUM
PDF
Gestion entrada y salida
PDF
Sistema de-maquina-virtual
PPTX
Gestion del almacenamiento secundario
PPTX
administracion de entrada, salida y procesos
PPTX
Procesos Ligeros: Hilos o Hebras
 
PPTX
Estructura modular
PPT
Sistemas de Gestión de Bases de datos
PPTX
Servidor de archivos
PPTX
Bases De Datos "Conceptos Basicos"
PPTX
Planeación de los centros de computo
PPTX
Entrada/Salida de Sistemas Operativos
PDF
Antivirus Mcafee
PPTX
Analisis y especificacion de requerimientos
Administración de Memoria
El régimen jurídico de la información en méxico
Sistemas operativos por servicio
Fundamentos de las bases de datos
Seguridad en Base de Datos
Estructura de un sistema operativo
Sistemas Operativos I- Algoritmo de QUANTUM
Gestion entrada y salida
Sistema de-maquina-virtual
Gestion del almacenamiento secundario
administracion de entrada, salida y procesos
Procesos Ligeros: Hilos o Hebras
 
Estructura modular
Sistemas de Gestión de Bases de datos
Servidor de archivos
Bases De Datos "Conceptos Basicos"
Planeación de los centros de computo
Entrada/Salida de Sistemas Operativos
Antivirus Mcafee
Analisis y especificacion de requerimientos
Publicidad

Similar a Sistema E S (20)

PPT
Sistemas de entrada y salida
PPT
Sistema de entrada-salida
PPT
Gestion de Entrada y Salida
PPT
Gestion de Entradas y Salidas
PPTX
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
PPTX
Entrada y Salida de un S.O
PPT
Sistemas Operativos.ppt
DOC
4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_
PPTX
Administracion e s
PPTX
Hardware
PPTX
Periféricos
PPTX
Periféricos
DOCX
Sthefany paez
PPTX
Lenguaje de máquina
PPT
Capitulo 12, 13,_14
PPTX
PDF
Gestión de entradas y salidas
Sistemas de entrada y salida
Sistema de entrada-salida
Gestion de Entrada y Salida
Gestion de Entradas y Salidas
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
Entrada y Salida de un S.O
Sistemas Operativos.ppt
4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_
Administracion e s
Hardware
Periféricos
Periféricos
Sthefany paez
Lenguaje de máquina
Capitulo 12, 13,_14
Gestión de entradas y salidas
Publicidad

Último (20)

PPTX
Presentacion_charlas_Etapa_Productiva_aprendices.pptx
PDF
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
DOC
SESIÓN COMO FUNCIONA EL MERCADO Y SU IMPLICANCIA EN LA ECONOMÍA
PPT
TALLERLIDERAZGO.ppt Competencias Gerenciales
PPTX
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
PPTX
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
PDF
UP digital strategy v 2.0 s1.pdf solo chicos bien
PDF
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
PPT
Diseño de proyecto en temas educativos en todos los entornos
PPTX
auditoria ambiental y su uso en la practica diaria
PPTX
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
PDF
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
PPTX
emprendedor social diapositivas de jhonatan del jesus
PDF
07-gerencia-de-la-informatica contenidos.pdf
PDF
Clase 15 - Normas de Aseguramiento.pptx.pdf
PPTX
CGI SESIÓN #2.pptx Competencias Gerenciales
PDF
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
PDF
MODELO DE INNOVACION VERNE,HERRAMIENTAS Y METODO.pdf
PDF
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
PPTX
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
Presentacion_charlas_Etapa_Productiva_aprendices.pptx
CLASE 4.pdfkjljbjkbkjbihviuvvuuuuuuuuuuuu
SESIÓN COMO FUNCIONA EL MERCADO Y SU IMPLICANCIA EN LA ECONOMÍA
TALLERLIDERAZGO.ppt Competencias Gerenciales
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
UP digital strategy v 2.0 s1.pdf solo chicos bien
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
Diseño de proyecto en temas educativos en todos los entornos
auditoria ambiental y su uso en la practica diaria
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
emprendedor social diapositivas de jhonatan del jesus
07-gerencia-de-la-informatica contenidos.pdf
Clase 15 - Normas de Aseguramiento.pptx.pdf
CGI SESIÓN #2.pptx Competencias Gerenciales
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
MODELO DE INNOVACION VERNE,HERRAMIENTAS Y METODO.pdf
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN

Sistema E S

  • 1. SISTEMAS OPERATIVOS UTPL SISTEMAS DE ENTRADA/ SALIDA
  • 2. SISTEMAS DE ENTRADA/SALIDA Generalidades de los Sistemas de E/S Hardware de E/S Subsistema de E/S Técnicas de E/S
  • 3. GENERALIDADES DE LOS SISTEMAS DE E/S Las operaciones de E/S y el procesamiento son las dos tareas principales de un computador. Para los diseñadores de SO, el control de los dispositivos conectados a la computadora es de primordial interés, debido a que cada dispositivo cambia sus funciones y velocidad por lo cual se requiere variedad de métodos para controlarlos. Estos métodos de E/S forman el subsistema de E/S del kernel, el cual aisla al resto del kernel de la complejidad de la administración de los dispositivos de E/S.
  • 4. GENERALIDADES DE LOS SISTEMAS DE E/S La tecnología de E/S exhibe dos tendencias que están en conflicto: Creciente estandarización de las interfases de SW y HW con los cual se ayuda a incorporar en las computadoras y SO generaciones mejoradas de dispositivos. Nuevos dispositivos que son tan diferentes los anteriores que se son difíciles de incorporar en las computadoras y SO; por lo que se convierte en un reto esta incorporación a través de combinación de técnicas de HW y SW. Los detalles y peculiaridades de los diferentes dispositivos se encapsulan en módulos de manejadores de dispositivos (interfaz uniforme de acceso a dispositivos con el subsistema de E/S). Para lo cual se estructura al kernel del sistema operativo para que use estos módulos.
  • 5. GENERALIDADES DE LOS SISTEMAS DE E/S Los detalles y peculiaridades de los diferentes dispositivos se encapsulan en módulos de manejadores de dispositivos (interfaz uniforme de acceso a dispositivos con el subsistema de E/S). Para lo cual se estructura al kernel del sistema operativo para que use estos módulos.
  • 6. OBJETIVOS DEL SISTEMA DE E/S Proporcionar una interfaz uniforme para el acceso a los dispositivos (independencia del dispositivo) ‏ . Proporcionar manejadores (drivers) para los dispositivos concretos. Tratar automáticamente los errores más típicos. Para los dispositivos de almacenamiento, utilizar cachés. Para los discos, planificar de forma óptima las peticiones.
  • 7. HARDWARE DE E/S Las computadoras operan muchas clases de dispositivos (almacenamiento, transmisión, interfaz). Un dispositivo se comunica con un sistema de cómputo enviando señales a través de un cable o incluso a través de aire. El dispositivo se comunica con la máquina mediante un punto de conexión llamado puerto (puerto serial, usb ). Si uno o más dispositivos utilizan un conjunto de cables, la conexión se denomina bus.
  • 8. Estructura Típica de un bus de PC
  • 9. HARDWARE DE E/S BUS PCI (Peripheral Component Interconnect). Conecta el subsistema de de procesador-memoria a los dispositivos rápidos. Define las interconecciones y los protocolos de transferencia utilizados por placas que se conecten a al bus ubicado en la placa madre. BUS de Expansión Conecta los dispositivos relativamente lentos.
  • 10. HARDWARE DE E/S Un controlador es un conjunto de componentes electrónicos que pueden operar un puerto, un bus o un dispositivo. Los controladores pueden ser sencillos (controlador de puerto serial) o complejos (controlador de bus SCSI). Los dispositivos de E/S que se conectan al ordenador se clasifican en: BLOQUE: La información se almacena en bloques, esos bloques son de tamaño fijo. Donde cada bloque tiene una dirección que lo identifica. Se puede leer o escribir en un bloque independiente de los demás. Por ejemplo : disquete, CD, DVD, disco duro.
  • 11. HARDWARE DE E/S CARÁCTER : La información que se generan o reciben son flujos de caracteres (no bloques). Accede a los datos en secuencia: o sea, para acceder a determinados datos, la lectura y escritura se debe hacer seguido de los datos anteriores. Por ejemplo : teclado, pantalla, ratones. A continuación un cuadro comparativo de diferentes dispositivos:
  • 12. 2000-10000 " " DISCO MAGNETICO 2000 " " CINTA MAGNETICA 1000 " " CD 100 Bloque Almacenamiento FLOPPY 2,0-8,0 " Entrada / salida MODEM 200 " " IMPRESORA (Láser) ‏ 1,0 " " IMPRESORA (Línea) ‏ 0,6 " Salida VOZ (Salida) ‏ 400 " " SCANNER 0,02 " " MOUSE 0,01 Carácter Entrada TECLADO TASA KB/SEG. CLASIFICACION COMPORTAMIENTO DISPOSITIVO
  • 13. HARDWARE DE E/S ¿Cómo puede el procesador entregar comandos y datos a un controlador para realizar una transferencia de E/S? El controlador tienen uno o más registros para datos y señales de control . El procesador se comunica con el controlador leyendo y escribiendo patrones de bits en estos registros. Hay dos formas de comunicación: 1. Mediante el uso de interrupciones especiales de E/S que especifican la transferencia de un byte o palabra a la dirección de un puerto de E/S. 2. El controlador de dispositivo puede soportar E/S con mapeo en memoria; en este caso los registros de control del dispositivo se mapean en el espacio de direcciones del procesador.
  • 14. HARDWARE DE E/S Ubicación de puertos de E/S para dispositivos en computadoras compatibles con PC
  • 15. HARDWARE DE E/S Un puerto de E/S típicamente consta de cuatro regitros: Status: Comando actual ya se completo, esta disponible un byte para leer en la data-in o habido un error en el dispositivo. Control: comando. Data-in: Obtiene entradas. Data-out: Envia salidas.
  • 16. ESCRUTINIO Ejemplo de interacción entre el anfitrión y el controlador Suponemos que se usan 2 bits para coordinar la relación productor-consumidor (controlador y el anfitrión). El controlador indica su estado mediante el bit busy (1) en el registro status. El controlador prende el bit busy (1) cuando está ocupado trabajando y lo apaga (0) cuando está listo para aceptar el siguiente comando. El anfitrión señala sus deseos mediante el bit command-ready en el registro command . El anfitrión prende el bit command-ready cuando está disponible un comando para que el controlador lo ejecute.
  • 17. Siguiendo con el ejemplo El anfitrión lee repetidamente el bit busy hasta que dicho bit se apaga, entonces el anfitrión está en espera ocupada o en escrutinio : está en un ciclo, leyendo el registro status una y otra vez hasta que el bit busy se apaga. Para que funcione este método, el controlador y el dispositivo deben de ser rápidos o se perderá los datos que se encuentran en el buffer del controlador. Luego el anfitrión prende el bit write en el registro command y escribre un byte en el registro data-out El anfitron prende el bit command-ready Cuando el controlador se da cuenta uqe el bit commanda-ready está prendido, prende el bit busy El controlador lee el registro de comando y ve el comando de escritura. lee el registro data-out y realiza la operación de E/S. El controlador apaga el bit de command-ready, apaga el bit de error en el registro de estado para indicar que ha tenido éxito la E/S al dispositivo y apaga el bit busy para indicar que ha terminado ESCRUTINIO
  • 18. El dispositivo debe dar servicio rápidamente o se perderan datos, ya que el pequeño buffer en el controlador tendra un sobreflujo y perderá datos si el anfitrión espera demasiado tiempo antes de regresar a leer los bytes. La operación básica de escrutinio es eficiente; pero se vuelve ineficiente cuando se intenta repetidamente y pocas veces encuentra un dispositivo listo para servicio, mientras que otras actividades útiles de procesamiento permanecen sin realizarse. En tales casos, es más eficiente hacer que el controlador dle hardware notifique a la CPU cuando el dispositivo esta listo (Interrupción). ESCRUTINIO
  • 19. INTERRUPCIONES Una interrupción es el mecanismo que le permite al controlador de hardware notificar a la CPU cuando un dispositivo esta listo para servicio. El mecanismo básico de interrupción habilita a la CPU para responder a un evento asíncrono, el cual puede ser que el controlador de dispositivo quede listo para dar servicio El hardware de la CPU tiene un cable llamado línea de solicitud de interrupción que la CPU revisa después de ejecudar cada instrución.
  • 20.  
  • 21. Características para el manejo de interrupciones: - Capacidad para diferir el manejo de interrupciones durante un procesamiento crítico. - Eficiente manejo de interrupciones para un buen desempeño del sistema (evitar hacer escrutinio). - Basado en prioridad. Líneas de solicitud de interrupción CPU: * Interrupción no mascarable : eventos como errores de memoria no recuperables. * Inerrupción Mascarable: pueder ser apagada por la CPU antes de la ejecución de secuencias críticas que no deben ser interrumpidas. Es utilizada por los controladores de dispositivos para solicitar servicio. INTERRUPCIONES
  • 22. Tabla de vectores del procesador Pentium de Intel
  • 23. ACCESO DIRECTO A MEMORIA Es costoso utilizar un procesador de propósito general para vigilar los bits de estado y para alimentar datos a un registro de controlados (E/S programada PIO). Muchas computadoras evitan sobrecargas en la CPU principal con el PIO transfiriendo parte de este trabajo a un procesador de propósto especifico denominado controlador de acceso directo a memoria (DMA). Cuando se quiere iniciar una tranferencia DMA el anfitrión escribe un bloque de comandos DMA en la memoria. La CPU escribe este bloque en el contralador de la DMA y luego sigue con su trabajo. El controlador de DMA opera directamente el bus de la memoria colocando direcciones para realizar transferencias sin ayuda de la CPU principal. Cuando el controlador DMA se apropia del bus la CPU por momento no puede acceder a memoria principal. Cuando termina la transferencia el controlador de la DMA interumpe a la CPU
  • 24. Pasos en una transferencia DMA
  • 25. INTERFAZ DE E/S DE LAS APLICACIONES Examinaremos técnicas de estructuración y las interfaces para el sistema operativo que permiten tratar a los dispositivos de E/S en una forma estándar y uniforme. Problemas complejos de ingeniería de software, esto implica una abstracción, encapsulado y desarrollo de capas de software.
  • 26. Estructura de E/S del kernel
  • 27. Aspectos de variación en los dispositivos: modo de transferencia de datos (flujo de caracteres o bloques) ‏ método de acceso (secuencuencial o aleatoreo) ‏ plan de transferencia (sincronico o asincronico) ‏ compartimiento(compartido o dedicado ) ‏ velocidad de dispositivo, dirección de E/S (lectura/escritura ) ‏ INTERFAZ DE E/S DE LAS APLICACIONES
  • 28. Características de los dispositivos de E/S
  • 29. BLOQUE: La información se almacena en bloques de tamaño fijo y cada bloque tiene su propia dirección. Se puede leer(read), escribir(write) o buscar(seek) en un bloque de forma independiente de los demás, en cualquier momento Acceso secuencial o aleatorio a nivel de bloque. Ejemplos: DVD, discos duros, cintas magnéticas Operaciones: leer, escribir y buscar CARÁCTER La información se transfiere o recive como un flujo de caracteres. Operaciones: obtener (get) y colocar (put) caracteres. Acceso secuencial a nivel de caracteres. Ejemplos: tarjetas de audio, teclados, modems, impresora. Dispositivos de Bloque o Carácter
  • 30. DISPOSITIVOS DE RED Tiene una interfaz propia, variando de los dispositivos de bloque y caracter. Interfaz socket disponible en varios SO incluyendo UNIX y Windows NT. Permiten crear un socket, conectar uno local a una dirección remota, detectar cuando caulquier aplicación remota se conecta en el local, y enviar y recibir paquetes a través de la conexión. Soporta la implementación de servidores con select, eliminando el escrutinio y la espera ocupada.
  • 31. RELOJES Y TEMPORIZADORES Proporciona: la hora, tiempo transcurrido y el valor de un temporizador para activar la operación X a la hora T (cronómetro) . El hardware para medir el tiempo transcurrido y activar operaciones se denomina temporizador de intervalos programable y se lo usa para fijar una cantidad de tiempo y genere una interrupción, realice operaciones periódicas.
  • 32. SUBSISTEMA DE E/S DEL KERNEL El subsistema de E/S kernel ofrece varios servicios relacionados con la E/S y se apoya en el hardware y en la infraestructura de manejadores de dispositivo. Los servicios que ofrece son: Planificación de E/S Asignación de buffers Asignación de caché Spooling Reservación de dispositivos Manejo de errores.
  • 33. Planificación de E/S Se debe determinar un orden adecuado para la ejecución de las solicitudes. Rara vez el orden de las llamada al sistema son la mejor opción. La planificación mejora el desempeño global del sistema, así como compartir equitativamente el acceso a dispositivos entre los procesos y reducir el tiempo de espera promedio para la terminación de E/S. Los diseñadores de SO implementan la planificación manteniendo una cola de solicitudes para cada dispositivo. En esta cola el planificador reacomoda la cola para mejorar la eficiencia global del sistemas y el tiempo de respuesta sea más corto. Además el sistema operativo debe ser justo de tal forma que se presente un buen servicio, dando prioridades a las solicitudes sensibles a demora (memoria virtual). Otra forma de mejor la eficiencia es el uso de la memoria principal o disco, mediante el empleo de buffer, caché y spooling.
  • 34. Empleo de buffers Buffer: área de memoria que almacena datos mientras éstos se transfieren entre dos dispositivos o un dispositivo y una aplicación. Razones para el empleo de buffers: 1. Hacer frente a la falta de correspondencia en velocidad entre el productor y el consumidor de un flujo de datos. Ejemplo: la transferencia de datos entre un módem y un disco duro.
  • 35.  
  • 36. 2. Lograr una adaptación entre dispositivos que tienen diferentes tamaños de transferencia de datos (fragmentación y re-ensamblaje de paquetes en la red). 3. Soportar semántica de copiado para E/S de aplicaciones. Empleo de buffers
  • 37. Empleo de Cachés Caché: Región de memoria rápida que contiene copias de datos. El acceso a la caché es más eficiente que el acceso a la original. Diferencia entre buffer y caché es que el primero puede contener la única copia existente de un elemento de datos y una caché sólo contiene en almacenamiento más rápido una copia de un elemento que reside en alguna otra parte. El empleo de cachés y de buffers son dos funciones distintas, aunque en ocasiones se puede utilizar una región de memoria para ambos propósitos.
  • 38. Spooling y reservación de dispositivos Spool: es un buffer que contiene la salida para un dispositivo, como una impresora, que no puede aceptar flujos de datos entercalados. El spooling es una forma en que los SO pueden coordinar la salida concurrente. Reservación de un dispositivo.- proporciona acceso exclusivo a un dispositivo.
  • 39. Manejo de Errores El SO hace uso de memoria protegida para resguardar contra muchas clases de errores en el hardware y aplicaciones. Los dispositivos y las transferencias de E/S pueden fallar en muchas formas, ya sea por razones transitorias o permanente. Los SO pueden a menudo compensar eficazmente las fallas transitorias, como por ejemplo una falla al leer (read) el disco da por resultado una nuevo intento de lectura y un error al enviar (send) datos por la red da por resultado un nuevo envió (resend). Una llamada al sistema de E/S devolverá 1 bit de información acerca del estado de la llamada, indicando ya sea un éxito o fracaso. El hardware puede proporcionar una información de error con gran detalle, aunque los SO actuales no lo hacen tan detallado.
  • 40. Manejo de Errores Desafortunadamente, si un componente un componente importante experimenta un fallo, es poco probable que el SO logre recuperarse. Una llamada al sistema de E/S devolverá 1 bit de información acerca del estado de la llamada, indicando ya sea un éxito o fracaso. El hardware puede proporcionar una información de error con gran detalle, aunque los SO actuales no lo hacen tan detallado.
  • 41. Estructura de datos del kernel El Kernel necesita mantener información de estado acerca del uso de los componentes de E/S lo que realiza mediante tabla de archivos abiertos, conexiones de red, estado de dispositivos de carácter, etc… Algunos SO utilizan métodos orientados a objetos y el paso de mensajes para llevar a cabo la E/S. El subsistema de E/S coordina una extensa colección de servicios, que están disponibles para las aplicaciones y para otras partes del kernel.
  • 42. Estructura del Kernel de E/S de UNIX
  • 43. MANEJO DE LAS SOLICITUDES DE E/S Considere que se esta leyendo un archivo desde el disco para un proceso: Determine el dispositivo que pertenece a ese archivo. Descifrar el nombre que representa a ese archivo. Si los datos no están en el buffer, realizar una E/S física. Asignar espacio para recibir datos y planificar E/S. Realizar transferencia de datos Determinar estado de solicitud Retornar el control al proceso.
  • 44. Ciclo de vida de una solicitud de E/S
  • 45. Desempeño La actividad de E/S es un factor importante en el desempeño del sistema, por lo que pone de manifiesto cualquier deficiencia en los mecanismos de manejo de interrupciones en el kernel . Demandas de la CPU para ejecutar código de manejadores de dispositivos ponen en manifiesto cualquier deficiencia en el manejo de interrupciones del Kernel. Podemos aplicar varios principios para mejorar la eficiencia de E/S: 1. Reducir el número de conmutaciones de contexto. 2. Reducir el número de datos de copiado. 3. Reducir la frecuencia de las interrupciones. 4. Incrementar la concurrencia. 5. Utilizar DMA. 6. Equilibrar el desempeño de la CPU, el subsistema de memoria, el bus y el sistema de E/S.
  • 46. Progresión de la funcionalidad de dispositivos