gestion entrada y salida

19
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA, CIENCIA Y TECNOLOGÍA U. P. T. P. “LUIS MARIANO RIVERA” DEPARTAMENTO DE INFORMÁTICA EXTENSIÓN CAJIGAL YAGUARAPARO ESTADO SUCRE Facilitador Asesor: Ing. Malavé, Abdías Yaguaraparo, Noviembre del 2016 Autores: T.S.U. Medina, Jezer T.S.U. Subero, Fray

Upload: david-martinez

Post on 16-Jan-2017

59 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Gestion entrada y salida

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA,

CIENCIA Y TECNOLOGÍA

U. P. T. P. “LUIS MARIANO RIVERA”

DEPARTAMENTO DE INFORMÁTICA

EXTENSIÓN CAJIGAL

YAGUARAPARO ESTADO SUCRE

Facilitador Asesor:

Ing. Malavé, Abdías

Yaguaraparo, Noviembre del 2016

Autores:

T.S.U. Medina, Jezer

T.S.U. Subero, Fray

Page 2: Gestion entrada y salida

INTRODUCCIÓN

Un computador no puede estar formado sólo por la CPU y la memoria. Para darle

alguna utilidad debe de poder comunicarse con el mundo exterior. Esto se realiza a

través de los dispositivos de entrada/salida. El papel que juegan los dispositivos

periféricos de la computadora es esencial; sin tales dispositivos ésta no sería totalmente

útil. A través de los dispositivos periféricos podemos introducir a la computadora datos.

La computadora necesita de entradas para poder generar salidas y éstas se dan a través

de dos tipos de dispositivos periféricos existentes: dispositivos periféricos de entrada y

dispositivos periféricos de salida.

Page 3: Gestion entrada y salida

Entrada/Salida

Es la transferencia de información hacia o desde un proceso. Los dispositivos de

E/S son los que permiten hacer esta transferencia: teclado, ficheros, red, pantalla, entre

otros. El sistema de Entrada/Salida es la parte del sistema operativo encargada de la

gestión de los dispositivos de E/S y actúa como interfaz entre los dispositivos de E/S y el

resto del sistema.

Software de Entrada/Salida

El software de E/S suele estar organizado en 4 capas, cada una con una función

bien definida y una interfaz clara con las capas adyacentes.

1. Manejadores de interrupciones.

2. Manejadores de dispositivos.

3. Software de E/S independiente del dispositivo (SID).

4. Software de E/S en el espacio de usuario.

Page 4: Gestion entrada y salida

Manejador de Interrupciones

El proceso que solicita la operación se bloquea hasta que termina la E/S. Cuando

se presenta una interrupción el manejador de interrupciones hace lo propio para

manejarla. Después avisa al manejador que le solicitó esa operación de E/S. El

manejador despierta al proceso y prosigue su ejecución. Así, el efecto real es que el

proceso que antes estaba bloqueado ahora ya puede ejecutarse.

Manejador de Dispositivos

Código que depende de los dispositivos, que sirve para controlarlos. Cada

manejador habla con la controladora de un tipo determinado de dispositivos, o de una

clase de dispositivos; éste forma parte del núcleo del S.O. y necesita ejecutarse en modo

núcleo para acceder a los registros de la controladora del dispositivo.

Tareas del manejador del dispositivo:

1. Trata las solicitudes abstractas del SID y se encarga de que se satisfagan

indicando a la controladora qué hay que hacer y leyendo la respuesta de la

misma.

2. Verifica la ejecución de la operación, corrigiendo posibles errores.

3. Inicializa el dispositivo, comprueba si está encendido (p.e. el motor de una

disquetera), si está conectado, o si está ocupado.

Al solicitar la orden a realizar, el manejador puede ser que tenga que esperar

(bloqueándose hasta que se produzca una interrupción) o que la operación termine sin

retraso (el manejador no se bloquea). Además ha de ser reentrante durante su ejecución,

debe considerar la posibilidad de que se le invoque otra vez antes de terminar.

Page 5: Gestion entrada y salida

Software de Entrada/Salida Independiente del Dispositivo

Hay software que no dependen directamente del dispositivo. Algunas funciones

que podrían efectuarse con independencia del dispositivo en realidad se ejecutan en el

manejador por eficiencia o por otros motivos.

Funciones:

1. Interfaz uniforme del software a nivel de usuario.

2. Asociación de nombres simbólicos de los dispositivos y el manejador correcto.

3. Interfaz uniforme para manejadores de dispositivo.

4. Protección de dispositivos osea evitar que usuarios no autorizados accedan al

dispositivo.

5. Tamaño de bloque independiente del dispositivo:

Agrupar o dividir sectores para conseguir un tamaño único de bloque lógico.

Las capas superiores pueden trabajar con dispositivos abstractos.

6. Uso de buffers para almacenamiento temporal de los datos:

Homogeneizan velocidades, se pueden recibir los datos de manera más rápida

que la velocidad que pueden salir.

7. Asignación de espacio en los dispositivos de bloques:

Realizar la gestión de la lista ligada o mapa de bits para administrar el espacio

libre.

8. Informe de errores:

Los errores no resueltos por los manejadores deberán ser tratados por el SID, que

intentará solucionarlos, y si no puede, deberá informar de los mismos.

Page 6: Gestion entrada y salida

Software de Entrada/Salida en Espacio de Usuario

La mayoría del software de E/S está en el núcleo. Sin embargo, también hay

procedimientos de biblioteca que se ejecutan en modo usuario y que se encargan de

realizar las llamadas al sistema. Normalmente preparan el «entorno» adecuado y a

continuación realizan la llamada al sistema.

Métodos de Entrada/Salida

Polling o Programada

La sincronización se consigue al preguntarle la CPU (poll) al dispositivo si tiene

un dato que entregar o, si es el caso, si está listo para recibir uno. Se pierde tiempo en

preguntar al dispositivo (se pierde más cuanto más a menudo se le pregunte). Es lento, e

incluso podrían perderse datos si no se le pregunta muy a menudo.

Page 7: Gestion entrada y salida

Por Interrupción

El dispositivo avisa a la CPU de que requiere antención mediante una

interrupción. Cuando llega la interrupción el S.O.

Salva el estado de lo que está haciendo.

Trasfiere el control a la rutina de servicio de dicha interrupción.

Ejecuta la rutina de servicio de dicha interrupción.

Reanuda la ejecución donde fue interrupida.

Dichas rutinas están en memoria en unas direcciones apuntadas por los vectores de

interrupción. Es el S.O., en su proceso de inicialización, el que instala dichas rutinas.

Page 8: Gestion entrada y salida

Por DMA o Acceso Directo a Memoria

El controlador de DMA se encarga de la transferencia directa de datos, sin

intervención de la CPU. El controlador de DMA suministra las señales de dirección y

todas las señales de control del bus. La CPU debe suministrar al controlador de DMA el

tipo de operación (lectura o escritura), dirección de transferencia de datos y cantidad de

bytes a transferir. Cuando la transferencia se completa le DMA avisa a la CPU por

medio de una interrupción. El bus debe compartirse entre la CPU y el DMA.

Procesador de Entrada/Salida (PE/S)

El PE/S representa una extensión del concepto DMA. Es el controlador de E/S

convertido en procesador con un conjunto de instrucciones especializadas en

operaciones de E/S, lo que le da un control completo sobre dicha operación. En los

computadores que incluyen PE/S, la UCP no ejecuta las instrucciones de E/S, éstas se

almacenan en memoria principal para ser ejecutadas por un PE/S. Así la UCP inicia una

transferencia de E/S al dar una orden al PE/S para que ejecute un programa en memoria.

Page 9: Gestion entrada y salida

Hardware

Dispositivos de Entrada/Salida

Pueden clasificarse en tres categorías:

Dispositivos Legibles por los Humanos: Apropiados para la comunicación

con el usuario, como por ejemplo terminales de video, teclado, etc.

Dispositivos Legibles por la Máquina: Adecuado para comunicarse con el

equipo electrónico, como discos, unidad de cinta, etc.

Dispositivos de Comunicaciones: Apropiados para la comunicación con

dispositivos lejanos por ejemplo adaptadores de líneas digitales y MODEM.

Existen grandes diferencias entre las clases de dispositivos, entre las diferencias

principales están las siguientes:

Velocidad de los Datos: Puede haber una diferencia de varias órdenes de

magnitud en las velocidades de transmisión de datos.

Aplicaciones: La utilidad que se le da a un dispositivo tiene una gran influencia

en el software y las políticas del sistema operativo y de apoyo.

Complejidad del Control: Una impresora necesita una interfaz de control

relativamente simple. Un disco es mucho más complejo. La lógica del modulo de

E/S que controla el dispositivo filtra, hasta cierto punto, el efecto de estas

diferencias sobre el sistema operativo.

Unidad de Transferencia: Los datos pueden transferirse como flujos de bytes

o caracteres (por ejemplo E/S a terminales) o en bloques mayores (por ejemplo

E/S a discos).

Page 10: Gestion entrada y salida

Representación de los Datos: en diferentes dispositivos se emplean

diferentes esquemas de codificación de datos, incluidas las diferencias en los

códigos de caracteres y los convenios de prioridad.

Dentro de los dispositivos de entrada y salida podemos encontrar los siguientes:

teclado, mouse (ratón), teclado, discos duros, pantalla, impresora, disquete, modem,

entre otros.

Tipos de Entrada/Salida

Según el métodos de comunicación de la CPU con los dispositivos distinguimos:

Entrada/Salida mapeada en memoria.

Entrada/Salida explícita.

Según la percepción que tiene un proceso de como se realiza la e/s:

Entrada/Salida síncrona.

Entrada/Salida asíncrona.

Page 11: Gestion entrada y salida

Entrada/Salida Mapeada en Memoria

Los dispositivos aparecen en el espacio de direcciones. Se comparte el espacio de

direcciones entre la memoria y los dispositivos.

Entrada/Salida Explícita

Se dispone de un rango de direcciones explicitas e/s. (este sistema se llama e/s

expl´ıcita). A veces hay instruciones especiales para acceder a este espacio e/s (IN y

OUT en intel) o un registro de control que activa este espacio (powerpc). En estos

sistemas tambien se pueden utilizar los dispositivos mapeados en memoria.

Entrada/Salida Síncrona

Dado que la CPU es mucho más rápida que los dispositivos de e/s, una vez

iniciada la e/s el S.O. asigna la CPU a otra tarea dejando al proceso que inicie la tarea en

espera. El proceso percibe la e/s como síncrona, aunque es de hecho asíncrona.

Entrada/Salida Asíncrona

Muchos sistemas operativos permiten tambien la e/s asíncrona: el proceso inicia

la e/s y continua su ejecución. El proceso es avisado por el S.O. cuando la operación de

e/s se ha completado.

Discos

Un disco esta formado por un conjunto de platos que giran solidariamente. Cada

uno de las superficies de dichos platos se denomina cara. Cada cara esta compuesta por

Page 12: Gestion entrada y salida

una serie de coronas circulares concéntricas denominada pista. Al conjunto formado por

la misma pista en distintas cara se le denomina cilindro. Cada cilindro está formado por

una serie de sectores:

El sector es la unidad de e/s elemental de un disco duro.

Típicamente cada sector tiene 512 bytes.

Planificación de Discos

Una de las obligaciones del sistema operativo es usar el hardware de forma

eficiente. En el caso de las unidades de disco, esto implica tener un tiempo de acceso

breve y gran ancho de banda de disco.

El tiempo de acceso tiene dos componentes principales:

El Tiempo de Búsqueda (Seek Time): Es el tiempo que tarda el brazo del

disco en mover las cabezas al cilindro que contiene el sector deseado. La latencia

rotacional es el tiempo adicional que el disco tarda en girar hasta que el sector

deseado queda bajo la cabeza del disco.

El Ancho de Banda: Del disco es el número total de bytes transferidos,

dividido entre el tiempo total transcurrido entre la primera solicitud de servicio y

la finalización de la última transferencia.

Cada vez que un proceso necesita E/S de o al disco, emite una llamada al sistema

operativo. La solicitud especifica varios elementos de información:

Si esta operación es de entrada o de salida.

La dirección en disco para la transferencia.

La dirección en memoria para la transferencia.

El número de bytes por transferir.

Page 13: Gestion entrada y salida

Una forma simple de atender a las solicitudes en el disco es la primero en llegar

primero en ser atendido.

Existen además otros criterios para evaluar las políticas de planificación:

Capacidad de ejecución

Media del tiempo de respuesta

Varianza de los tiempos de respuesta

Los algoritmos de planificación de búsquedas son los siguientes:

FCFS o FIFO: Es igual que no tener planificación. Las solicitudes se atienden

en el mismo orden que llegan.

SSTF Shortest Seek Time First. Se antiende primero a las solicitudes con menor

tiempo de búsqueda desde la posición actual. Mejora el tiempo de búsqueda

promedio, pero no produce tiempos homogéneos ni predecibles.

SCAN (Tambien denominado algoritmo del ascensor: se atiende a la solicitud

mas próxima pero solo en un sentido. Como las solicitudes de la zona central del

disco reciben más atención que las de lo extremos: C-SCAN Igual que el SCAN

pero al llegar a un extremo del disco se vuelve al principio su antender ningua

solicitud (como un ascensor que sólo para en las subidas).

C-LOOK (variante de C-SCAN, pero que (si no es necesario) no llega a los

extremos al subir, pues se queda en el último cilindro "pedido", ni al iniciar la

subida, pues comienza NO desde el cilindro "0" SINO desde el primero

"pendiente".)

Page 14: Gestion entrada y salida

Drivers de Entrada/Salida

Un controlador de dispositivo (en inglés es denominado driver) es un programa

informático que permite al sistema operativo interactuar con un periférico, haciendo una

abstracción del hardware y proporcionando una interfaz posiblemente estandarizada

para usarlo. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.

Los controladores de dispositivo se suelen agrupar en alguna de las siguientes

categorías o clases:

Adaptadores de audio (tarjetas de sonido), dispositivos de comunicación

(infrarrojos, módems, etc), dispositivos de visualización; pantallas (displays), teclados,

ratón (“mouse” y otros señaladores gráficos), dispositivos multimedia, dispositivos de

red, impresoras, almacenamiento.

Page 15: Gestion entrada y salida

Mecanismos y Funciones de los Manejadores de Dispositivos (Device

Drivers)

El controlador es el componente más importante desde el punto de vista del

sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la

computadora y es el componente que se ve desde el CPU. El S. O. generalmente trabaja

con el controlador y no con el dispositivo. La interfaz entre el controlador y el

dispositivo es con frecuencia de muy bajo nivel:

La comunicación es mediante un flujo de bits en serie que:

Comienza con un preámbulo.

Sigue con una serie de bits (de un sector de disco, por ejemplo).

Concluye con una suma para verificación o un código corrector de errores.

El preámbulo:

Se escribe al dar formato al disco.

Contiene el número de cilindro y sector, el tamaño de sector y otros datos

similares.

El controlador debe:

Convertir el flujo de bits en serie en un bloque de bytes.

Efectuar cualquier corrección de errores necesaria.

Copiar el bloque en la memoria principal.

Cada controlador posee registros que utiliza para comunicarse con el CPU:

Pueden ser parte del espacio normal de direcciones de la memoria: e/s mapeada a

memoria.

Pueden utilizar un espacio de direcciones especial para la e/s, asignando a cada

controlador una parte de él.

Page 16: Gestion entrada y salida

El S. O. realiza la e/s al escribir comandos en los registros de los controladores;

los parámetros de los comandos también se cargan en los registros de los controladores.

Al aceptar el comando, el CPU puede dejar al controlador y dedicarse a otro trabajo.

Al terminar el comando, el controlador provoca una interrupción para permitir

que el sistema operarivo:

Obtenga el control del CPU.

Verifique los resultados de la operación.

El CPU obtiene los resultados y el estado del dispositivo al leer uno o más bytes

de información de los registros del controlador. Su programación se lleva a cabo

mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros

del controlador, incluidos en el mapa de E/S de la computadora, que se pueden acceder

mediante instrucciones de máquina de E/S.

Hay tres registros importantes en casi todos los controladores:

Registro de datos.

Estado.

Control.

Utilización de Buffers Entrada/Salida

Almacenamiento Intermedio de la Entrada/Salida

La forma más sencilla de hacerlo sería emitir una orden de E/S y a que los datos

estén disponibles. Hay dos problemas, en primer lugar, el programa se queda colgado

esperando a que lentamente la operación de E/S termine. El segundo problemas es que

este método de E/S interfiere en las decisiones de intercambio del sistema operativo.

Hay riesgo de interbloqueo con un solo proceso.

Page 17: Gestion entrada y salida

Para evitar esta carga e incapacidad, a veces es conveniente llevar a cabo las

transferencias de entrada por adelantado a las peticiones y realizar las transferencias de

salida de un tiempo después de hacer la petición. Esta técnica se conoce con el nombre

de almacenamiento intermedio (buffering).

Memoria Intermedia Sencilla

Cuando un proceso de usuario realiza una solicitud de E/S, el sistema operativo

le asigna a la operación un espacio en la parte del sistema de la memoria principal. Las

transferencias de entrada se realizan en el espacio del sistema. Cuando se ha completado

la transferencia, el proceso mueve el bloque al espacio del usuario y solicita otro bloque

inmediatamente.

Memoria Intermedia Doble

Se puede realizar una mejora sobre la memoria intermedia sencilla asignando a la

operación dos almacenes intermedios del sistema. De esta forma, un proceso puede

transferir datos hacia (o desde) una memoria intermedia mientras que el sistema

operativo vacía (o rellena) el otro.

Memoria Intermedia Circular

Si preocupa el rendimiento de un proceso determinado, sería deseable que las

operaciones de E/S fueran capaces de ir al ritmo del proceso. Si el proceso lleva a cabo

rápidas ráfagas de E/S el problema puede mitigarse usando más de dos memorias

intermedias.

Cuando se emplean más de dos, el conjunto de memorias intermedias se conoce

con el nombre de memoria intermedia circular. Cada memoria intermedia individual

Page 18: Gestion entrada y salida

constituye una unidad de la memoria intermedia circular. Este es el modelo del

productor/consumidor con una memoria intermedia limitada.

Page 19: Gestion entrada y salida

CONCLUSIÓN

Los distintos tipos de herrmaientas que utilizamos continuamente al manejar una

computadora cumplen, con un papel fundamental a la hora de transferir datos. Hoy en

dia, las computadoras son muy utilizadas en cualquier aspecto de la vida, asi como

también utilizamos algunas herramientas de entrada y salida, que son de vital

importancia tanto para el computador como para nosotros como usuarios, entre ellas

podemos mencionar: el teclado, la pantalla, el mouse o ratón, así como tambien los

discos duros, cd, dvd, pendrive, entre otros.