Gestion de Entradas y Salidas
-
Upload
henrry-eliseo-navarro-chinchilla -
Category
Documents
-
view
1.455 -
download
3
Transcript of Gestion de Entradas y Salidas
![Page 1: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/1.jpg)
Gestión de E/S
![Page 2: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/2.jpg)
IntroducciónIntroducción
El corazón de una computadora lo constituye la CPU
Pero no serviría de nada sin: -Dispositivos de almacenamiento secundario (discos, cintas, etc.). -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.
![Page 3: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/3.jpg)
![Page 4: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/4.jpg)
Dispositivos de E/SDispositivos de E/S
Los dispositivos que tienen que hacer E/S con los computadores se clasifican en 3 categorías:
1) Dispositivos legibles por el humano: teclado, pantalla, impresora, mouse
2) Dispositivos legibles por la máquina: discos, unid. De cinta, controlador, etc.
3) Dispositivos de comunicaciones: módem, Tarjeta de Red, etc.
![Page 5: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/5.jpg)
......
Otra manera de ver los tipos de dispositivos de E/S es:
– – Dispositivos de bloquesDispositivos de bloques• Almacenan la información en bloques de tamaño fijo• Cada bloque tiene su propia dirección (nº de bloque)• Es posible leer/escribir cada bloque independientemente
• Ejemplo: discos.
– – Dispositivos de caracteresDispositivos de caracteres• Aceptan o envían flujos de caracteres• No son direccionables
• Ejemplo: impresoras.
![Page 6: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/6.jpg)
El problemaEl problema
a) Los procesos hacen un uso extensivo de E/S
b) Cada dispositivo de E/S tiene su propia idiosincrasia
c) Los dispositivos necesitan ayuda del núcleo
d) Diferentes velocidadesCPU ejecuta operaciones a 1 GHz o más (nanosegundos)
RAM: acceso de nanosegundos.Dispositivos de E/S: acceso de milisegundos o más.
Esta diferencia y el deseo de aplicaciones interactivas hace que la E/S sea el cuello de botella.Los sistemas operativos se esfuerzan para optimizar la E/S.
![Page 7: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/7.jpg)
......
SCSI bus
fast eth
disco duro
ethernet
impresora laser
modem
ratón
teclado
0,00 0,01 0,10 1,00 10,00 100,00 1000,00 10000,00 100000,00
Velocidades de datos de dispositivos
![Page 8: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/8.jpg)
Funciones del SO para la gestión de dispositivosFunciones del SO para la gestión de dispositivos
– Enviar comandos a los dispositivos.
– Capturar interrupciones.
– Tratar errores.
– Proporcionar un interfaz entre los dispositivos y el resto del sistema operativo:
• Simple.• Fácil de utilizar.• Idéntico para todos los dispositivos.
![Page 9: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/9.jpg)
A pesar de la inmensa variedad de dispositivos de entrada/salida, tan solo se requieren unos cuantos conceptos para entender como están conectados y como se pueden controlar mediante programas.
Puerto: Es el punto físico de conexión de un dispositivo al sistema.
Bus: Conjunto de cables que son compartidos por un conjunto de ports para transmitir información. El manejo de este bus esta definido de forma estricta mediante un protocolo.
Controlador: Conjunto de circuitos que operan sobre un bus, un puerto o un dispositivo.
![Page 10: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/10.jpg)
Estructura de un PC
![Page 11: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/11.jpg)
Präsentation
Conexión entre periféricos y CPU
Inicialmente el procesador controlaba directamente los dispositivos de E/S.
Para aislar al procesador de los detalles específicos del dispositivo se realiza una conexión indirecta a través de:
Controladoras
Canales
![Page 12: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/12.jpg)
Controladoras
Las unidades de E/S suelen constar de un componente mecánico (el propio del dispositivo) y uno electrónico (controladora ó adaptador de dispositivo).
La CPU se conecta a través de esta controladora al dispositivo.
Una controladora puede servir para varios dispositivos del mismo tipo.
La interfaz entre la controladora y el dispositivo es estándar como:
IDE (Integrated Device Electronics), SCSI( Small Computer System Interface), USB (Universal Serial Bus) y otros.
Funciones:
Almacenar el estado del dispositivo. Controlar el dispositivo. Convertir el flujo de bits en una serie de bloques de bytes y realizar la corrección
de errores necesaria.
![Page 13: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/13.jpg)
Canales
Otra forma de conexión es a través de canales de E/S, que consiste en unProcesador especifico para operaciones de E/S.
La evolución de estos procesadores han llevado a que tengan su propia memoria,Se habla ahora de procesadores de E/S (Ej: Familia IOP de Intel).
El canal pretende tratar el dispositivo como abstracto ó virtual.
Se maneja mediante ordenes especializadas. Una vez terminada la acción elCanal devuelve el estado del dispositivo a la vez que interrumpe el procesador Central.
![Page 14: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/14.jpg)
Los canales pueden ser:
Selectores:
Permiten manejar varios dispositivos pero solo uno en cada momento,Generalmente es usado con dispositivos rápidos.
![Page 15: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/15.jpg)
Multiplexores:
Trabajan con varios dispositivos pudiendo transferir datos de todos simultáneamente.Esta relacionado con dispositivos lentos como el teclado o la impresora.
![Page 16: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/16.jpg)
Control de E/S
¿Cómo conoce el HW y el SO que una operación de E/S ha acabado?
Existen tres técnicas para realizar la E/S:
1. E/S programada
2. E/S dirigida por interrupciones
3. E/S por acceso directo a la memoria (DMA)
![Page 17: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/17.jpg)
E/S programada:
Inicialmente el procesador controlaba directamente los dispositivos periféricos.
Luego se añade una controladora del dispositivo de E/S. La CPU utiliza E/S programada.
El dispositivo E/S realiza la acción (no la CPU) colocando los bits necesarios en sus registros de status.
La CPU chequea los bits de status continuamente. Este comportamiento se conoce como sondeo (polling) ó espera activa (la CPU esta ocupada hasta que acaba La operación de E/S).
No hay interrupciones.
![Page 18: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/18.jpg)
E/S dirigida por interrupciones:
Son un mecanismo asistido por HW para Sincronizar el procesador con los procesos Asincronos.
La CPU es interrumpida cuando el dispositivo E/S está listo para intercambiar datos.
La CPU está libre entre la solicitud de datos e interrupción.
No hay necesidad de esperar.
Consume mucha CPU ya que cada byte leído/escrito pasa por la CPU desde/hacia la memoria.
![Page 19: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/19.jpg)
Una interrupción ó petición IRQ (Interrupt Request) es una señal que seorigina en un dispositivo HW para indicar al procesador que algo requiere su asistencia.
![Page 20: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/20.jpg)
E/S con acceso directo a memoria (DMA):
Transfiere un bloque de datos directamente hacia/desde la memoria sin usar CPU
Se envía una interrupción cuando los datos fueron transferidos
La CPU sólo participa al inicio y al final de la acción
![Page 21: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/21.jpg)
DMA (Direct Memory Access):
Para evitar que la CPU sea la encargada de transferir datos entre la memoria y el periférico se usa el DMA.
La técnica de Acceso Directo a Memoria (DMA) requiere un módulo adicional conectado al bus del sistema: El controlador de DMA que es capaz de hacer las funciones asignadas a la CPU y asumir el control del sistema
El controlador de DMA contiene:
◆ Registro de Datos
◆ Registro de Direcciones
◆ Registro contador de palabras
◆ Unidad de control del DMA
![Page 22: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/22.jpg)
Estos registros permiten al controlador de DMA transferir datos desde (o hacia) una zona contigua de memoria:
El registro de dirección
◆ Almacena la dirección de la siguiente palabra a transmitir
◆ Se incrementa de forma automática después de cada transferencia
El registro contador de palabras
◆ Almacena el número de palabras que quedan por enviar
◆ Se decrementa automáticamente después de cada transferencia
![Page 23: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/23.jpg)
La unidad de control del DMA
◆ Comprueba si el contenido del registro contador es 0
◆ Cuando alcanza este valor para la transferencia, envía una señal de interrupción a la CPU para indicarle que la transferencia a finalizado
Cuando la CPU desea leer o escribir un bloque de datos emite una orden al controlador de DMA enviándole la siguiente información:
◆ Si la operación es de lectura o escritura
◆ La dirección del periférico
◆ La posición de comienzo de memoria de donde hay que leer o donde hay que escribir
◆ El número de palabras que se tienen que leer o escribir
![Page 24: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/24.jpg)
A partir de este momento la CPU continúa realizando otra tarea. La CPU ha delegado esta operación de E/S en el controlador de DMA y es este módulo quien se encargará de ella.
El controlador de DMA transfiere directamente, palabra a palabra, el bloque completo de datos entre el periférico y la memoria, sin pasar par la CPU.
Cuando la transferencia finaliza el controlador de DMA envía una señal de interrupción a la CPU.
De esta forma la CPU únicamente participa al comienzo y al final de la transferencia
![Page 25: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/25.jpg)
El controlador de DMA necesita tener el control del bus para poder transferir datos hacia (o desde) la memoria:
◆ Por ráfagas
◆ Por robo de ciclos
◆ DMA transparente
◆ Por demanda
◆ Dato a dato
Cuando el controlador de DMA está preparado para transmitir o recibir datos, activa la línea de petición de DMA a la CPU.
La CPU espera en el siguiente punto de ruptura del DMA, renuncia al control de los buses de datos y direcciones y activa la línea de reconocimiento de DMA
![Page 26: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/26.jpg)
ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVOASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO
OBJETIVOS del diseño de la E/S:
1) Eficiencia:1) Eficiencia:
Reducir al máximo el tiempo de las operaciones de E/S, y evitar cuello de botella. Solución principal: Paralelización de las operaciones de E/S con las operaciones de la CPU (multiproceso)
![Page 27: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/27.jpg)
......
2) Generalidad:2) Generalidad:
Uniformidad en el trato de dispositivos distintos:a) en la interfaz entre el proceso y los dispositivos b) en la gestión entre el Sistema Operativo y los dispositivos.
Solución principal: Enfoque Modular y jerárquico en el diseño de funciones de E/S.
Modularidad. Distribuir las funciones en capas organizadas jerárquicamente (niveles).
Los niveles coinciden con los requisitos de tiempos de respuesta requeridos. Niveles bajos atienden a eventos rápidos (hardware), mientras los niveles altos atienden a eventos o solicitudes menos críticas (comunicación con el usuario).
![Page 28: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/28.jpg)
......
Hay tres configuraciones principales, que corresponden a:
1. Comunicación con un dispositivo periférico local
2. Dispositivo de comunicaciones
3. Dispositivo de almacenamiento secundario
![Page 29: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/29.jpg)
Procesos deUsuario
E/S lógica
E/S condispositivos
Planificacióny Control
Hardware
1) Comunicación con un dispositivo periférico local,
Los niveles son:
Trata al dispositivo como un recurso lógico, sinpreocuparse de los detalles de control del dispositivoparticular. Se ocupa de la gestión de funciones generales de E/S pedidas por los procesos de usuario, proporciona identificadores y operaciones de: lectura, escritura, apertura y cierre.
Convierte las operaciones pedidas y datos en secuencias de instrucciones de E/S, comandos para el canal y ordenes al controlador.
Este nivel maneja la planificación, encolado y control de las operaciones de E/S; además del manejo de interrupciones. Se encarga de realizar la comunicación con el hardware.
![Page 30: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/30.jpg)
Procesos deUsuario
Arquitectura deComunicaciones
E/S condispositivos
Planificacióny Control
Hardware
2) Dispositivo de comunicaciones
Es muy parecida a la anterior. La diferencia principal es que el nivel de E/S lógica se reemplaza por una arquitectura de comunicaciones, que a su vez puede constar de varios niveles.
Ej. OSI, arquitectura de interconexión de sistemasabiertos (7 niveles)
![Page 31: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/31.jpg)
Procesos deUsuario
Gestión de directorios
Sistema deArchivos
OrganizaciónFísica
E/S condispositivos
Planificacióny Control
Hardware
3) Sistema de Almacenamiento secundario
Traducción de nombres de los archivos a identificadores que referencian al file. Operaciones que tienen que ver con la gestión de directorios: Añadir, Borrar, Reorganizar
Estructura lógica de los archivos. Operaciones especificadas por el usuario: Abrir, Cerrar, Leer, Escribir. Gestión de derechos de acceso
Conversión de “direcciones” lógicas a direcciones físicas del almacenamiento secundario. Asignación de espacio en el almacenamiento secundario (disco) y principal (buffers)
![Page 32: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/32.jpg)
Almacenamiento Intermedio de E/SAlmacenamiento Intermedio de E/S
Para evitar carga a veces es conveniente llevar a cabo las transferencias de Entrada por adelantado a las peticiones y realizar transferencias de Salida un tiempo después de hacer la petición.
Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering).
![Page 33: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/33.jpg)
Buffer sencilloBuffer sencillo
Cuando un proceso de usuario realiza una petición de E/S, el SO le asigna a la operación un buffer en la parte del sistema de la MP.
Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema
![Page 34: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/34.jpg)
......
![Page 35: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/35.jpg)
Buffer dobleBuffer doble
Se puede realizar una mejora del buffer sencillo asignando dos (2) buffers del sistema a cada operación.
DE esta forma, un proceso puede transferir datos hacia (o desde) un buffer mientras que el SO vacía (o rellena) el otro.
![Page 36: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/36.jpg)
Buffer circularBuffer circular
El esquema del buffer doble debería solucionar el flujo de datos entre un dispositivo de E/S y un proceso.
Si preocupa el rendimiento de un proceso determinado, sería deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso.
El buffer doble es inapropiado para ráfagas rápidas de E/S. Pero ello se mitiga usando más de 2 buffers.
![Page 37: Gestion de Entradas y Salidas](https://reader033.fdocument.pub/reader033/viewer/2022052121/559127451a28ab8d7b8b466d/html5/thumbnails/37.jpg)
......