Transcript 6. Administración de dispositivos 1
Sistemas Operativos
VI. Administración de dispositivos
Sergio Fuenlabrada Velázquez Edna Martha Miranda Chávez Sergio Fuenlabrada Velázquez
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
DISPOSITIVOS DE E/S
Dispositivos de bloque : Son los que almacenan la información en bloques de tamaño fijo, cada uno con su propia dirección. Los tamaños de bloques van desde 128 bytes hasta 1024 bytes.
La propiedad esencial es la posibilidad de leer o escribir en un bloque de forma independiente.
Impresora scanner Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
DISPOSITIVOS DE E/S
Dispositivos de carácter : Es el que envía o recibe un flujo de caracteres sin sujetarse a una estructura de bloques.
No utiliza direcciones ni tiene una búsqueda.
operación de
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PROBLEMAS DE ENTRADA/SALIDA
1. Operación síncrona : El procesador forma trabaja síncrona en con dispositivos de entrada/salida, con el fin de obtener instrucciones para su ejecución y acceder a los datos.
Envía y recibe bloques de caracteres de los dispositivos.
Ejemplo: La impresión.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Puertos paralelos
PROBLEMAS DE ENTRADA/SALIDA
2. Operación asíncrona : El procesador forma trabaja asíncrona en con dispositivos de entrada/salida, con el fin de obtener una instrucción a ejecutar y acceder a los datos.
Envía o recibe un carácter del dispositivo.
Ejemplo: Teclado, mouse.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Universal Serial Bus
- Bus Universal en Serie o Conductor Universal en Serie Permite conectar dispositivos sin necesidad de reiniciar el equipo (Plug and Play). Reconoce las características del dispositivo A este puerto se pueden conectar varios dispositivos (carácter o paralelos).
Puertos USB: • Baja velocidad 1.0 - 1,5 Mbp, USB 1.0
• Velocidad completa 1.1 - 12 Mbps, USB 1.1
• Alta velocidad (2.0) , 125Mbps, USB 2.0
• Super alta velocidad (3.0), hasta 4.8 Gbps, USB 3.0 o USB3 Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PROBLEMAS DE ENTRADA/SALIDA
Velocidad de los dispositivos : Los dispositivos de E/S orientados a caracteres son más lentos que los dispositivos orientados a bloque.
Los primeros operan a velocidad muy por debajo del ancho de banda que opera el procesador principal.
y la memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Los controladores de entrada/salida están encargados de los dispositivos serie, paralelo y DMA (dispositivos que son usados al mismo tiempo por varios usuarios).
SERIE PARALELO DMA
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PES Aplicación Llamada al S.O.
Núcleo del sistema operativo Administrador de Dispositivos BCD BCU Controlador general de dispositivos Driver Manejador, Controlador del dispositivo Dispositivo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PES
Interfaz del bus DIAGRAMA DE BLOQUE DE UN CONTROLADOR DE E/S Controlador genérico del dispositivo Interfaz del dispositivo Administrador de dispositivos Administrador genérico de dispositivos Administrador del dispositivos Interfaz del dispositivo
Organización y Arquitectura de computadores, William Stallings, Prentice Hall Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PRINCIPIOS DEL SOFTWARE DE E/S
Modelo OSI
Capas para la comunicación de datos
•
Organizan el software como una serie de capas.
•
Las capas superiores ocultan las peculiaridades del hardware (capas inferiores).
•
Las capas superiores se preocupan de presentar un interfaz agradable, limpia y estándar a los usuarios.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
OBJETIVOS DEL SOFTWARE.
Drive - Independencia del dispositivo -
•
El software del dispositivo de E/S opera de forma independiente una vez que el Sistema Operativo le sede el control.
•
Manejo de errores.
•
El sistema operativo debe administrar los dispositivos compartidos y de uso exclusivo de forma que evite problemas .
Monitores Impresoras scanner Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
OBJETIVOS DEL SOFTWARE Dispositivos compartidos : Son usados por varios proceso al mismo tiempo.
Disco Duro Dispositivos exclusivos : Se deben dedicar a un solo proceso hasta concluir con él.
Impresora
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
SOFTWARE DE CONTROL DE E/S (DRIVER) Driver : forman Software formado por rutinas y tablas que parte del sistema operativo.
Ejecutan y controlan todas las operaciones de E/S sobre cualquier periférico conectado a la computadora. Se encuentra alojado permanentemente en memoria y requieren rapidez de ejecución.
Proceso de usuario Núcleo del S.O.
Sentencias Primitivas de E/S DRIVER Periférico
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
FUNCIONES DE UN DRIVER.
• • • • • •
Definir características del periférico.
Inicializar los registros.
Habilitar y deshabilitar el dispositivo.
•
Procesar todas las operaciones de E/S.
Cancelar toda operación de E/S cuando sea necesario.
Procesar todas las interrupciones.
Tratar los errores.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
MANEJADORES DE DISPOSITIVOS.
•
Proveen comandos y verifican su adecuada ejecución.
•
Acepta las solicitudes abstractas que le hace el software independientemente del dispositivo y verifica su ejecución.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
SOFTWARE DE E/S INDEPENDIENTE DEL DISPOSITIVO
Funciones : • Interfaz uniforme para los manejadores de dispositivos.
• Nombres de los dispositivos.
• Protección del dispositivo.
• Proporcionar un tamaño de bloque independiente del dispositivo.
• Uso de buffers.
• Asignación de espacio en los dispositivos por bloques.
• Asignación y liberación de los dispositivo de uso exclusivo.
• Informe de errores.
La meta principal es llevar a cabo las funciones de E/S comunes a todos los dispositivos.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
CONTROLADORES DE DISPOSITIVOS Las unidades de entrada/salida constan de 2 componentes :
•
La parte electrónica : Controlador de dispositivo o adaptador.
•
La parte mecánica : El propio dispositivo.
Dispositivos Periférico CPU Unidad de memoria Unidad de entrada /salida Bus de datos
Líneas de control, líneas de direccionamiento, líneas de datos Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
RUTINAS DEL DRIVER (MANEJADOR)
•
Inicialización.
•
Atención de peticiones de E/S.
•
Gestión de interrupciones.
•
Cancelación de operaciones de E/S.
Administrador general de dispositivos Driver Dispositivo Electrónico Mecánico
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
ESTRUCTURAS DE DATOS DE UN DRIVER.
• •
Bloque de control del driver (BCD).
•
Bloque de control de la unidad (BCU).
Paquete de petición de E/S (PES).
Administrador general de dispositivos
BCD PES
Driver
BCU PES
Dispositivo Electrónico Mecánico
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
•
MANEJADORES DE INTERRUPCIONES.
Mecanismo asistido por password para sincronizar el procesador con los sucesos.
•
Las interrupciones deben ocultarse en lo más profundo del sistema operativo. La forma más óptima es que cada proceso que inicia una operación de E/S se bloquee hasta que termine la E/S y ocurra la interrupción.
Cola de interrupciones Prioridad Semáforo 1, 0
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
CONMUTACIÓN DE CONTEXTO
•
El contexto del programa interrumpido debe preservarse mientras se ejecuta la RSI (rutina de servicio de interrupción) y se restaura cuando se le devuelve el control.
•
El proceso de cambiar el contexto desde un programa en ejecución a un gestor de interrupciones se denomina conmutación de contexto, la cual requiere de una combinación de hardware y software.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
RUTINA DE SERVICIO DE INTERRUPCIÓN.
•
La RSI es un trozo de código que se ejecuta en respuesta a un suceso externo.
•
Sólo se ejecuta cuando se produce un suceso de E/S.
•
Consta de instrucciones para transferir datos, verificar y corregir errores, actualizar punteros, o envió y recepción de mensajes a otra computadora.
•
La petición que invoca a una RSI es una señal eléctrica.
•
La RSI a diferencia de un procedimiento se invoca por hardware.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
FLUJO DE CONTROL DEL PROGRAMA CON INTERRUPCIONES Organización y Arquitectura de computadores, William Stallings, Prentice Hall Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
CICLO DE LA INSTRUCCIÓN CON INTERRUPCIONES Organización y Arquitectura de computadores, William Stallings, Prentice Hall Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
CONTROL DE MÚLTIPLES DISPOSITIVOS.
Cuando peticiones de hay varias interrupción pendientes simultáneamente, se ejecuta la interrupción que se encuentra en la cola de interrupciones que tiene la máxima prioridad, esta obtiene primero el servicio.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
VECTORIZACIÓN DE INTERRUPCIONES.
•
Proporciona enlace directo entre cada fuente de interrupción y su rutina de servicio asociado.
•
Cada interrupción llama a ejecutar a un programa de interrupción asociado
•
Minimiza la latencia de interrupción y proporciona el máximo ancho de banda de E/S.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
NIVELES DE CONTROL DE INTERRUPCIÓN.
1.- Máxima prioridad Nivel global del sistema. Interrupción de hardware 2.- Control selectivo de niveles de interrupción. Interrupción del sistema operativo 3.- Nivel individual de dispositivo de control de interrupciones. Interrupción de aplicación
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Excepción
• Cuando sucede una situación de error que es detectada por el sistema operativo mientras ejecutaba una instrucción o comando, y requiere atención por parte del sistema operativo, se genera una llamada a un excepción. • Las rutinas de excepción su función principal datos en lo posible, es cuidar la consistencia e integridad de los, restaurar el sistema y en algunos casos cancelar el proceso que se estaba ejecutando.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
API API
Application Programming Interface o interfaz de programación de aplicaciones.
Son
bibliotecas de enlace o vinculo dinámico
(DLL Dinamic Link Library), del sistema operativo, que contiene archivos con código ejecutable, objetos, funciones o programas que son llamados, invocados o importados por un software de aplicación para realizar un servicio o función en especifico.
Facilitan la programación de las aplicaciones ya que el programador se evita la programación de estos módulos complejos.
– Dibujar una ventana o icono – Limpiar una ventana – Servicios de interfase, etc.
Al elegir usar una API se debe contemplar que su uso esta relacionado con una perdida de flexibilidad Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
API
• Identifique el nombre de la función que se desea llamar • Identifique la ubicación de la DLL que la contiene • Identifique los argumentos de entrada y salida, su longitud y tipo de dato. • Agregue el llamado a la función en su programa y relacione dicha llamada al API con un evento.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez