PROCESO E/S O SISITEMAS DE E/S

67
Juan Carlos Pachón Rodríguez Universidad de Cundinamarc a

description

se explica cada una de las e/s de un proceso en el sistema operativo

Transcript of PROCESO E/S O SISITEMAS DE E/S

Page 1: PROCESO  E/S O  SISITEMAS DE E/S

Juan Carlos

Pachón

Rodríguez

Universidad

de

Cundinamar

ca

Page 2: PROCESO  E/S O  SISITEMAS DE E/S

PROCESOS DE

ENTRADA Y S

ALIDA

Page 3: PROCESO  E/S O  SISITEMAS DE E/S

Que es un proceso

Conjunto de recursos y actividades

interrelacionados que transforman

elementos de entrada en elementos de

salida. 

Page 4: PROCESO  E/S O  SISITEMAS DE E/S

Estado de un proceso

Nuevo: el proceso se está creando.

Ejecución: se están ejecutando

instrucciones en espera.

En Espera: El proceso está esperando que

ocurra un evento (como la terminación de

una operación de E/S o la recepción de una

señal).

Listo: el proceso está en espera de ser

asignado a un procesador.

Terminado: el proceso ha terminado su

ejecución.

Page 5: PROCESO  E/S O  SISITEMAS DE E/S

Gestión Entrada Salida

Cuando se codifica un programa, se hace con la

intención de que ese programa pueda interactuar

con los usuarios del mismo, es decir, que el usuario

pueda pedirle que realice cosas y pueda

suministrarle datos con los que se quiere que haga

algo.

Una vez introducidos los datos y las órdenes, se

espera que el programa manipule de alguna forma

esos datos para proporcionarnos una respuesta a lo

solicitado.

Page 6: PROCESO  E/S O  SISITEMAS DE E/S

E/S Programada

El procesador emite una orden de E/S

de parte de un proceso a un módulo

de E/S; el proceso espera entonces a

que termine la operación, antes de

seguir.

Page 7: PROCESO  E/S O  SISITEMAS DE E/S

Sistemas de E/S

Hardware Interfaz de E/S de aplicaciones Subsistemas E/S del Kernel Transformación de las solicitudes de E/S en operaciones de hardware Streams rendimiento

Page 8: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Page 9: PROCESO  E/S O  SISITEMAS DE E/S

Tipos de entrada y salida

La E/S estándar, que se realiza con el terminal del

usuario.

La E/S a través de fichero, en la que se trabaja con

ficheros de disco.

Page 10: PROCESO  E/S O  SISITEMAS DE E/S

La entrada/salida que se comunica con el usuario a

través de la pantalla o de la ventana del terminal.

clasifican básicamente en tres categorías

Dispositivos legibles por los humanos

Dispositivos legibles por la maquina

Dispositivos de comunicaciones

Entrada/Salida Estándar

Page 11: PROCESO  E/S O  SISITEMAS DE E/S

Son aquellos que están diseñados para mantenercomunicación entre la computadora y el usuario.

Dispositivos legibles por los humanos

Page 12: PROCESO  E/S O  SISITEMAS DE E/S

Son aquellos que mantienen una comunicación con equipos

electrónicos.

Dispositivos legibles por la maquina

Page 13: PROCESO  E/S O  SISITEMAS DE E/S

Son aquellos que están diseñados exclusivamente paramantenerse en comunicación con otros dispositivos a

largasdistancias.

Dispositivos de comunicaciones

Page 14: PROCESO  E/S O  SISITEMAS DE E/S

Los ficheros de texto están compuestos de

caracteres legibles, mientras que los binarios pueden

almacenar cualquier tipo de datos (int, float,

boolean,...).

Entrada/Salida ficheros

Page 15: PROCESO  E/S O  SISITEMAS DE E/S

Cada dispositivo se comunica a través de un cable o del aire

Los dispositivos utilizan un conjunto común de hilos dicha conexión de denomina bus.

Conexión en cascada

Estructura típica de un bus de PC

Controladora: es una colección de componentes eléctricos Que permiten controlar un puerto un bus o un dispositivo

HARDWARE

Page 16: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Page 17: PROCESO  E/S O  SISITEMAS DE E/S

Un puerto de E/S esta compuesto típicamente de 4 registros

(1)Registro de entrada: el host lee el registro de entrada de datos para obtener una entrada

(2) Registro de salida: el host escribe en el registro dede datos para enviar la salida

(3) Registro de estado: contiene bits que el host puede leer.estos bits indican estados

(4) Registro de control: puede ser escrito por el host paraIniciar un comando o para cambiar el modo de un dispositivo

HARDWARE

Page 18: PROCESO  E/S O  SISITEMAS DE E/S

El protocolo completo de interacción entre el host y una controladora que puede ser complejo, pero la negociación Resulta muy simple.

Ejecuta un bucle leyendo una y otra vez el registro de

Muchas arquitecturas informaticas, para sondear unDispositivo basta con tres ciclos de instrucciones de la cpu1. Leer un registro del dispositivo2. Efectuar una operación de and para extraer un bit de estado3. Saltar si ese bit es cero

HARDWARE

sondeo

Page 19: PROCESO  E/S O  SISITEMAS DE E/S

Mejora la eficiencia del procesamiento Permite al procesador ejecutar otrasinstrucciones mientras una operación deentrada/salida está en marcha Una suspensión del proceso causada por unevento externo al proceso realizado de talmanera que el proceso pueda ser reanudado

HARDWARE

interrupciones

Page 20: PROCESO  E/S O  SISITEMAS DE E/S

El hardware de la CPU tiene un hilo denominado línea de solicitud de interrupciones que la CPU, comprueba después de ejecutar cada instrucción. Cuando la CPU detecta que la controladora ha activado una señal a través de la línea de solicitud de interrupciones , la CPU guarda el estado actual y salta a La rutina de tratamiento de interrupciones situada en una dirección fija de memoria.

HARDWARE

interrupciones

Page 21: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

* Interrupción no mascarable: eventos como errores de memoria no recuperables

* Inerrupción Mascarable: pueden ser apagada por la CPU antes de la ejecución. no deben ser interrumpidas. Es utilizada por los controladores de dispositivos para solicitar servicio.

Líneas de solicitud de interrupción CPU:

Page 22: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Ciclos de interrupciones

El procesador comprueba las interrupciones

Si no hay peticiones, busca la siguiente instrucción del programa de usuario

Si hay una interrupción pendiente, suspende la ejecución del programa y ejecuta la RTI

Page 23: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Ciclos de interrupciones

Page 24: PROCESO  E/S O  SISITEMAS DE E/S

Programa de control de flujo sin y con interrupciones

Page 25: PROCESO  E/S O  SISITEMAS DE E/S

Deshabilitar las interrupciones mientras una interrupción está en Proceso

– El procesador ignora cualquier nueva señal de petición de interrupción

HARDWARE

Interrupciones múltiples

Page 26: PROCESO  E/S O  SISITEMAS DE E/S

Deshabilitar las interrupciones de manera que el procesador pueda completar la tarea

La interrupción queda pendiente hasta que el procesador permite interrupciones

Cuando acaba la rutina de tratamiento de la interrupción (RTI), el procesador comprueba si hay interrupciones pendientes

HARDWARE

Interrupciones múltiplesEn orden secuencial

Page 27: PROCESO  E/S O  SISITEMAS DE E/S

El procesador es interrumpido cuando un módulo de E/S está listo para intercambiar datos

El procesador queda libre para realizar otras tareas

No requiere tiempos de espera

Consume tiempo de CPU porque cada palabra que se lee o escribe pasa a través del procesador

HARDWARE

E/ S por Interrupciones

Page 28: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

interrupciones

Page 29: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Acceso directo a la memoria

Transfiere un bloque de datos directamente a o desde la memoria

Se envía una interrupción cuando se completa la Transferencia

El procesador sólo está implicado en el inicio y fin de la transferencia

Page 30: PROCESO  E/S O  SISITEMAS DE E/S

HARDWARE

Acceso directo a la memoria

Page 31: PROCESO  E/S O  SISITEMAS DE E/S

Interfaz de E/S

de las aplicaciones

Page 32: PROCESO  E/S O  SISITEMAS DE E/S

Interfaz de E/S

de las aplicaciones

Las funciones de la interface son almacenar los datos y

realizar las conversiones que se le requieran.

También detecta errores en la transmisión y es capaz de

reiniciar la transacción en casos de error.

Más aún, la interface puede testear, arrancar y detener

el dispositivo según las directivas impartidas por la CPU.

En algunos casos la interface puede consultar a la CPU si

algún dispositivo está requiriendo atención urgente

Page 33: PROCESO  E/S O  SISITEMAS DE E/S

Interfaz de E/S

de las aplicaciones

Abrir un archivo en un disco sin saber de que tipo de disco

Se trata.

Añadirse nuevos discos y otros dispositivos a una pc

Page 34: PROCESO  E/S O  SISITEMAS DE E/S

Interfaz de E/S

de las aplicaciones

Estructura de E/S de un Kernel

Page 35: PROCESO  E/S O  SISITEMAS DE E/S

Interfaz de E/S

de las aplicaciones

Estructura de E/S de un Kernel

Cada tipo de sistema operativo tiene sus propios estándares en cuanto a la interfaz del controlador de dispositivos ejemploWindows xp, Windows me, Windows seven, solaris , etc..

Es por esto que los dispositivos se pueden variar desde muchos puntos de vista como:

Flujo de caracteres o bloqueAcceso secuencial o aleatorioSíncrono a asíncronoCompatible o dedicadoVelocidad de operaciónLectura escritura, solo lectura solo escritura

Page 36: PROCESO  E/S O  SISITEMAS DE E/S

Bloque

La información se almacena en bloques, esos

bloques son de tamaño fijo. Donde cada bloque

tiene una dirección que lo identifica. Se puede

leer o escribir en un bloque independiente de los

demás.  

  Por ejemplo: disquete, CD, DVD, disco duro.

Interfaz de E/S

de las aplicaciones

Page 37: PROCESO  E/S O  SISITEMAS DE E/S

Caracteres

La información que se generan o reciben son

flujos de caracteres (no    bloques). Accede a los

datos en secuencia: o sea, para acceder a

determinados datos, la lectura y escritura se

debe hacer seguido de los datos anteriores.

 Por ejemplo: teclado, pantalla, cinta, ratones,

interfaz de comunicación.

Interfaz de E/S

de las aplicaciones

Page 38: PROCESO  E/S O  SISITEMAS DE E/S

Diferencias Entre las Clases de Dispositivos

DISPOSITIVO COMPORTAMIENTO CLASIFICACION TASA KB/SEG.

TECLADO Entrada Carácter 0,01

MOUSE Entrada Carácter 0,02

SCANNER Entrada Carácter 400

Vos (Salida) Salida Carácter 0,6

IMPRESORA (Línea) Salida Carácter 1,0

IMPRESORA (Láser) Salida Carácter 200

MODEM Entrada / salida Carácter 2,0-8,0

RED LAN Entrada / salida Carácter 500-6000

FLOPPY Almacenamiento Bloque 100

CD Almacenamiento Bloque 1000

CINTA MAGNETICA Almacenamiento Bloque 2000

DISCO MAGNETICO Almacenamiento Bloque 2000-10000

Page 39: PROCESO  E/S O  SISITEMAS DE E/S

Dispositivos de red

Tiene una interfaz propia, variando de

los dispositivos de bloque y carácter.

Interfaz socket disponible en varios SO

incluyendo UNIX y Windows NT.

Permiten crear un socket, conectar uno

local a una dirección remota, detectar

cuando cualquier aplicación remota se

conecta en el local, y enviar y recibir

paquetes a través de la conexión.

Soporta la implementación de

servidores con select, eliminando el

escrutinio y la espera ocupada.

Interfaz de E/S

de las aplicaciones

Page 40: PROCESO  E/S O  SISITEMAS DE E/S

Relojes y temporizadores

Esta compuesto de tres funciones básicas

1. Proporciona la hora actual

2. Proporciona el tiempo transcurrido

3. Configurar un temporizador para que provoque la

ejecución de la operación X en el instante

El hardware para medir el tiempo transcurrido y

activar operaciones se denomina temporizador

de intervalos programable y se lo usa para fijar

una cantidad de tiempo y genere una

interrupción, realice operaciones periódicas

Interfaz de E/S

de las aplicaciones

Page 41: PROCESO  E/S O  SISITEMAS DE E/S

E/S bloqueante y no bloqueante

Bloqueante: se suspende la ejecución de la

aplicación. En ese instante, la aplicación se pasa de

la cola de ejecución del sistema operativo a la cola

de espera

No bloqueante: son algunos procesos de

usuario que necesitan una E/S.

Interfaz de E/S

de las aplicaciones

Page 42: PROCESO  E/S O  SISITEMAS DE E/S

subsistema de E/S

del Kernel

Page 43: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de E/S del Kernel

El subsistema de E/S Kernel ofrece varios servicios

relacionados con la E/S y se apoya en el hardware y

en la infraestructura de manejadores de dispositivo.

Los servicios que ofrece son:

Planificación de E/S

Asignación de buffers

Asignación de caché

Spooling

Reservación de dispositivos

Manejo de errores.

Page 44: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Se debe determinar un orden adecuado para la

ejecución de las solicitudes.

Rara vez el orden de las llamada al sistema son la

mejor opción.

La planificación mejora el desempeño global del

sistema, así como compartir equitativamente el

acceso a dispositivos entre los procesos y reducir el

tiempo de espera promedio para la terminación de

E/S.

Planificación de E/S

Page 45: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Los diseñadores de SO implementan la

planificación manteniendo una cola de solicitudes

para cada dispositivo. En esta cola el planificador

reacomoda la cola para mejorar la eficiencia global

del sistemas y el tiempo de respuesta sea más

corto.

Además el sistema operativo debe ser justo de tal

forma que se presente un buen servicio, dando

prioridades a las solicitudes sensibles a demora

(memoria virtual)

Otra forma de mejor la eficiencia es el uso de la

memoria principal o disco, mediante el empleo de

buffer, caché y spooling.

Planificación de E/S

Page 46: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Buffer: área de memoria que almacena

datos mientras éstos se transfieren entre dos

dispositivos o un dispositivo y una aplicación.

Razones para el empleo de buffers:

1. Hacer frente a la falta de correspondencia

en velocidad entre el productor y el

consumidor de un flujo de datos. Ejemplo: la

transferencia de datos entre un módem y un

disco duro.

Empleo de Buffers

Page 47: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Empleo de Buffers

Page 48: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

2. Lograr una adaptación entre dispositivos

que tienen diferentes tamaños de

transferencia de datos (fragmentación y

re-ensamblaje de paquetes en la red).

3. Soportar semántica de copiado para E/S

de aplicaciones.

Empleo de Buffers

Page 49: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Empleo de caches

Caché: Región de memoria rápida que contiene copias

de datos. El acceso a la caché es más eficiente que el

acceso a la original.

Diferencia entre buffer y caché es que el primero puede

contener la única copia existente de un elemento de

datos y una caché sólo contiene en almacenamiento más

rápido una copia de un elemento que reside en alguna

otra parte.

El empleo de cachés y de buffers son dos funciones

distintas, aunque en ocasiones se puede utilizar una

región de memoria para ambos propósitos.

Page 50: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Caché: Región de memoria rápida que contiene copias de

datos. El acceso a la caché es más eficiente que el acceso a

la original.

Diferencia entre buffer y caché es que el primero puede

contener la única copia existente de un elemento de datos y

una caché sólo contiene en almacenamiento más rápido una

copia de un elemento que reside en alguna otra parte.

El empleo de cachés y de buffers son dos funciones

distintas, aunque en ocasiones se puede utilizar una región

de memoria para ambos propósitos.

Spooling y reservación de dispositivos

Page 51: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

El SO hace uso de memoria protegida para

resguardar contra muchas clases de errores

en el hardware y aplicaciones.

Los dispositivos y las transferencias de E/S

pueden fallar en muchas formas, ya sea por

razones transitorias o permanente.

Los SO pueden a menudo compensar

eficazmente las fallas transitorias, como por

ejemplo una falla al leer (read) el disco da por

resultado una nuevo intento de lectura y un

error al enviar (send) datos por la red da por

resultado un nuevo envió (resend).

Manejo de errores

Page 52: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Una llamada al sistema de E/S devolverá 1 bit

de información acerca del estado de la llamada,

indicando ya sea un éxito o fracaso.

El hardware puede proporcionar una

información de error con gran detalle, aunque

los SO actuales no lo hacen tan detallado.

Manejo de errores

Page 53: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Desafortunadamente, si un componente un

componente importante experimenta un fallo, es

poco probable que el SO logre recuperarse.

Una llamada al sistema de E/S devolverá 1 bit de

información acerca del estado de la llamada,

indicando ya sea un éxito o fracaso.

El hardware puede proporcionar una información

de error con gran detalle, aunque los SO actuales

no lo hacen tan detallado.

Manejo de errores

Page 54: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Estructura de datos del Kernel

El Kernel necesita mantener información de estado

acerca del uso de los componentes de E/S lo que

realiza mediante tabla de archivos abiertos,

conexiones de red, estado de dispositivos de

carácter, etc.…

Algunos SO utilizan métodos orientados a objetos

y el paso de mensajes para llevar a cabo la E/S.

El subsistema de E/S coordina una extensa

colección de servicios, que están disponibles para

las aplicaciones y para otras partes del Kernel.

Page 55: PROCESO  E/S O  SISITEMAS DE E/S

Estructura del Kernel de E/S de UNIX

Page 56: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Considere que se esta leyendo un archivo desde el

disco para un proceso:

Determine el dispositivo que pertenece a ese

archivo.Descifrar el nombre que representa a ese archivo.

Si los datos no están en el buffer, realizar una E/S

física.Asignar espacio para recibir datos y planificar E/S.

Realizar transferencia de datos

Determinar estado de solicitud

Retornar el control al proceso.

MANEJO DE LAS DE E/S SOLICITUDES

Page 57: PROCESO  E/S O  SISITEMAS DE E/S

Subsistemas de

E/S del Kernel

Ciclo de vida de una solicitud de E/S

Page 58: PROCESO  E/S O  SISITEMAS DE E/S

Transform

aciones

de las solicitudes

de E/S en operaciones

hardware

Page 59: PROCESO  E/S O  SISITEMAS DE E/S

Transformaciones de las solicitudes

de E/S en operaciones hardware

Considerar la lectura de un archivo de disco por unProceso

1. Determinar el dispositivo que contiene el archivo2. Traducir el nombre del archivo al espacio que sele asigno dentro del dispositivo3. Leer físicamente los datos del disco y colocarlosen el buffer4. Poner los datos a la disposición del proceso que los solicito5. Devolverle el control al proceso Ciclo

Page 60: PROCESO  E/S O  SISITEMAS DE E/S

Ciclo de vida de una

solicitud de E/S

Page 61: PROCESO  E/S O  SISITEMAS DE E/S

Desempeño

Page 62: PROCESO  E/S O  SISITEMAS DE E/S

Desempeño

E/S es un factor muy importante en el desempeño delsistema porque:

–Obliga al CPU a ejecutar código de los device drivers, y del kernel de E/S

Las conmutaciones de contexto resultantes de lasInterrupciones

La copia de datos en la memoria

El trafico de red especialmente acentuado

Page 63: PROCESO  E/S O  SISITEMAS DE E/S

Comunicación entre computadoras

Page 64: PROCESO  E/S O  SISITEMAS DE E/S

Mejoría del desempeño Reducir el numero de conmutaciones de contexto Reducir la copia de datos en la memoria Reducir las interrupciones usando

– Controladores inteligentes– Transferencias grandes– Escrutinio (polling)

Usar acceso directo a memoria DMA o canales: procesadores de primer plano (font-end) para reducir la carga del CPU

Equilibrar el desempeño entre el CPU, la memoria, los buses, y la E/S

ya que una sobrecarga en cualquiera de ellas causara ociosidad en las otras

Page 65: PROCESO  E/S O  SISITEMAS DE E/S

Progresión de la funcionalidad De los dispositivos

Page 66: PROCESO  E/S O  SISITEMAS DE E/S

http://peremarques.pangea.org/presenmultimedia.html#inicio

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/GESTES02.htm#_PLANIFICACI%C3%93N_DE_DISCO

http://marvin19872007.wordpress.com/2008/06/05/dispositivos-de-entrada-y-salida-sistemas-operativos/

http://www.slideshare.net/leydi_28/dispositivos-de-entrada-y-salida-1394840

Recopilacion de material de Sistemas Operativos

Referencias

Page 67: PROCESO  E/S O  SISITEMAS DE E/S

GRACIAS