SlideShare una empresa de Scribd logo
1 de 26
ADMINISTRACIÓN E/S




         Adaptado por:


GIOVANNI ANDRÉS TOVAR CLAVIJO
      Sistemas Operativos
Administración E/S
La gestión I/O es una de las tareas principales del Sistema Operativo en
cuanto al control de todos los dispositivos.




Funciones:
 Comunicación con los dispositivos, enviar y recibir comandos .
 Detección de interrupciones .
 Control de errores.
 Proporcionar una interfaz entre los dispositivos y el resto del sistema .
Administración E/S

Dado que los programas no pueden ejecutar operaciones de E/S
directamente, el sistema operativo debe proveer medios para realizarlas .


El sistema de entradas y salidas consiste en:


 Un sistema de buffer* - caching**
 Una interface general de drivers de dispositivos
 Drivers para dispositivos especfficos


* espacio de memoria para almacenamiento temporario de datos
** poner en memoria cache
Administración E/S

 E/S programada: el procesador emite una orden por parte de un proceso
al modulo de E/S, y este espera a que se termine dicha operación para
proseguir.


 E/S dirigida por interrupciones: El procesador emite una orden por parte
de un proceso, se continua la ejecución de las instrucciones siguientes y es
interrumpido por el modulo de E/S cuando este ha completado su trabajo.


 Acceso directo a DMA*: un modulo de DMA controla el intercambio de
datos entre al memoria principal y un modulo de E/S.


*(direct memory access) acceso directo a la memoria, canal de
comunicaci6n entre la memoria y los dispositivos periféricos (sin pasar por
la unidad de proceso central)
Administración E/S

A medida que los arios pasan y los Sistemas Operativos se han
innovado, también las funciones de E/S se han visto beneficiadas.


1.     El procesador controla directamente los dispositivos.
2.     Se agrega un controlador o modulo de E/S.
3.     Se emplean interrupciones en los módulos de E/S para un mejor
     funcionamiento del procesador.
4.    El modulo de E/S recibe el control directo de la memoria, a través de
     DMA.
5.     El modulo de E/S es mejorado, procesadores independientes para
     realizar E/S.
6.      Se agrega una memoria local al modulo de E/S para formar parte de un
     dispositivo independiente.
Categorías de dispositivos de Entrada / Salida

          Dispositivos de bloque:


Son aquellos que almacenan la informaci6n
en bloques de tamaño fijo y estos a su vez
guardan su propia dirección.



          Dispositivos de carácter:


Son todos aquellos que envían o reciben un
flujo de caracteres, es decir, NO se sujetan a
una estructura de bloques. No se pueden
utilizar direcciones ni tienen operaciones
de búsqueda.
Administración E/S

La mayor parte de los dispositivos de I/O poseen dos partes claramente
diferenciadas:


 Parte Eléctrica (device controller)
 Parte Mecánica




   El kernel debe tener un modulo que
   se encargue de comunicarse con la
   controladora. (device driver)
Administración E/S

Ejemplo de parte mecánica:
Administración E/S

Ejemplo de controladora:
Administración E/S

DMA (Acceso directo a memoria)


Después de que el controlador ha leído todo el bloque del dispositivo a su
buffer y lo ha verificado:


 Copia el primer byte o palabra a la memoria principal, en la dirección
especificada por medio de la dirección de memoria de DMA.


 Incrementa la dirección DMA y decremento el contador DMA en el
numero de bytes que acaba de transferir.


Este proceso se repite hasta que el contador llegue a ser cero, momento en el
cual el controlador genera una interrupción.
Administración E/S

 Principios de la gestión de E/S.
 Problemática de los dispositivos de E/S.
 Objetivos generales del software de E/S.
 Principios hardware de E/S.
       E/S controlada por programa.
       E/S controlada por interrupciones.


 Estructura del software de E/S.
 Niveles del software de E/S.
 Ejemplo de funcionamiento conjunto de los distintos niveles.
 La técnica del "buffering".
 La técnica del "spooling".
Problemática de los dispositivos de E/S

Aspectos en los que pueden diferir los dispositivos de E/S:


 Diferencia de velocidad: de los periféricos frente a la CPU y entre los
propios dispositivos de E/S.
 Unidad de transferencia: caracteres, palabras, bytes, bloques o registros.
 Representación de los datos: usar distintos códigos para un mismo
elemento de informaci6n en diferentes periféricos.
 Operaciones permitidas: por ejemplo, existen periféricos que solo realizan
entradas y otros que solo realizan salidas, etc.
 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.
Objetivos generales del software de E/S

Independencia del periférico. Aspectos a considerar:


 Un programa debe ser independiente del modelo del periférico de un tipo
determinado de periférico que le sea asignado.
 Un programa sea independiente lo mas posible, del tipo de periférico
empleado.


Tratamiento uniforme de los periféricos. Consecuencias:


 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 Ia entrada y antes de Ia salida.
Objetivos generales del software de E/S

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


Tratamiento uniforme de los periféricos. Consecuencias:


 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:


 dispositivos de bloques: almacenan la información en bloques de tamaño
fijo .
 dispositivos de caracteres: producen o aceptan flujos de caracteres sin
ninguna estructura de bloques.


B. Controladores de dispositivos:


 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.
Principios hardware de E/S

E/S controlada por programa:


La CPU esta ocupada mientras que se realiza la operaci6n de E/S, pues debe
comprobar cuando termina dicha operación.

E/S controlada por interrupciones:


Permite que la CPU este ocupada en alguna otra
actividad mientras que se realiza la operación de
E/S, pues se enterara de que dicha operación se
ha completado cuando se produzca una
interrupción. Las interrupciones son un
mecanismo que permite sincronizar la CPU con
los sucesos externos, y por lo tanto solapar una
multitud de operaciones de E/S.
Estructura del 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:


 Independencia del dispositivo: posibilidad de no tener que modificar los
programas para cada tipo de dispositivo.
 Manejo de errores: es mejor tratar los errores cuanto mas cerca del
hardware.
 Tipo de transferencias: hacer que las operaciones que son controladas por
interrupción parezcan al programa controladas por él.
 Tipos de dispositivos: gestionar los dispositivos no compartibles.
Niveles del software de E/S
Niveles del software de E/S

Software de E/S a nivel de usuario: No forma


Parte del SO. Consiste en bibliotecas que se enlazan con los programas de
usuario a través de las cuales se realizan las llamadas al SO .


Funciones:


 Colocar los parámetros en el lugar adecuado para realizar la petición a
niveles inferiores.
 Interpretar la información que se recibe o se envía.
 Informar del error en caso de que se haya producido al realizar la operación
de E/S.
Niveles del software de E/S

Software de E/S independiente del dispositivo.


Pertenece al SO. 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:


 Implementar las operaciones de E/S que son comunes a todos los
dispositivos y presentar una interfaz uniforme a los programas de usuario.
 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.
 Proteger los dispositivos por parte de los usuarios que no tienen permiso.
Niveles del software de E/S

Funciones:


 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 .
 Gestionar el almacenamiento temporal de los datos en las operaciones de
E/S .
 Gestionar la asignación de espacio en dispositivos de bloques .
 Gestionar los dispositivos no compatibles, atendiendo las peticiones de
Utilización de dichos dispositivos y aceptándolas o rechazándolas
dependiendo de la disponibilidad del dispositivo .
 Realizar un tratamiento del error independiente del dispositivo.
Niveles del software de E/S

Software de E/S dependiente del dispositivo                (manejador      de
dispositivo, gestor de periférico, Device Driver):


Esta Íntimamente relacionado con la estructura del dispositivo. Su función
es recibir peticiones abstractas de las rutinas independientes de los
dispositivos y comprobar que dichas peticiones se realizan. Pasos:


 Traducir la petición de los términos abstractos a otros mas concretos.
 Escribir en los puertos del controlador los comandos determinados.
 Detectar cuando la operación ha finalizado: si es controlada por
interrupci6n, el manejador se bloquea hasta que la reciba, y si es controlada
por programa el manejador no se bloquea.
 Comprobar    si ha habido errores, devolviendo al nivel superior
información del estado y del posible error.
Niveles del software de E/S

Software de E/S dependiente del dispositivo                 (manejador     de
dispositivo, gestor de periférico, Device Driver):


Si existe alguna petición pendiente, entonces se selecciona una y se sirve; si
no hay entonces el manejador queda esperando que le llegue la siguiente.


Manejador de interrupciones (Rutinas de tratamiento de interrupciones):


Procedimientos encargados de esperar la llegada de una interrupción y
realizar las operaciones necesarias para desbloquear al manejador.
La técnica del "Buffering"

Si la transferencia es directa, por cada petición de E/S el proceso se bloquea
mientras que se realiza la operación sobre el periférico. La técnica del
buffering pretende evitar estas perdidas de tiempo llevando a cabo las
transferencias de E/S antes de que el proceso realice las peticiones.
Descripción:


 El SO realiza las transferencias de entrada al buffer de entrada y el
proceso de usuario toma los datos de dicho buffer .
 Las transferencias de salida de un proceso de usuario se dirigen a un
buffer de salida, siendo el SO. el encargado de vaciarlo sobre el periférico.
 Esta técnica no es útil si el proceso realiza sus E/S a una velocidad
superior a la que pueden trabajar los periféricos de E/S. Es decir, se usara
cuando el promedio de demandas de E/S de un proceso no es mayor que la
que pueden atender los periféricos de E/S.
La técnica del “Spooling"

Cuando se usan dispositivos no compartibles puede ocurrir que durante
periodos de mucha demanda varios procesos queden bloqueados esperando
por el use de los periféricos. La técnica del spooling pretende evitar estas
perdidas de tiempo haciendo que la transferencia se efectúe sobre un
soporte intermedio y no directamente sobre el periférico. Descripción:


 Cuando un proceso abre un stream asociado a un dispositivo no
compartible, la rutina de E/S le asigna un fichero anónimo en un soporte
intermedio, de forma que se dirigen a el todas las salidas del stream.
 Cuando se cierra el stream, el fichero se añade a una cola que contiene
ficheros similares creados por otros procesos.
 El spooler (proceso independiente asociado al dispositivo no compartible)
se encarga de transferir la informaci6n de los ficheros almacenados en esa
cola sobre el dispositivo físico.
Administracion e s

Más contenido relacionado

La actualidad más candente (14)

Actividades Unidad 4
Actividades Unidad 4Actividades Unidad 4
Actividades Unidad 4
 
Hardware y software del computador 44
Hardware y software del computador 44Hardware y software del computador 44
Hardware y software del computador 44
 
Gestión de entradas y salidas
Gestión de entradas y salidasGestión de entradas y salidas
Gestión de entradas y salidas
 
Entrada y Salida
Entrada y SalidaEntrada y Salida
Entrada y Salida
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Leccion5 sisop
Leccion5 sisopLeccion5 sisop
Leccion5 sisop
 
4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_
4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_
4.1 dispositivos y_manejadores_de_dispositivos_device_drivers_
 
PresentacióN Informatica
PresentacióN InformaticaPresentacióN Informatica
PresentacióN Informatica
 
Sistemas operativos diapo eduar
Sistemas operativos diapo eduarSistemas operativos diapo eduar
Sistemas operativos diapo eduar
 
Administracion de e-s
Administracion de e-sAdministracion de e-s
Administracion de e-s
 
Software y tipos 2015
Software y tipos 2015Software y tipos 2015
Software y tipos 2015
 
Presentacion de la actividad 6
Presentacion de la actividad 6Presentacion de la actividad 6
Presentacion de la actividad 6
 
Presentacion de la actividad 6
Presentacion de la actividad 6Presentacion de la actividad 6
Presentacion de la actividad 6
 
Power point
Power pointPower point
Power point
 

Destacado

Filo y arte
Filo y arteFilo y arte
Filo y arte
heisoku
 
Damen mode mal anders
Damen mode mal andersDamen mode mal anders
Damen mode mal anders
modebau
 
Opinión documentada
Opinión documentadaOpinión documentada
Opinión documentada
zinihorio01
 
Planificación del 04 de octubre al 07 de octubre
Planificación del 04 de octubre al 07 de octubrePlanificación del 04 de octubre al 07 de octubre
Planificación del 04 de octubre al 07 de octubre
Damian Castro
 
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICOInstrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
eixcinc
 
del arte antiguo... un pequeño fragmento
del arte antiguo... un pequeño fragmentodel arte antiguo... un pequeño fragmento
del arte antiguo... un pequeño fragmento
Lizeth Mendieta
 
P L A N T A B A R QU I S I M E T O ( G R E N A )
P L A N T A  B A R QU I S I M E T O (  G R E N A )P L A N T A  B A R QU I S I M E T O (  G R E N A )
P L A N T A B A R QU I S I M E T O ( G R E N A )
Jose Gonzalez
 

Destacado (20)

Das Eigentumsrecht in der Ukraine
Das Eigentumsrecht in der UkraineDas Eigentumsrecht in der Ukraine
Das Eigentumsrecht in der Ukraine
 
Filo y arte
Filo y arteFilo y arte
Filo y arte
 
Damen mode mal anders
Damen mode mal andersDamen mode mal anders
Damen mode mal anders
 
Presentación1
Presentación1Presentación1
Presentación1
 
Opinión documentada
Opinión documentadaOpinión documentada
Opinión documentada
 
Practica 6
Practica 6Practica 6
Practica 6
 
Planificación del 04 de octubre al 07 de octubre
Planificación del 04 de octubre al 07 de octubrePlanificación del 04 de octubre al 07 de octubre
Planificación del 04 de octubre al 07 de octubre
 
LAS VOCALES
LAS VOCALESLAS VOCALES
LAS VOCALES
 
Prueba
Prueba Prueba
Prueba
 
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICOInstrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
Instrumentación de la ESTRATEGIA INTEGRAL DEL VEHÍCULO ELÉCTRICO
 
Tecnología streaming
Tecnología streamingTecnología streaming
Tecnología streaming
 
Mi biografía
Mi biografíaMi biografía
Mi biografía
 
Light Skates G5
Light Skates G5Light Skates G5
Light Skates G5
 
Presentacion Intervención en población infanto-juvenil
Presentacion Intervención en población infanto-juvenilPresentacion Intervención en población infanto-juvenil
Presentacion Intervención en población infanto-juvenil
 
Area DCHA
Area DCHAArea DCHA
Area DCHA
 
Curso Wordpress"1"
Curso Wordpress"1"Curso Wordpress"1"
Curso Wordpress"1"
 
H1 seo on page
H1 seo on pageH1 seo on page
H1 seo on page
 
Salmo 61
Salmo 61Salmo 61
Salmo 61
 
del arte antiguo... un pequeño fragmento
del arte antiguo... un pequeño fragmentodel arte antiguo... un pequeño fragmento
del arte antiguo... un pequeño fragmento
 
P L A N T A B A R QU I S I M E T O ( G R E N A )
P L A N T A  B A R QU I S I M E T O (  G R E N A )P L A N T A  B A R QU I S I M E T O (  G R E N A )
P L A N T A B A R QU I S I M E T O ( G R E N A )
 

Similar a Administracion e s

Entrada y Salida de un S.O
Entrada y Salida de un S.OEntrada y Salida de un S.O
Entrada y Salida de un S.O
Karina Rivra
 
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
beymarlopez
 
Sistemas operativos ciclo 2 - capítulo 3
Sistemas operativos   ciclo 2 - capítulo 3Sistemas operativos   ciclo 2 - capítulo 3
Sistemas operativos ciclo 2 - capítulo 3
Ing. Alexis Rocha, MGTI
 

Similar a Administracion e s (20)

Lenguaje de máquina
Lenguaje de máquinaLenguaje de máquina
Lenguaje de máquina
 
Entrada y Salida de un S.O
Entrada y Salida de un S.OEntrada y Salida de un S.O
Entrada y Salida de un S.O
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
Entrada salida
Entrada salidaEntrada salida
Entrada salida
 
Gestion de Entrada y Salida
Gestion de Entrada y SalidaGestion de Entrada y Salida
Gestion de Entrada y Salida
 
Gestion de Entradas y Salidas
Gestion de Entradas y SalidasGestion de Entradas y Salidas
Gestion de Entradas y Salidas
 
Diapositiva gestión entrada_salida
Diapositiva gestión entrada_salidaDiapositiva gestión entrada_salida
Diapositiva gestión entrada_salida
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
4.2 mecanismos y_funciones_de_los_manejadores_de_dispositivos
 
Sistemas Operativos.ppt
Sistemas Operativos.pptSistemas Operativos.ppt
Sistemas Operativos.ppt
 
Sistemas operativos ciclo 2 - capítulo 3
Sistemas operativos   ciclo 2 - capítulo 3Sistemas operativos   ciclo 2 - capítulo 3
Sistemas operativos ciclo 2 - capítulo 3
 
Sistema E S
Sistema E SSistema E S
Sistema E S
 
Sistemas de entrada y salida
Sistemas de entrada y salidaSistemas de entrada y salida
Sistemas de entrada y salida
 
Gestión Entrada_Salida
Gestión Entrada_SalidaGestión Entrada_Salida
Gestión Entrada_Salida
 
Introducción a Entrada/Salida
Introducción a Entrada/SalidaIntroducción a Entrada/Salida
Introducción a Entrada/Salida
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesos
 
Capitulo 12, 13,_14
Capitulo 12, 13,_14Capitulo 12, 13,_14
Capitulo 12, 13,_14
 
Organización de entrada y salida (E/S)
Organización de entrada y salida (E/S)Organización de entrada y salida (E/S)
Organización de entrada y salida (E/S)
 
Administracion de E.S
Administracion de E.SAdministracion de E.S
Administracion de E.S
 
Administracion de e/s
Administracion de e/sAdministracion de e/s
Administracion de e/s
 

Más de giovatovar

Administración y manejo de la memoria_Parte1
Administración y manejo de la memoria_Parte1Administración y manejo de la memoria_Parte1
Administración y manejo de la memoria_Parte1
giovatovar
 
Administracion archivos sena
Administracion archivos senaAdministracion archivos sena
Administracion archivos sena
giovatovar
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
S.o. distribuidos
S.o. distribuidosS.o. distribuidos
S.o. distribuidos
giovatovar
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
giovatovar
 
Procesos y adm
Procesos y admProcesos y adm
Procesos y adm
giovatovar
 
Administracion archivos
Administracion archivosAdministracion archivos
Administracion archivos
giovatovar
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
giovatovar
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
giovatovar
 

Más de giovatovar (18)

Instrucciones de máquina
Instrucciones de máquinaInstrucciones de máquina
Instrucciones de máquina
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
Introducción Arquitectura Computadores
Introducción Arquitectura ComputadoresIntroducción Arquitectura Computadores
Introducción Arquitectura Computadores
 
Administración y manejo de la memoria_Parte1
Administración y manejo de la memoria_Parte1Administración y manejo de la memoria_Parte1
Administración y manejo de la memoria_Parte1
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Administracion archivos sena
Administracion archivos senaAdministracion archivos sena
Administracion archivos sena
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
S.o. distribuidos
S.o. distribuidosS.o. distribuidos
S.o. distribuidos
 
Redes petri
Redes petriRedes petri
Redes petri
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Procesos y adm
Procesos y admProcesos y adm
Procesos y adm
 
Presentación
PresentaciónPresentación
Presentación
 
Estructura so
Estructura soEstructura so
Estructura so
 
Administracion archivos
Administracion archivosAdministracion archivos
Administracion archivos
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
 

Administracion e s

  • 1. ADMINISTRACIÓN E/S Adaptado por: GIOVANNI ANDRÉS TOVAR CLAVIJO Sistemas Operativos
  • 2. Administración E/S La gestión I/O es una de las tareas principales del Sistema Operativo en cuanto al control de todos los dispositivos. Funciones:  Comunicación con los dispositivos, enviar y recibir comandos .  Detección de interrupciones .  Control de errores.  Proporcionar una interfaz entre los dispositivos y el resto del sistema .
  • 3. Administración E/S Dado que los programas no pueden ejecutar operaciones de E/S directamente, el sistema operativo debe proveer medios para realizarlas . El sistema de entradas y salidas consiste en:  Un sistema de buffer* - caching**  Una interface general de drivers de dispositivos  Drivers para dispositivos especfficos * espacio de memoria para almacenamiento temporario de datos ** poner en memoria cache
  • 4. Administración E/S  E/S programada: el procesador emite una orden por parte de un proceso al modulo de E/S, y este espera a que se termine dicha operación para proseguir.  E/S dirigida por interrupciones: El procesador emite una orden por parte de un proceso, se continua la ejecución de las instrucciones siguientes y es interrumpido por el modulo de E/S cuando este ha completado su trabajo.  Acceso directo a DMA*: un modulo de DMA controla el intercambio de datos entre al memoria principal y un modulo de E/S. *(direct memory access) acceso directo a la memoria, canal de comunicaci6n entre la memoria y los dispositivos periféricos (sin pasar por la unidad de proceso central)
  • 5. Administración E/S A medida que los arios pasan y los Sistemas Operativos se han innovado, también las funciones de E/S se han visto beneficiadas. 1. El procesador controla directamente los dispositivos. 2. Se agrega un controlador o modulo de E/S. 3. Se emplean interrupciones en los módulos de E/S para un mejor funcionamiento del procesador. 4. El modulo de E/S recibe el control directo de la memoria, a través de DMA. 5. El modulo de E/S es mejorado, procesadores independientes para realizar E/S. 6. Se agrega una memoria local al modulo de E/S para formar parte de un dispositivo independiente.
  • 6. Categorías de dispositivos de Entrada / Salida Dispositivos de bloque: Son aquellos que almacenan la informaci6n en bloques de tamaño fijo y estos a su vez guardan su propia dirección. Dispositivos de carácter: Son todos aquellos que envían o reciben un flujo de caracteres, es decir, NO se sujetan a una estructura de bloques. No se pueden utilizar direcciones ni tienen operaciones de búsqueda.
  • 7. Administración E/S La mayor parte de los dispositivos de I/O poseen dos partes claramente diferenciadas:  Parte Eléctrica (device controller)  Parte Mecánica El kernel debe tener un modulo que se encargue de comunicarse con la controladora. (device driver)
  • 10. Administración E/S DMA (Acceso directo a memoria) Después de que el controlador ha leído todo el bloque del dispositivo a su buffer y lo ha verificado:  Copia el primer byte o palabra a la memoria principal, en la dirección especificada por medio de la dirección de memoria de DMA.  Incrementa la dirección DMA y decremento el contador DMA en el numero de bytes que acaba de transferir. Este proceso se repite hasta que el contador llegue a ser cero, momento en el cual el controlador genera una interrupción.
  • 11. Administración E/S  Principios de la gestión de E/S.  Problemática de los dispositivos de E/S.  Objetivos generales del software de E/S.  Principios hardware de E/S.  E/S controlada por programa.  E/S controlada por interrupciones.  Estructura del software de E/S.  Niveles del software de E/S.  Ejemplo de funcionamiento conjunto de los distintos niveles.  La técnica del "buffering".  La técnica del "spooling".
  • 12. Problemática de los dispositivos de E/S Aspectos en los que pueden diferir los dispositivos de E/S:  Diferencia de velocidad: de los periféricos frente a la CPU y entre los propios dispositivos de E/S.  Unidad de transferencia: caracteres, palabras, bytes, bloques o registros.  Representación de los datos: usar distintos códigos para un mismo elemento de informaci6n en diferentes periféricos.  Operaciones permitidas: por ejemplo, existen periféricos que solo realizan entradas y otros que solo realizan salidas, etc.  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.
  • 13. Objetivos generales del software de E/S Independencia del periférico. Aspectos a considerar:  Un programa debe ser independiente del modelo del periférico de un tipo determinado de periférico que le sea asignado.  Un programa sea independiente lo mas posible, del tipo de periférico empleado. Tratamiento uniforme de los periféricos. Consecuencias:  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 Ia entrada y antes de Ia salida.
  • 14. Objetivos generales del software de E/S  Los programas deberán trabajar sobre periféricos virtuales (streams o ficheros) y no sobre físicos: el SO es el que asocia los streams con los periféricos reales, guardando en una lista de descriptores de streams dicha correspondencia. Tratamiento uniforme de los periféricos. Consecuencias:  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.
  • 15. Principios hardware de E/S A. Tipos de dispositivos de E/S:  dispositivos de bloques: almacenan la información en bloques de tamaño fijo .  dispositivos de caracteres: producen o aceptan flujos de caracteres sin ninguna estructura de bloques. B. Controladores de dispositivos:  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.
  • 16. Principios hardware de E/S E/S controlada por programa: La CPU esta ocupada mientras que se realiza la operaci6n de E/S, pues debe comprobar cuando termina dicha operación. E/S controlada por interrupciones: Permite que la CPU este ocupada en alguna otra actividad mientras que se realiza la operación de E/S, pues se enterara de que dicha operación se ha completado cuando se produzca una interrupción. Las interrupciones son un mecanismo que permite sincronizar la CPU con los sucesos externos, y por lo tanto solapar una multitud de operaciones de E/S.
  • 17. Estructura del 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:  Independencia del dispositivo: posibilidad de no tener que modificar los programas para cada tipo de dispositivo.  Manejo de errores: es mejor tratar los errores cuanto mas cerca del hardware.  Tipo de transferencias: hacer que las operaciones que son controladas por interrupción parezcan al programa controladas por él.  Tipos de dispositivos: gestionar los dispositivos no compartibles.
  • 19. Niveles del software de E/S Software de E/S a nivel de usuario: No forma Parte del SO. Consiste en bibliotecas que se enlazan con los programas de usuario a través de las cuales se realizan las llamadas al SO . Funciones:  Colocar los parámetros en el lugar adecuado para realizar la petición a niveles inferiores.  Interpretar la información que se recibe o se envía.  Informar del error en caso de que se haya producido al realizar la operación de E/S.
  • 20. Niveles del software de E/S Software de E/S independiente del dispositivo. Pertenece al SO. 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:  Implementar las operaciones de E/S que son comunes a todos los dispositivos y presentar una interfaz uniforme a los programas de usuario.  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.  Proteger los dispositivos por parte de los usuarios que no tienen permiso.
  • 21. Niveles del software de E/S Funciones:  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 .  Gestionar el almacenamiento temporal de los datos en las operaciones de E/S .  Gestionar la asignación de espacio en dispositivos de bloques .  Gestionar los dispositivos no compatibles, atendiendo las peticiones de Utilización de dichos dispositivos y aceptándolas o rechazándolas dependiendo de la disponibilidad del dispositivo .  Realizar un tratamiento del error independiente del dispositivo.
  • 22. Niveles del software de E/S Software de E/S dependiente del dispositivo (manejador de dispositivo, gestor de periférico, Device Driver): Esta Íntimamente relacionado con la estructura del dispositivo. Su función es recibir peticiones abstractas de las rutinas independientes de los dispositivos y comprobar que dichas peticiones se realizan. Pasos:  Traducir la petición de los términos abstractos a otros mas concretos.  Escribir en los puertos del controlador los comandos determinados.  Detectar cuando la operación ha finalizado: si es controlada por interrupci6n, el manejador se bloquea hasta que la reciba, y si es controlada por programa el manejador no se bloquea.  Comprobar si ha habido errores, devolviendo al nivel superior información del estado y del posible error.
  • 23. Niveles del software de E/S Software de E/S dependiente del dispositivo (manejador de dispositivo, gestor de periférico, Device Driver): Si existe alguna petición pendiente, entonces se selecciona una y se sirve; si no hay entonces el manejador queda esperando que le llegue la siguiente. Manejador de interrupciones (Rutinas de tratamiento de interrupciones): Procedimientos encargados de esperar la llegada de una interrupción y realizar las operaciones necesarias para desbloquear al manejador.
  • 24. La técnica del "Buffering" Si la transferencia es directa, por cada petición de E/S el proceso se bloquea mientras que se realiza la operación sobre el periférico. La técnica del buffering pretende evitar estas perdidas de tiempo llevando a cabo las transferencias de E/S antes de que el proceso realice las peticiones. Descripción:  El SO realiza las transferencias de entrada al buffer de entrada y el proceso de usuario toma los datos de dicho buffer .  Las transferencias de salida de un proceso de usuario se dirigen a un buffer de salida, siendo el SO. el encargado de vaciarlo sobre el periférico.  Esta técnica no es útil si el proceso realiza sus E/S a una velocidad superior a la que pueden trabajar los periféricos de E/S. Es decir, se usara cuando el promedio de demandas de E/S de un proceso no es mayor que la que pueden atender los periféricos de E/S.
  • 25. La técnica del “Spooling" Cuando se usan dispositivos no compartibles puede ocurrir que durante periodos de mucha demanda varios procesos queden bloqueados esperando por el use de los periféricos. La técnica del spooling pretende evitar estas perdidas de tiempo haciendo que la transferencia se efectúe sobre un soporte intermedio y no directamente sobre el periférico. Descripción:  Cuando un proceso abre un stream asociado a un dispositivo no compartible, la rutina de E/S le asigna un fichero anónimo en un soporte intermedio, de forma que se dirigen a el todas las salidas del stream.  Cuando se cierra el stream, el fichero se añade a una cola que contiene ficheros similares creados por otros procesos.  El spooler (proceso independiente asociado al dispositivo no compartible) se encarga de transferir la informaci6n de los ficheros almacenados en esa cola sobre el dispositivo físico.