Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE VILLAHERMOSA
Alumno:
Materia:
Sistemas Operativos
Fecha de Entrega:
Viernes 14 de marzo de 2020
Docente:
Periodo:
Enero- Junio 2020
Tema:
Investigación 4
Administración de entrada/salida
4.1. DISPOSITIVOS Y MANEJADORES DE
DISPOSITIVOS
Facilitar el manejo de los dispositivos de E/S. Para ello debe ofrecer una
interfaz entre los dispositivos y el resto del sistema que sea sencilla y
fácil de utilizar.
Optimizar la E/S del sistema, proporcionando mecanismos de
incremento de prestaciones donde sea necesario.
Proporcionar dispositivos virtuales que permitan conectar cualquier tipo
de dispositivo físico sin que sea necesario remodelar el sistema de E/S
del sistema operativo.
Permitir la conexión de dispositivos nuevos de E/S, solventando de
forma automática su instalación usando mecanismos del tipo plug&play.
Conexión de un dispositivo de E/S a una computadora En la siguiente
figura se muestra el esquema general de conexión de periféricos a una
computadora. En el modelo de un periférico se distinguen dos
elementos:
Periféricos o dispositivos de E/S. Elementos que se conectan a la unidad
central de proceso a través de las unidades de entrada/salida. Son el
componente mecánico que se conecta a la computadora.
Controladores de dispositivos o unidades de E/S. Se encargan de hacer
la transferencia de información entre la memoria principal y los
periféricos. Son el componente electrónico a través del cual se conecta
el dispositivo de E/S. Tienen una conexión al bus de la computadora y
otra para el dispositivo (generalmente mediante cables internos o
externos).
Para empezar una operación de E/S, la UCP tiene que escribir sobre los
registros anteriores los datos de la operación a través de una dirección de E/S
o de memoria asignada únicamente al controlador. Según se haga de una u
otra forma, se distingue entre dispositivos conectados por puertos o
proyectados en memoria. El modelo de dispositivos por puertos es clásico en
las arquitecturas de Intel. En ellas, cuando se instala un dispositivo, a su
controlador se le asigna un puerto de E/S, una interrupción hardware y un
vector de interrupción. Para efectuar una operación de
E/S la UCP ejecuta operaciones por o portout con la dirección de puerto del
dispositivo y con parámetros para indicar qué registro se quiere manipular.
Todas las operaciones de entrada/salida (pantalla gráfica, impresoras, ratón,
discos, etc.) se realizan usando esas dos instrucciones de lenguaje máquina
con los parámetros adecuados. El problema de este tipo de direccionamiento
es que exige conocer las direcciones de E/S y programar las instrucciones
especiales de E/S, lo que es significativamente distinto del modelo de memoria
de la computadora. El otro modelo de direccionamiento de E/S es el modelo
proyectado en memoria. Este modelo, típico de las arquitecturas de Motorola,
asigna a cada dispositivo de E/S un rango de direcciones de memoria a través
de las cuales se escribe sobre los registros del controlador. En este modelo no
hay instrucciones específicas de E/S, sino que las operaciones se llevan a cabo
mediante instrucciones máquina de manejo de memoria, lo que permite
gestionar un mapa único de direcciones de memoria. Sin embargo, para no
tener conflictos con otros accesos a memoria y para optimizar las operaciones,
se reserva una zona de memoria física para asignar las direcciones de E/S.
Hay que recalcar que el controlador al ser una parte crítica del sistema
operativo, el fallo de un controlador puede ser más grave que otros errores de
software, pudiendo bloquear el ordenador o incluso dañar el hardware. Debido
a que el hardware es (necesariamente) indeterminista, encontrar y solucionar
un fallo en un controlador es una tarea complicada ya que no sólo hay que
monitorizar el programa, sino también el propio dispositivo.
4.3. Estructuras de datos para manejo de
dispositivos
Los sistemas operativos actuales son grandes y complejos, estos deben poseer
una ingeniería correcta para su fácil actualización y para que puedan cumplir su
función correctamente. La estructura es generalmente modular, cada módulo
cumple una función determinada e interactúa con los demás módulos
Manejadores de interrupción
Manejadores de dispositivos
Por último, este nivel proporciona gestión de errores para aquellos casos
que el manejador de dispositivo no puede solucionar. Un error transitorio de
lectura de un bloque se resuelve en el manejador reintentando su lectura. Un
error permanente de lectura no puede ser resuelto y debe ser comunicado al
usuario para que tome las medidas adecuadas. En general, todos los sistemas
operativos incluyen alguna forma de control de errores internos y de
notificación al exterior en caso de que esos errores no se puedan resolver.
Imagine, por ejemplo, que una aplicación quiere leer de un dispositivo que no
existe. El sistema de E/S verá que el dispositivo no está y lo notificará a los
niveles superiores hasta que el error llegue a la aplicación. Sin embargo, es
importante resaltar que los sistemas operativos son cada vez más robustos y
cada vez incluyen más control y reparación de errores, para lo cual usan
métodos de paridad, checksums, códigos correctores de error, etc. Además, la
información que proporcionan cuando hay un error es cada vez mayor.
4.4. Operaciones de Entrada /salida
Tanto en la E/S programada como la basada en interrupciones, la UCP
debe encargarse de la transferencia de datos una vez que sabe que hay datos
disponibles en el controlador. Una mejora importante para incrementar la
concurrencia entre la UCP y la E/S consiste en que el controlador del
dispositivo se pueda encargar de efectuar la transferencia de datos, liberando
de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la
operación completa de EIS. Esta técnica se denomina acceso directo a
memoria (DMA, Direct Memory Access).
Los pasos a seguir en una operación de E/S con DMA son los siguientes:
1. Programación de la operación de E/S. Se indica al controlador la
operación, los datos a transferir y la dirección de memoria sobre la que
se efectuará la operación.
2. El controlador contesta aceptando la petición de E/S.
3. El controlador le ordena al dispositivo que lea (para operación de
lectura) una cierta cantidad de datos desde una posición determinada
del dispositivo a su memoria interna. 7.3.
4. Cuando los datos están listos, el controlador los copia a la posición de
memoria que tiene en sus registros, incrementa dicha posición de
memoria y decrementa el contador de datospendientes de transferir.
5. Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.
6. Cuando el registro de contador está a cero, el controlador interrumpe
a la UCP para in dicar que la operación de DMA ha terminado.
Hemos visto como se utilizan los programas de canal para realizar operaciones
de E/S. Estos programas residen en la memoria principal del computador y se
ejecutan en el canal. Vamos a examinar ahora la forma en que la CPU inicia y
supervisa las operaciones de E/S, es decir, el programa de canal. En el IBM
S/370 existen cuatro instrucciones máquina que la CPU puede utilizar para
estos fines. Son las siguientes:
Una operación de E/S se inicia con la instrucción START I/O. La ubicación del
programa de canal en la memoria principal viene definida en la palabra de
dirección de canal (CAW: Channel Address Word), que siempre está
almacenada en la posición 72 de la memoria principal.