viernes, 10 de septiembre de 2010



Marydalia Garcia Marti .... 2007-054

Maria Magdalena Viloria ... 2006-661

Elizabeth Vasquez Garcia .... 2007-053

Xiomara R. de la Cruz Jerez ... 2007-035
Janilda de Leon Paulino ... 2006-626

Estructura de Software de E/S

El software de E/S se organiza en niveles de forma que los niveles inferiores se encargan de ocultar las características del hardware a los niveles superiores, que, a su vez, se ocupan de presentar una interfaz simple y uniforme a los usuarios.

Objetivos:

1. Independencia del dispositivo: posibilidad de no tener que modificar los programas para cada tipo de dispositivo. 2. Manejo de errores: es mejor tratar los errores cuanto más cerca del hardware. 3. Tipo de transferencias: hacer que las operaciones que son controladas por interrupción parezcan al programa controladas por él. 4. Tipos de dispositivos: gestionar los dispositivos no compartibles. Niveles del software de E/S
Niveles (Tanenbaum) Software de E/S a nivel de usuario Software de E/S independiente del dispositivo Software de E/S dependiente del dispositivo Manejadores de interrupciones HARDWARE Petición de E/S Respuesta de E/S Software de E/S a nivel de usuario
No forma parte del S. O.. Consiste en bibliotecas que se enlazan con los programas de usuario y a través de las cuales se realizan las llamadas al S. O..

Funciones:

1. colocar los parámetros en el lugar adecuado para realizar la petición a niveles inferiores. 2. interpretar la información que se recibe o se manda (formatear). 3. informar del error en caso de que se haya producido al realizar la operación de E/S. Software de E/S independiente del dispositivo Pertenece al S. O.. Cuando el nivel anterior realiza una petición a este se origina la ejecución de una rutina de este software de E/S.
Funciones:
1. implementar las operaciones de E/S que son comunes a todos los dispositivos y presentar una interfaz uniforme a los programas de usuario;
2. asignar nombres simbólicos a los dispositivos de E/S y establecer la correspondencia entre el nombre simbólico del dispositivo y el manejador correspondiente;
3. proteger los dispositivos por parte de los usuarios que no tienen permiso; Área de Lenguajes y Sistemas Informáticos (E.G.R.) Software de E/S independiente del dispositivo. Funciones:
4. ocultar el hecho de que los diferentes tipos de disco tengan distintos tamaños de sector, proporcionando un tamaño de bloque uniforme a los niveles superiores;
5. gestionar el almacenamiento temporal de los datos en las operaciones de E/S;
6. gestionar la asignación de espacio en dispositivos de bloques;
7. gestionar los dispositivos no compartibles, atendiendo las peticiones de utilización de dichos dispositivos y aceptándolas o rechazándolas dependiendo de la disponibilidad del dispositivo;
8. realizar un tratamiento del error independiente del dispositivo.

Problemática de los dispositivos de E/S



Aspectos en los que pueden diferir los dispositivos de E/S:
1. Diferencia de velocidad: de los periféricos frente a la C. P. U. y entre
los propios dispositivos de E/S.


2. Unidad de transferencia: caracteres, palabras, bytes, bloques o
registros.


3. Representación de los datos: usar distintos códigos para un mismo
elemento de información en diferentes periféricos.


4. Operaciones permitidas: por ejemplo, existen periféricos que solo
realizan entradas y otros que solo realizan salidas, etc.


5. Condiciones de error: las causas por las que no se puede completar con
éxito una transferencia de datos depende del periférico que se utilice.
Área de Lenguajes y Sistemas Informáticos (E.G.R.)

Objetivos generales del software de E/S


1. Independencia del periférico. Aspectos a considerar:
a) Un programa debe de ser independiente del modelo del periférico de
un tipo determinado de periférico que le sea asignado.
b) Un programa sea independiente lo más posible, del tipo de periférico
empleado.
2. Eficiencia.
3. Tratamiento uniforme de los periféricos. Consecuencias:
a) Independencia del código de los caracteres: el sistema de E/S es el
responsable de reconocer los distintos códigos que usan los periféricos
y traducirlos a una representación interna uniforme, denominada
código interno de los caracteres, para los programas. Esta conversión
se realiza después de la entrada y antes de la salida.


Objetivos generales del software de E/S


b) Los programas deberán trabajar sobre periféricos virtuales (streams o
ficheros) y no sobre físicos: el S. O. es el que asocia los streams con los
periféricos reales, guardando en una lista de descriptores de streams dicha
correspondencia.


c) El sistema de E/S se debe construir de forma que las características de los
periféricos estén ligadas a ellos, en vez de a las rutinas que los gestiona.
Esto se obtiene codificando dichas características en una tabla de
descriptores de periférico, de forma que los programas de gestión de los
periféricos obtienen de ellas la información necesaria. Entre otra:
Identificación del periférico, Instrucciones con las que actúa,
􀀹 Punteros a las tablas para la traducción de los caracteres,
􀀹 Estado actual (ocupado, libre o estropeado),
􀀹 Proceso de usuario en curso.



Principios hardware de E/S


A. Tipos de dispositivos de E/S.
1. dispositivos de bloques: almacenan la información en bloques de
tamaño fijo.


2. dispositivos de caracteres: producen o aceptan flujos de caracteres
sin ninguna estructura de bloques.


B. Controladores de dispositivos: parte que controla al dispositivo.
Los controladores usan unos cuantos registros denominados puertos para
comunicarse con el procesador. A través de ellos se transfieren: comandos
u ordenes, que hacen que el controlador inicie determinadas operaciones
sobre el dispositivo; parámetros que indican como debe funcionar el
dispositivo; y datos, ya sean de escritura o de lectura según el sentido de la
operación.

Bibliografía

Miguel, P. de Miguel. Fundamentos de los Computadores. Ed. Paraninfo, 1998.

D. Patterson y J. Hennessy. Computer Organization and Design: The Hardware/Software
Interface. Morgan Kaufmann, 1994.

W. Stallings. Computer Organization and Architecture, 4• edición, Prentice-Hall, 1996

A. S. Tanenbaum. Structured Computer Organization, 4• edición, Prentice-Hall, 1999

Gestor de Entrada/Salida (E/S)






Gestor de E/S
Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.




Entrada y salida designa cualquier transferencia de información desde o hacia memoria o el procesador. Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos. El sistema de entrada y salida es la parte del S.O. encargada de la administración de los dispositivos de e/s.




Este sistema proporciona un medio para tratar los archivos y dispositivos de manera uniforme, actuando como interfaz (debe ser independiente, sencilla y fácil de utilizar) entre los usuarios y los dispositivos de e/s que pueden ser manipulados por ordenes de alto nivel. Entrada y salida designa cualquier transferencia de información desde o hacia memoria o el procesador.




Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos.




El sistema de entrada y salida es la parte del S.O. encargada de la administración de los dispositivos de e/s.

Este sistema proporciona un medio para tratar los archivos y dispositivos de manera uniforme, actuando como interfaz (debe ser independiente, sencilla y fácil de utilizar) entre los usuarios y los dispositivos de e/s que pueden ser manipulados por órdenes de alto nivel.




Gestión de E/S. Planificación de Discos
Dispositivos de E/S




Dispositivos internos
Los principales dispositivos internos son los discos RAM, que usan una porción de memoria pre-asignada para almacenar los bloques. Tienen la ventaja de que el acceso es instantáneo (a la velocidad de la memoria central).




Dispositivos externos



Se clasifican en:

  • Leíbles por humanos: apropiados para comunicarse con el usuario. Ej: Mouse, terminales de video, etc.



  • Leíbles por la maquina: para comunicarse con el equipo electrónico. Ej; discos, sensores, drivers de cinta, etc.



  • Comunicación: para comunicarse con drivers remotos. Ej: Líneas digitales, modems, etc.




Existen grandes diferencias entre estas clases de dispositivos de E/S. Las principales son:

  • Velocidad de transmisión de datos



  • SW, HW y políticas de apoyo de S.O. que requiere el dispositivo.



  • Complejidad de control: Se refiere a la complejidad que requieren los dispositivos de I/O, Una impresora necesita una interface de control mas simple que un disco.



  • Unidad de transferencia: puede ser como una cadena de bytes o caracteres o como largos bloques.



  • Representación de los datos: Cada dispositivo utiliza distintos códigos de datos de programa, incluyendo diferentes código de caracteres y conversiones de paridad.



  • Condiciones de error: Cada dispositivo difiere en naturaleza de error, como se reportan, las consecuencias, etc.




Objetivos en el Diseño de E/S





  • Eficiencia: la mayoría de los dispositivos de I/O son extremadamente lentos comparados con la memoria principal y el procesador. Por esto se necesita la multiprogramación. Permite que algunos procesos esperen en las operaciones de I/O mientras otro se ejecuta. Sin embargo, se sigue malgastando tiempo de procesador. Para esto se puede utilizar Swapping, que trae procesos listos adicionales para mantener al procesador ocupado. Finalmente, el mejor esfuerzo de programa de diseño para mejorar la eficiencia de I/O fue el propio disco de I/O.



  • Generalidad: se trata de manejar un numero de dispositivos de manera uniforme. Como es difícil alcanzar generalidad entre las distintas características de los dispositivos, se utiliza un mecanismo para el diseño de los dispositivos de I/O que se encarga de esconder la mayoría de los detalles de los dispositivos en el nivel mas bajo de rutinas para que los procesos y los niveles mas altos del SO vean a los dispositivos como funciones generales. Ej.: leer, cerrar, abrir, etc




Técnicas para la Organización de la Función de E/S





  1. E/S programada: En el procesador se activa un comando de I/O, en representación de un proceso y hacia un modulo de I/O, luego ese proceso tiene tiempos de espera hasta que la operación se complete para proceder. Ejecuta cuatro tipos de comandos: control, verificación, lectura y escritura.



  2. E/S por interrupciones: Es igual que el anterior pero antes de terminar la operación o las instrucciones, el modulo de I/O envía una señal de interrupción. Se suspende el proceso y se prepara otro trabajo. Esto incrementa la eficiencia.



  3. Acceso directo a memoria (DMA): Controla el intercambio de datos entre la memoria principal y el modulo de I/O. El procesador envía una petición de transferencia de un bloque de datos a la DMA y se interrumpe solo cuando todo el bloque es transferido. El procesador solo se involucra al principio y al final del proceso.




Canales de E/S

El canal de E/S es una extensión del concepto de DMA. Un canal de E/S tiene la capacidad de ejecutar instrucciones de E/S, lo que le da un control total sobre las operaciones de E/S. En un sistema informático que conste de tales dispositivos, las instrucciones de E/S se almacenan en la memoria principal y serán ejecutadas por un procesador de propósito específico en el mismo canal de E/S. Así, la CPU inicia una transferencia de E/S ordenando al canal que ejecute un programa en la memoria. Los canales de E/S pueden realizar las transferencias de datos en serie o en paralelo.


Hay dos tipos comunes de canales de E/S:
  • Canal selector: controla varios dispositivos y transfiere datos de estos dispositivos, uno por vez.



  • Canal multiplexor: puede manejar la E/S con varios dispositivos al mismo tiempo.