360 likes | 651 Views
Sistemas Operativos. VI. Administración de dispositivos. 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.
E N D
Sistemas Operativos VI. Administración de dispositivos
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
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 operación de búsqueda.
PROBLEMAS DE ENTRADA/SALIDA 1.- Operación síncrona : El procesador trabaja en forma síncrona 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. Puertos paralelos
PROBLEMAS DE ENTRADA/SALIDA 2.- Operación asíncrona : El procesador trabaja en forma asíncrona 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.
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
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 y la memoria principal.
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
Aplicación Llamada al S.O. PES Núcleo del sistema operativo Administrador de Dispositivos BCD Controlador general de dispositivos Driver Manejador, Controlador del dispositivo BCU PES Dispositivo
Interfaz del bus Controlador genérico del dispositivo Interfaz del dispositivo Administrador de dispositivos Administrador genérico de dispositivos Administrador del dispositivos Interfaz del dispositivo DIAGRAMA DE BLOQUE DE UN CONTROLADOR DE E/S Organización y Arquitectura de computadores, William Stallings, Prentice Hall
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.
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
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
SOFTWARE DE CONTROL DE E/S (DRIVER) Driver : Software formado por rutinas y tablas que forman 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 Sentencias Primitivas de E/S Núcleo del S.O. DRIVER Periférico
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.
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.
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.
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
RUTINAS DEL DRIVER (MANEJADOR) Administrador general de dispositivos • Inicialización. • Atención de peticiones de E/S. • Gestión de interrupciones. • Cancelación de operaciones de E/S. Driver Dispositivo Electrónico Mecánico
ESTRUCTURAS DE DATOS DE UN DRIVER. Administrador general de dispositivos • Bloque de control del driver (BCD). • Bloque de control de la unidad (BCU). • Paquete de petición de E/S (PES). BCD PES Driver BCU PES Dispositivo Electrónico Mecánico
MANEJADORES DE INTERRUPCIONES. Cola 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. Prioridad Semáforo 1, 0
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.
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.
FLUJO DE CONTROL DEL PROGRAMACON INTERRUPCIONES Organización y Arquitectura de computadores, William Stallings, Prentice Hall
CICLO DE LA INSTRUCCIÓN CON INTERRUPCIONES Organización y Arquitectura de computadores, William Stallings, Prentice Hall
CONTROL DE MÚLTIPLES DISPOSITIVOS. Cuando hay varias peticiones de 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.
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.
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
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.
API API Application Programming Interfaceo 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
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.