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.
Impresora
La propiedad esencial es la
posibilidad de leer o escribir en
un
bloque
de
forma
independiente.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
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.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
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
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
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.
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 y la memoria
principal.
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
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
DMA
Aplicación
Llamada al S.O.
PES
Núcleo del sistema operativo
Administrador de Dispositivos
BCD
Controlador general de dispositivos
BCU
Driver
Manejador, Controlador del dispositivo
Dispositivo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
PES
DIAGRAMA DE BLOQUE DE UN
CONTROLADOR DE E/S
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
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 : 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
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.
La meta principal es llevar a cabo las funciones de
E/S comunes a todos los 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.
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)
Administrador general
de dispositivos
• Inicialización.
• Atención de peticiones de
E/S.
Driver
• Gestión de interrupciones.
• Cancelación de operaciones
de E/S.
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).
Administrador general
de dispositivos
BCD
• Bloque de control de la
unidad (BCU).
• Paquete de petición de
E/S (PES).
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
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
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.
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
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.
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
Descargar

6. Administración de dispositivos 1