SlideShare una empresa de Scribd logo
1 de 30
Realizado por: 
Karina Rivera 
Ayleen Ponte 
Daniel Nuñez
Una de las principales funciones de un sistema operativo es controlar 
todos los dispositivos de E/S (entrada/salida) del computador. 
Comprende tanto la transferencia entre diversos niveles de la memoria 
como la comunicación con los periféricos. 
También debe proporcionar una interfaz sencilla y fácil de usar entre los 
dispositivos y el resto del sistema. 
El SO debe controlar el funcionamiento de todos los dispositivos de E/S 
para alcanzar los siguientes objetivos: 
 
Facilitar el manejo de los dispositivos periféricos. 
 
Optimizar la E/S del sistema. 
 
Proporcionar dispositivos virtuales que permitan conectar cualquier 
tipo de dispositivos físicos sin que sea necesario remodelar el 
sistema de E/S del SO. 
 
Permitir la conexión de dispositivos nuevos de E/S, solventando de 
forma automática su instalación usando mecanismos del tipo plug 
& play.
Se denomina periféricos a los aparatos o 
dispositivos auxiliares e independientes 
conectados a la unidad central de procesamiento 
de una computadora. 
Se consideran periféricos tanto a las unidades o 
dispositivos a través de los cuales la computadora 
se comunica con el mundo exterior, como a los 
sistemas que almacenan o archivan la 
información, sirviendo de memoria auxiliar de la 
memoria principal. 
Se pueden clasificar en dos grandes categorías: 
 
Dispositivos de bloques. 
 
Dispositivos de caracteres.
Dispositivos de bloques Dispositivos de caracteres 
• La información se almacena en 
bloques de tamaño fijo. 
• Cada bloque tiene su propia 
dirección. 
• Los tamaños más comunes de 
los bloques van desde los 128 
bytes hasta los 1.024 bytes. 
• Se puede leer o escribir en un 
bloque de forma independiente 
de los demás, en cualquier 
momento. 
• Un ejemplo típico de dispositivos 
de bloque son los discos. 
• La información se transfiere 
como un flujo de caracteres, sin 
sujetarse a una estructura de 
bloques. 
• No se pueden utilizar 
direcciones. 
• No tienen una operación de 
búsqueda. 
• Un ejemplo típico de dispositivos 
de caracter son las impresoras 
de línea, terminales, interfaces 
de una red, ratones, etc.
Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos: 
De interfaz de usuario De almacenamiento De comunicaciones 
Permiten la comunicación 
entre los usuarios y la 
computadora. Dentro de 
este grupo se incluyen 
todos los dispositivos que 
sirven para proporcionar 
interfaz con el usuario, 
tanto para entrada como 
para salida. 
Se usan para proporcionar 
almacenamiento no volátil 
de datos y memoria. Su 
función primordial es 
abastecer de datos y 
almacenamiento a los 
programas que se 
ejecutan en la UCP. 
Según su capacidad y la 
inmediatez con que se 
puede acceder a los datos 
almacenados en estos 
dispositivos, se pueden 
dividir en almacenamiento 
secundario y terciario. 
Permiten conectar a la 
computadora con otras 
computadoras a través de 
una red. Los dos tipos de 
dispositivos más 
importantes de esta clase 
son los módem, para 
comunicación vía red 
telefónica, y las tarjetas de 
interfaz a la red, para 
conectar la computadora a 
una red de área local.
Las unidades de E/S tienen una parte mecánica y otra 
electrónica. 
Un controlador de dispositivo es un programa informático 
que permite al sistema operativo interactuar con un 
periférico. 
Los modelos más frecuentes de comunicación entre la cpu 
y los controladores son: 
 
Para la mayoría de las micro y mini computadoras: 
Modelo de bus del sistema. 
 
Para la mayoría de los mainframes: Modelo de varios 
buses y computadoras especializadas en e/s llamadas 
canales de e/s. 
La interfaz entre el controlador y el dispositivo es con 
frecuencia de muy bajo nivel.
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 la 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. 
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, la cpu puede dejar al controlador y dedicarse a otro 
trabajo. 
Al terminar el comando, el controlador provoca una interrupción para 
permitir que el S. O.: 
 
Obtenga el control de la cpu. 
 
Verifique los resultados de la operación.
Esquema Global de Manejadores de Dispositivos 
Procesos de usuario 
SW independiente del dispositivo 
Manejadores de dispositivo 
Manejadores de interrupciones 
Hardware 
Petición de E/S 
Respuesta de E/S 
Llamada de E/S, formateo de E/S, spooling 
Asignación de nombres y dispositivos, protección, bloqueo, 
buffering, 
Asignación de valores a los registros de dispositivos, 
comprobación del estado 
Reactivación del manejador cuando se completa la E/S 
Realización de la E/S 
Esquema de Manejadores de Dispositivos
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 la CPU. 
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.
Técnicas de E/S 
 
E/S programada: El procesador 
emite una orden de E/S de parte 
de un proceso a un modulo de 
E/S; el proceso espera entonces 
a que termine la operación, 
antes de seguir. 
 
E/S dirigida por 
interrupciones: El procesador 
emite una orden de E/S de parte 
de un proceso, continua la 
ejecución de las instrucciones 
siguientes y el modulo de E/S lo 
interrumpe cuan do completa su 
trabajo. 
Sin 
interrupcio-nes 
Con 
interrupcio-nes 
Transferen-cia 
de E/S a 
memoria a 
través del 
procesador 
E/S 
programada 
E/S dirigida 
por 
interrupcione 
s 
Transferen-cia 
de E/S 
directa a 
memoria 
Acceso 
directo a 
memoria 
(DMA) 
Acceso Directo a la Memoria (DMA): un modulo de DMA controla el 
intercambio de datos entre la memoria principal y un modulo de E/S. El 
procesador envía una petición de transferencia de un bloque de datos al 
modulo DMA y se interrumpe solo cuando se ha transferido el bloque entero.
A medida que han evolucionado los sistemas informáticos, se ha 
producido tendencia crecientes en la complejidad y sofisticación de cada 
componente individual. En ninguno de los puntos es mas evidente que en 
la función de E/S. la etapa de su evolución puede resumirse como lo 
siguiente: 
1.- El procesador controla directamente los dispositivos periféricos. 
2.- Se añade un controlador o modulo de E/S. El procesador utiliza E/S 
programada sin interrupciones. 
3.- Se añade un controlador o modulo. Pero empleándose interrupciones. 
4.- El modulo de E/S recibe el control directo de la memoria, a través de 
DMA, Ahora puede mover un bloque de datos a la memoria o desde la 
misma sin que intervenga el procesador. 
5.- se mejora el modulo de E/S hasta llegar a ser un procesador separado 
con un conjunto de instrucciones especializadas para E/S. 
6.- El modulo de E/S posee su propia memoria local y es, de hecho un 
computador independiente.
Funciones de los manejadores 
de dispositivos 
Funciones generalmente realizadas por el software independiente del 
dispositivo: 
 
Interfaz uniforme para los manejadores de dispositivos. 
 
Nombres de los dispositivos. 
 
Protección del dispositivo. 
 
Proporcionar un tamaño de bloque independiente del dispositivo. 
 
Uso de buffer. 
 
Asignación de espacio en los dispositivos por bloques. 
 
Asignación y liberación de los dispositivos de uso exclusivo. 
 
Informe de errores. 
Las funciones básicas del software independiente del dispositivo son: 
 
Efectuar las funciones de e / s comunes a todos los dispositivos. 
 
Proporcionar una interfaz uniforme del software a nivel usuario.
 
Este nodo-i contiene el número principal del 
dispositivo, que se utiliza para localizar el 
manejador apropiado. 
 
El nodo-i contiene también el número 
secundario de dispositivo, que se transfiere 
como parámetro al manejador para 
determinar la unidad por leer o escribir. 
El software independiente del dispositivo debe: 
 
Ocultar a los niveles superiores los diferentes 
tamaños de sector de los distintos discos. 
 
Proporcionar un tamaño uniforme de los 
bloques, por ej.: considerar varios sectores 
físicos como un solo bloque lógico.
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 modulo cumple 
una función determinada e interactúa con los 
demás módulos.
Los procesos de usuario emiten peticiones de entrada/salida al 
sistema operativo. Cuando un proceso solicita una operación de 
E/S, el sistema operativo prepara dicha operación y bloquea al 
proceso hasta que se recibe una interrupción del controlador del 
dispositivo indicando que la operación está completa. 
En el manejo de los dispositivos de 
E/S es necesario, introducir dos 
nuevos términos: 
 
BUFFERING 
 
SPOOLING
BUFFERING (uso de memoria 
intermedia). 
SPOOLING 
Trata de mantener ocupados tanto la 
CPU como los dispositivos de E/S. Los 
datos se leen y se almacenan en un 
buffer, una vez que los datos se han 
leído y la CPU va a iniciar 
inmediatamente la operación con ellos, 
el dispositivo de entrada es instruido 
para iniciar inmediatamente la siguiente 
lectura. 
La CPU y el dispositivo de entrada 
permanecen ocupados. Cuando la CPU 
esté libre para el siguiente grupo de 
datos, el dispositivo de entrada habrá 
terminado de leerlos. La CPU podrá 
empezar el proceso de los últimos datos 
leídos, mientras el dispositivo de 
entrada iniciará la lectura de los datos 
siguientes. 
Esta forma de procesamiento se 
denomina spooling, utiliza el disco como 
un buffer muy grande para leer tan por 
delante como sea posible de los 
dispositivos de entrada y para 
almacenar los ficheros hasta que los 
dispositivos de salida sean capaces de 
aceptarlos. 
Es una característica utilizada en la 
mayoría de los sistemas operativos.
Tanto en la E/S programada como la basada en 
interrupciones, la CPU 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 CPU y la E/S consiste en que el controlador del 
dispositivo se pueda encargar de efectuar la 
transferencia de datos. Esta técnica se denomina 
acceso directo a memoria (DMA, Direct Memory 
Access). 
ACCESO DIRECTO A MEMORIA (DMA) 
Este dispositivo permite la transferencia directa de 
información entre la memoria y los periféricos o 
viceversa, sin requerir intervención alguna por parte 
del procesador.
 
El DMA necesita: 
 
Registro: almacena la dirección de memoria desde donde se 
produce la transferencia. 
 
Registro contador: guarda la longitud de bloque a transferir. 
 
Bits: indica si la operación es de lectura o escritura. 
 
Bloque de control: controla el funcionamiento del sistema. 
 
Existen 3 tipos de transferencia para el máximo 
aprovechamiento del bus: 
 
Por ráfagas: el DMA toma el control del bus y no lo suelta hasta 
terminar la transferencia. 
 
Por robo de ciclo: el DMA toma el bus durante un ciclo enviando 
una palabra cada vez. 
 
Transparente: se aprovechan los ciclos en que el procesador no 
usa el bus.
OPERACIONES DE E/S 
Existen varias operaciones, las más importantes son las siguientes: 
 
Lectura: 
El canal transfiere a memoria principal un bloque de palabras de 
tamaño especificado en el campo número de palabras, en orden 
ascendente de direcciones, empezando en la dirección 
especificada en el campo dirección del dato. 
 
Escritura: 
El canal transfiere datos de memoria principal al dispositivo. Las 
palabras se transfieren en el mismo orden que en la operación de 
lectura. 
 
Control : 
Se utiliza esta orden para enviar instrucciones específicas al 
dispositivo de E/S, como rebobinar una cinta magnética, etc. 
 
Bifurcación: 
Cumple en el programa de canal la misma función que una 
instrucción de salto en un programa normal.
Para que un computador pueda ejecutar un programa debe ser 
ubicado previamente en la memoria, junto con los datos sobre los 
que opera, y para ello debe existir una unidad funcional de entrada 
de información capaz de escribir en la memoria desde el exterior. 
Análogamente, para conocer los resultados de la ejecución de los 
programas, los usuarios deberán poder leer el contenido de la 
memoria a través de otra unidad de salida de datos. La unidad de 
Entrada/Salida (E/S) soporta estas funciones, realizando las 
comunicaciones del computador (memoria) con el mundo exterior 
(periféricos). Los dispositivos periféricos que se pueden conectar a 
un computador se suelen clasificar en tres grandes grupos: 
 
Dispositivos de presentación de datos. Son dispositivos con los 
que interactúan los usuarios, portando datos entre éstos y la 
máquina, por ejemplo, ratón, teclado, pantalla, impresora, etc. 
 
Dispositivos de almacenamiento de datos. Son dispositivos que 
forman parte de la jerarquía de memoria del computador. 
Interactúan de forma autónoma con la máquina, aunque también 
sirven para el intercambio de datos con el usuario, por ejemplo, 
los discos magnéticos. 
 
Dispositivos de comunicación con otros procesadores. Permiten 
la comunicación con procesadores remotos a través de redes, 
por ejemplo, las redes de área local o global. 
 
Dispositivos de adquisición de datos. Permiten la comunicación 
con sensores y actuadores que operan de forma autónoma en el 
entorno del computador. Se utilizan en sistemas de control 
automático de procesos por computador y suelen incorporar 
conversores de señales A/D y D/A. 
Funciones implicadas en 
las operaciones de 
entrada/salida
Casi todos los dispositivos de E/S se representan como ficheros especiales: 
 
/dev/hda1 para la primera partición del primer disco IDE 
 
/dev/lp0 para la impresora. 
El acceso a estos ficheros especiales es mediante las llamadas al sistema read y write. Para 
cada fichero especial hay asociado un manejador de dispositivo. 
Cada manejador tiene un número de dispositivo principal (mayor) que sirve para identificarlo. 
Si el manejador sirve a varios dispositivos, cada dispositivo tiene un número de dispositivo 
secundario (minor) que lo identifica. 
Juntos, el no principal y el secundario especifican de forma única cada dispositivo de E/S 
Dos tipos de ficheros especiales: 
 
Fichero especial de bloques ⇒ dispositivos de bloques: 
 
Incluyen discos y cintas 
 
Direccionamiento directo utilizando bloques 
 
El manejador aisla al resto del sistema de pistas, cilindros, etc 
 
Acceso directo (como en /dev/fd0) o a través del S.F 
 
Memoria caché de buffers 
 
Fichero especial de caracteres ⇒ dispositivos de caracteres: 
 
Terminales, impresoras y otros que no usan la caché de buffers 
 
Utilizan también una pequeña memoria intermedia ⇒ listas-C
La E/S en Linux se implementa como una 
colección de manejadores, uno por tipo de 
dispositivo, que aisla al resto del SO de las 
peculiaridades del HW 
Cada manejador se divide en dos partes: 
 
La mitad superior se ejecuta en el contexto del 
invocador y se comunica con el resto del SO 
 
La mitad inferior se ejecuta en el contexto del kernel e 
interactúa con el dispositivo 
Los manejadores pueden invocar procedimientos 
del kernel para asignar memoria, administrar 
temporizadores, controlar DMA, etc.
Manejadores para dispositivos de caracteres 
• Sistema de buffers para caracteres 
• Se utilizan unas estructuras de datos llamada listas C, formadas por un bloque 
de hasta 64 caracteres, un contador y un puntero al siguiente bloque 
• Se tienen dos colas: cola directa y cola canónica 
• El paso de la cola directa (flujo no interpretado de caracteres) a la cola canónica 
(flujo interpretado de caracteres) se activa con el retorno de carro 
• Si el proceso quiere, puede recoger un carácter cada vez que llega uno nuevo 
⇒ acceso directo, no interpretado o crudo 
• Entrada de caracteres: 
 Al llegar caracteres se colocan en la cola directa 
 Los caracteres se pasan por un fragmento de código del kernel llamado 
disciplina de líneas, que actúa como filtro, aceptando caracteres en modo no 
interpretado, procesándolos y produciendo lo que se conoce como flujo de 
cocinado de caracteres 
• Salida: 
 Funciona de manera similar: expandiendo tabulaciones a espacios, 
añadiendo caracteres de relleno, etc. 
 Las salidas pueden pasar por la disciplina de líneas (modo interpretado) o 
evitarla (no interpretado) 
 La salida en modo no interpretado es útil para cuando se quiere enviar 
datos binarios a otros ordenadores
Manejadores para dispositivos de 
bloques 
• Objetivo: reducir al mínimo el no de 
transferencias reales efectuadas 
• Para ello, existe en memoria principal 
una caché de buffers (disco o bloques) 
entre el sistema de ficheros y los 
manejadores de disco 
• Cuando se necesita un bloque de 
disco por cualquier motivo (nodo-i, 
directorio o datos), primero se verifica 
si está en el caché de buffers. Si está 
se toma, evitando un acceso a disco 
• Si el bloque no está, se lee del disco, 
se coloca en la caché y de allí se copia 
a donde se necesita 
• Se utiliza tanto en las lecturas como en 
las escrituras 
• Para las escrituras, un demonio se 
encarga de realizar la actualización en 
disco de los bloques modificados de 
forma periódica
El objetivo del sistema de E/S de Windows 2000 es proporcionar un marco dentro 
del cual se maneje con eficiencia una amplia variedad de dispositivos de E/S y sea 
fácil agregar nuevos dispositivos 
El administrador de E/S es el responsable de todas las operaciones de E/S para el 
sistema operativo: 
 
Es responsable de los sistemas de ficheros, del administrador de caché, de los 
manejadores de dispositivos y de los manejadores de los protocolos de red 
 
Controla qué sistemas de ficheros están instalados y cargados 
 
Maneja los buffers para las peticiones de E/S 
 
Trabaja con el manejador de memoria virtual para proporcionar E/S de ficheros 
mapeados en memoria 
El administrador de E/S colabora de forma estrecha con el administrador de Plug 
and Play que detecta qué dispositivos están conectados, asigna recursos hardware 
(como niveles de interrupción), localiza los manejadores apropiados y los carga en 
memoria. También está relacionado con el administrador de consumo eléctrico, 
encargado del encendido y apagado de los dispositivos que permiten gestionar el 
bajo consumo
Está el administrador de caché. Este proporciona una caché centralizada que puede ser usada por todos los 
componentes que están bajo el control del administrador de E/S. En especial, la caché la usan los sistemas de 
ficheros y los componentes de red. 
Windows 2000 realiza un manejo de la E/S síncrona o asíncrona 
En la E/S asíncrona un subproceso puede iniciar una operación y luego seguir ejecutándose en paralelo con la E/S. 
Los subprocesos cuentan con varias formas de averiguar si ya finalizó la E/S: 
 
Esperar en un handle. El núcleo activa un indicador asociado a un handle cuando una operación sobre ese 
handle termina. El subproceso puede esperar en el handle para averiguar cuándo termina la operación de E/S 
 
Esperar en un objeto evento. Permite múltiples solicitudes simultáneas sobre un mismo dispositivo o fichero. El 
hilo crea un evento por cada solicitud de E/S que realice. A posteriori puede esperar en uno o varios eventos 
para averiguar cuándo terminan las solicitudes 
 
E/S extendida o alertable. Hace uso de una cola conocida como Llamada a Procedimiento Asíncrono. El hilo 
realiza una solicitud de E/S indicando que cuando finalice se invoque a una rutina que permitirá el tratamiento 
de los datos recibidos. Dicha rutina se almacena en la cola anterior 
 
Puertos de finalización de E/S. Un puerto es un objeto al que se asocian un conjunto de handles e hilos. Al 
terminar una operación de E/S sobre uno de los handles se despierta a uno de los hilos para atenderlo 
Implementación de E/S en Windows 2000: 
 
La estructura básica del sistema de E/S en Windows está formada por un conjunto de procedimientos 
independientes del dispositivo, que se encargan de ciertos aspectos de la E/S, y un conjunto de manejadores 
de dispositivos, que se cargan en memoria para comunicarse con los dispositivos 
 
Para un funcionamiento correcto, los manejadores de dispositivo deben ajustarse al modelo de manejadores de 
Windows (Windows Driver Model, WDM) que define Windows 2000. 
 
Windows 2000 proporciona un conjunto de herramientas, llamado Driver Development Kit (DDK), que ayuda a 
producir manejadores de dispositivo que se ajustan al modelo anterior
Los manejadores que se ajusten al modelo de manejadores de Windows deberán 
cumplir los siguientes requisitos: 
1.-Manejar solicitudes de E/S con un formato estándar. Las solicitudes de E/S 
tienen el formato de un paquete estandarizado llamado paquete de solicitud de E/S 
(IRP; I/O Request Paquet). Los manejadores deberán aceptarlos y procesarlos 
2.-Estar basados en objetos, en el sentido de reconocer una lista específica de 
métodos que puede invocar el resto del sistema, así como poder interactuar con 
otros objetos 
3.-Permitir que se añadan o quiten dispositivos Plug-and-Play dinámicamente. Si el 
dispositivo se añade o quita de repente al sistema, el manejador debe estar 
preparado para aceptar esta información y actuar en concordancia 
4.-Permitir la administración de consumo eléctrico, en su caso. Si el sistema cambia 
a modo de hibernación con bajo consumo, los dispositivos capaces de efectuar el 
cambio deberán hacerlo para ahorrar energía, así como despertar cuando se les 
indique 
5.-Ser configurables desde el punto de vista del uso de los recursos, e.d., no incluir 
valores fijos de IRQ’s o puertos de E/S 
6.-Ser reentrantes para usarse en multiprocesadores. El manejador debe funcionar 
de forma correcta aunque esté siendo ejecutado al mismo tiempo por 2 o más 
CPU’s. Por tanto, el acceso a las estructuras de datos delicadas debe hacerse de 
forma restringida
 
Windows detecta de forma automática los dispositivos e invoca al administrador de Plug and Play 
 
El administrador de Plug and Play sondea el dispositivo para averiguar el fabricante y el número de 
modelo. Con estos datos comprueba si tiene un manejador para ese dispositivo 
 
Si encuentra el manejador lo carga en memoria 
 
Si no lo encuentra, pide al usuario que le indique dónde (disquete o CD-ROM) puede encontrarlo 
Entre los procedimientos que debe soportar un manejador de dispositivo están: 
 
DriverEntry: asigna valores iniciales al manejador y se invoca inmediatamente después de 
cargarlo. Podría realizar la inicialización de estructuras de datos del manejador, pero no se 
comunica con el dispositivo 
 
AddDevice: se invoca una vez por cada dispositivo que va a añadirse (lo llama el administrador de 
Plug and Play) 
 
A continuación se invoca al manejador con el primer paquete IRP que establece el vector de 
interrupción y asigna valores iniciales al hardware 
 
Otros procedimientos son el de servicio de interrupción, procedimientos para administrar 
temporizadores, control de DMA, etc. 
 
Un manejador puede realizar todo el trabajo él solo, pero también es posible apilar manejadores. 
 
En caso de tener manejadores apilados, la solicitud podría pasar por una serie de manejadores, 
cada uno de los cuales realiza una parte del trabajo: 
 
Un uso común de manejadores apilados, sería para separar el manejo del bus del dispositivo en sí 
 
Otra posibilidad es tener la capacidad de insertar manejadores filtro, que aplicarían alguna 
transformación a los datos como, por ejemplo, comprimir o cifrar los datos

Más contenido relacionado

La actualidad más candente

Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entradaSasil Catzim
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida eduardoed5
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadoraMauricio Hernandez
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
Sistemas de entrada y salida
Sistemas de entrada y salidaSistemas de entrada y salida
Sistemas de entrada y salidaIsrael Rey
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorascamiche97
 
Proceso de arranque de un ordenador
Proceso de arranque de un ordenadorProceso de arranque de un ordenador
Proceso de arranque de un ordenadorJomicast
 
Buses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionBuses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionYESENIA CETINA
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 

La actualidad más candente (20)

Acceso Directo de Memoria
Acceso Directo de MemoriaAcceso Directo de Memoria
Acceso Directo de Memoria
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entrada
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Sistemas de entrada y salida
Sistemas de entrada y salidaSistemas de entrada y salida
Sistemas de entrada y salida
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Entrada y Salida
Entrada y SalidaEntrada y Salida
Entrada y Salida
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Proceso de arranque de un ordenador
Proceso de arranque de un ordenadorProceso de arranque de un ordenador
Proceso de arranque de un ordenador
 
Estrategias de busqueda
Estrategias de busquedaEstrategias de busqueda
Estrategias de busqueda
 
Buses, Direccionamiento, Temporizacion
Buses, Direccionamiento, TemporizacionBuses, Direccionamiento, Temporizacion
Buses, Direccionamiento, Temporizacion
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Modos de direccionamiento y formatos
Modos de direccionamiento y formatosModos de direccionamiento y formatos
Modos de direccionamiento y formatos
 

Similar a Entrada/Salida de Sistemas Operativos

Similar a Entrada/Salida de Sistemas Operativos (20)

Administracion e s
Administracion e sAdministracion e s
Administracion e s
 
Lenguaje de máquina
Lenguaje de máquinaLenguaje de máquina
Lenguaje de máquina
 
R
RR
R
 
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_
 
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
 
Entrada salida
Entrada salidaEntrada salida
Entrada 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
 
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
 
Administracion de e-s
Administracion de e-sAdministracion de e-s
Administracion de e-s
 
Sistemas Operativos.ppt
Sistemas Operativos.pptSistemas Operativos.ppt
Sistemas Operativos.ppt
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesos
 
Gestión de entradas y salidas
Gestión de entradas y salidasGestión de entradas y salidas
Gestión de entradas y salidas
 
Capitulo 12, 13,_14
Capitulo 12, 13,_14Capitulo 12, 13,_14
Capitulo 12, 13,_14
 
Hardware
HardwareHardware
Hardware
 
Administracion de entrada y salida
Administracion de entrada y salidaAdministracion de entrada y salida
Administracion de entrada y salida
 
Ec8
Ec8Ec8
Ec8
 
Sistema de entrada-salida
Sistema de entrada-salidaSistema de entrada-salida
Sistema de entrada-salida
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
 

Último

Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASenriquezerly87
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 

Último (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 

Entrada/Salida de Sistemas Operativos

  • 1. Realizado por: Karina Rivera Ayleen Ponte Daniel Nuñez
  • 2. Una de las principales funciones de un sistema operativo es controlar todos los dispositivos de E/S (entrada/salida) del computador. Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos. También debe proporcionar una interfaz sencilla y fácil de usar entre los dispositivos y el resto del sistema. El SO debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:  Facilitar el manejo de los dispositivos periféricos.  Optimizar la E/S del sistema.  Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivos físicos sin que sea necesario remodelar el sistema de E/S del SO.  Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug & play.
  • 3. Se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. Se pueden clasificar en dos grandes categorías:  Dispositivos de bloques.  Dispositivos de caracteres.
  • 4. Dispositivos de bloques Dispositivos de caracteres • La información se almacena en bloques de tamaño fijo. • Cada bloque tiene su propia dirección. • Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. • Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento. • Un ejemplo típico de dispositivos de bloque son los discos. • La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. • No se pueden utilizar direcciones. • No tienen una operación de búsqueda. • Un ejemplo típico de dispositivos de caracter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.
  • 5. Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos: De interfaz de usuario De almacenamiento De comunicaciones Permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada como para salida. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario y terciario. Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los módem, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local.
  • 6.
  • 7. Las unidades de E/S tienen una parte mecánica y otra electrónica. Un controlador de dispositivo es un programa informático que permite al sistema operativo interactuar con un periférico. Los modelos más frecuentes de comunicación entre la cpu y los controladores son:  Para la mayoría de las micro y mini computadoras: Modelo de bus del sistema.  Para la mayoría de los mainframes: Modelo de varios buses y computadoras especializadas en e/s llamadas canales de e/s. La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel.
  • 8. 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 la 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. 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, la cpu puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:  Obtenga el control de la cpu.  Verifique los resultados de la operación.
  • 9. Esquema Global de Manejadores de Dispositivos Procesos de usuario SW independiente del dispositivo Manejadores de dispositivo Manejadores de interrupciones Hardware Petición de E/S Respuesta de E/S Llamada de E/S, formateo de E/S, spooling Asignación de nombres y dispositivos, protección, bloqueo, buffering, Asignación de valores a los registros de dispositivos, comprobación del estado Reactivación del manejador cuando se completa la E/S Realización de la E/S Esquema de Manejadores de Dispositivos
  • 10.
  • 11. 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 la CPU. 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.
  • 12. Técnicas de E/S  E/S programada: El procesador emite una orden de E/S de parte de un proceso a un modulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.  E/S dirigida por interrupciones: El procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el modulo de E/S lo interrumpe cuan do completa su trabajo. Sin interrupcio-nes Con interrupcio-nes Transferen-cia de E/S a memoria a través del procesador E/S programada E/S dirigida por interrupcione s Transferen-cia de E/S directa a memoria Acceso directo a memoria (DMA) Acceso Directo a la Memoria (DMA): un modulo de DMA controla el intercambio de datos entre la memoria principal y un modulo de E/S. El procesador envía una petición de transferencia de un bloque de datos al modulo DMA y se interrumpe solo cuando se ha transferido el bloque entero.
  • 13. A medida que han evolucionado los sistemas informáticos, se ha producido tendencia crecientes en la complejidad y sofisticación de cada componente individual. En ninguno de los puntos es mas evidente que en la función de E/S. la etapa de su evolución puede resumirse como lo siguiente: 1.- El procesador controla directamente los dispositivos periféricos. 2.- Se añade un controlador o modulo de E/S. El procesador utiliza E/S programada sin interrupciones. 3.- Se añade un controlador o modulo. Pero empleándose interrupciones. 4.- El modulo de E/S recibe el control directo de la memoria, a través de DMA, Ahora puede mover un bloque de datos a la memoria o desde la misma sin que intervenga el procesador. 5.- se mejora el modulo de E/S hasta llegar a ser un procesador separado con un conjunto de instrucciones especializadas para E/S. 6.- El modulo de E/S posee su propia memoria local y es, de hecho un computador independiente.
  • 14. Funciones de los manejadores de dispositivos Funciones generalmente realizadas por el software independiente del dispositivo:  Interfaz uniforme para los manejadores de dispositivos.  Nombres de los dispositivos.  Protección del dispositivo.  Proporcionar un tamaño de bloque independiente del dispositivo.  Uso de buffer.  Asignación de espacio en los dispositivos por bloques.  Asignación y liberación de los dispositivos de uso exclusivo.  Informe de errores. Las funciones básicas del software independiente del dispositivo son:  Efectuar las funciones de e / s comunes a todos los dispositivos.  Proporcionar una interfaz uniforme del software a nivel usuario.
  • 15.  Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.  El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir. El software independiente del dispositivo debe:  Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.  Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.
  • 16. 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 modulo cumple una función determinada e interactúa con los demás módulos.
  • 17. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos términos:  BUFFERING  SPOOLING
  • 18. BUFFERING (uso de memoria intermedia). SPOOLING Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que los datos se han leído y la CPU va a iniciar inmediatamente la operación con ellos, el dispositivo de entrada es instruido para iniciar inmediatamente la siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU esté libre para el siguiente grupo de datos, el dispositivo de entrada habrá terminado de leerlos. La CPU podrá empezar el proceso de los últimos datos leídos, mientras el dispositivo de entrada iniciará la lectura de los datos siguientes. Esta forma de procesamiento se denomina spooling, utiliza el disco como un buffer muy grande para leer tan por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos. Es una característica utilizada en la mayoría de los sistemas operativos.
  • 19. Tanto en la E/S programada como la basada en interrupciones, la CPU 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 CPU y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access). ACCESO DIRECTO A MEMORIA (DMA) Este dispositivo permite la transferencia directa de información entre la memoria y los periféricos o viceversa, sin requerir intervención alguna por parte del procesador.
  • 20.  El DMA necesita:  Registro: almacena la dirección de memoria desde donde se produce la transferencia.  Registro contador: guarda la longitud de bloque a transferir.  Bits: indica si la operación es de lectura o escritura.  Bloque de control: controla el funcionamiento del sistema.  Existen 3 tipos de transferencia para el máximo aprovechamiento del bus:  Por ráfagas: el DMA toma el control del bus y no lo suelta hasta terminar la transferencia.  Por robo de ciclo: el DMA toma el bus durante un ciclo enviando una palabra cada vez.  Transparente: se aprovechan los ciclos en que el procesador no usa el bus.
  • 21. OPERACIONES DE E/S Existen varias operaciones, las más importantes son las siguientes:  Lectura: El canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo número de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.  Escritura: El canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura.  Control : Se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc.  Bifurcación: Cumple en el programa de canal la misma función que una instrucción de salto en un programa normal.
  • 22. Para que un computador pueda ejecutar un programa debe ser ubicado previamente en la memoria, junto con los datos sobre los que opera, y para ello debe existir una unidad funcional de entrada de información capaz de escribir en la memoria desde el exterior. Análogamente, para conocer los resultados de la ejecución de los programas, los usuarios deberán poder leer el contenido de la memoria a través de otra unidad de salida de datos. La unidad de Entrada/Salida (E/S) soporta estas funciones, realizando las comunicaciones del computador (memoria) con el mundo exterior (periféricos). Los dispositivos periféricos que se pueden conectar a un computador se suelen clasificar en tres grandes grupos:  Dispositivos de presentación de datos. Son dispositivos con los que interactúan los usuarios, portando datos entre éstos y la máquina, por ejemplo, ratón, teclado, pantalla, impresora, etc.  Dispositivos de almacenamiento de datos. Son dispositivos que forman parte de la jerarquía de memoria del computador. Interactúan de forma autónoma con la máquina, aunque también sirven para el intercambio de datos con el usuario, por ejemplo, los discos magnéticos.  Dispositivos de comunicación con otros procesadores. Permiten la comunicación con procesadores remotos a través de redes, por ejemplo, las redes de área local o global.  Dispositivos de adquisición de datos. Permiten la comunicación con sensores y actuadores que operan de forma autónoma en el entorno del computador. Se utilizan en sistemas de control automático de procesos por computador y suelen incorporar conversores de señales A/D y D/A. Funciones implicadas en las operaciones de entrada/salida
  • 23. Casi todos los dispositivos de E/S se representan como ficheros especiales:  /dev/hda1 para la primera partición del primer disco IDE  /dev/lp0 para la impresora. El acceso a estos ficheros especiales es mediante las llamadas al sistema read y write. Para cada fichero especial hay asociado un manejador de dispositivo. Cada manejador tiene un número de dispositivo principal (mayor) que sirve para identificarlo. Si el manejador sirve a varios dispositivos, cada dispositivo tiene un número de dispositivo secundario (minor) que lo identifica. Juntos, el no principal y el secundario especifican de forma única cada dispositivo de E/S Dos tipos de ficheros especiales:  Fichero especial de bloques ⇒ dispositivos de bloques:  Incluyen discos y cintas  Direccionamiento directo utilizando bloques  El manejador aisla al resto del sistema de pistas, cilindros, etc  Acceso directo (como en /dev/fd0) o a través del S.F  Memoria caché de buffers  Fichero especial de caracteres ⇒ dispositivos de caracteres:  Terminales, impresoras y otros que no usan la caché de buffers  Utilizan también una pequeña memoria intermedia ⇒ listas-C
  • 24. La E/S en Linux se implementa como una colección de manejadores, uno por tipo de dispositivo, que aisla al resto del SO de las peculiaridades del HW Cada manejador se divide en dos partes:  La mitad superior se ejecuta en el contexto del invocador y se comunica con el resto del SO  La mitad inferior se ejecuta en el contexto del kernel e interactúa con el dispositivo Los manejadores pueden invocar procedimientos del kernel para asignar memoria, administrar temporizadores, controlar DMA, etc.
  • 25. Manejadores para dispositivos de caracteres • Sistema de buffers para caracteres • Se utilizan unas estructuras de datos llamada listas C, formadas por un bloque de hasta 64 caracteres, un contador y un puntero al siguiente bloque • Se tienen dos colas: cola directa y cola canónica • El paso de la cola directa (flujo no interpretado de caracteres) a la cola canónica (flujo interpretado de caracteres) se activa con el retorno de carro • Si el proceso quiere, puede recoger un carácter cada vez que llega uno nuevo ⇒ acceso directo, no interpretado o crudo • Entrada de caracteres:  Al llegar caracteres se colocan en la cola directa  Los caracteres se pasan por un fragmento de código del kernel llamado disciplina de líneas, que actúa como filtro, aceptando caracteres en modo no interpretado, procesándolos y produciendo lo que se conoce como flujo de cocinado de caracteres • Salida:  Funciona de manera similar: expandiendo tabulaciones a espacios, añadiendo caracteres de relleno, etc.  Las salidas pueden pasar por la disciplina de líneas (modo interpretado) o evitarla (no interpretado)  La salida en modo no interpretado es útil para cuando se quiere enviar datos binarios a otros ordenadores
  • 26. Manejadores para dispositivos de bloques • Objetivo: reducir al mínimo el no de transferencias reales efectuadas • Para ello, existe en memoria principal una caché de buffers (disco o bloques) entre el sistema de ficheros y los manejadores de disco • Cuando se necesita un bloque de disco por cualquier motivo (nodo-i, directorio o datos), primero se verifica si está en el caché de buffers. Si está se toma, evitando un acceso a disco • Si el bloque no está, se lee del disco, se coloca en la caché y de allí se copia a donde se necesita • Se utiliza tanto en las lecturas como en las escrituras • Para las escrituras, un demonio se encarga de realizar la actualización en disco de los bloques modificados de forma periódica
  • 27. El objetivo del sistema de E/S de Windows 2000 es proporcionar un marco dentro del cual se maneje con eficiencia una amplia variedad de dispositivos de E/S y sea fácil agregar nuevos dispositivos El administrador de E/S es el responsable de todas las operaciones de E/S para el sistema operativo:  Es responsable de los sistemas de ficheros, del administrador de caché, de los manejadores de dispositivos y de los manejadores de los protocolos de red  Controla qué sistemas de ficheros están instalados y cargados  Maneja los buffers para las peticiones de E/S  Trabaja con el manejador de memoria virtual para proporcionar E/S de ficheros mapeados en memoria El administrador de E/S colabora de forma estrecha con el administrador de Plug and Play que detecta qué dispositivos están conectados, asigna recursos hardware (como niveles de interrupción), localiza los manejadores apropiados y los carga en memoria. También está relacionado con el administrador de consumo eléctrico, encargado del encendido y apagado de los dispositivos que permiten gestionar el bajo consumo
  • 28. Está el administrador de caché. Este proporciona una caché centralizada que puede ser usada por todos los componentes que están bajo el control del administrador de E/S. En especial, la caché la usan los sistemas de ficheros y los componentes de red. Windows 2000 realiza un manejo de la E/S síncrona o asíncrona En la E/S asíncrona un subproceso puede iniciar una operación y luego seguir ejecutándose en paralelo con la E/S. Los subprocesos cuentan con varias formas de averiguar si ya finalizó la E/S:  Esperar en un handle. El núcleo activa un indicador asociado a un handle cuando una operación sobre ese handle termina. El subproceso puede esperar en el handle para averiguar cuándo termina la operación de E/S  Esperar en un objeto evento. Permite múltiples solicitudes simultáneas sobre un mismo dispositivo o fichero. El hilo crea un evento por cada solicitud de E/S que realice. A posteriori puede esperar en uno o varios eventos para averiguar cuándo terminan las solicitudes  E/S extendida o alertable. Hace uso de una cola conocida como Llamada a Procedimiento Asíncrono. El hilo realiza una solicitud de E/S indicando que cuando finalice se invoque a una rutina que permitirá el tratamiento de los datos recibidos. Dicha rutina se almacena en la cola anterior  Puertos de finalización de E/S. Un puerto es un objeto al que se asocian un conjunto de handles e hilos. Al terminar una operación de E/S sobre uno de los handles se despierta a uno de los hilos para atenderlo Implementación de E/S en Windows 2000:  La estructura básica del sistema de E/S en Windows está formada por un conjunto de procedimientos independientes del dispositivo, que se encargan de ciertos aspectos de la E/S, y un conjunto de manejadores de dispositivos, que se cargan en memoria para comunicarse con los dispositivos  Para un funcionamiento correcto, los manejadores de dispositivo deben ajustarse al modelo de manejadores de Windows (Windows Driver Model, WDM) que define Windows 2000.  Windows 2000 proporciona un conjunto de herramientas, llamado Driver Development Kit (DDK), que ayuda a producir manejadores de dispositivo que se ajustan al modelo anterior
  • 29. Los manejadores que se ajusten al modelo de manejadores de Windows deberán cumplir los siguientes requisitos: 1.-Manejar solicitudes de E/S con un formato estándar. Las solicitudes de E/S tienen el formato de un paquete estandarizado llamado paquete de solicitud de E/S (IRP; I/O Request Paquet). Los manejadores deberán aceptarlos y procesarlos 2.-Estar basados en objetos, en el sentido de reconocer una lista específica de métodos que puede invocar el resto del sistema, así como poder interactuar con otros objetos 3.-Permitir que se añadan o quiten dispositivos Plug-and-Play dinámicamente. Si el dispositivo se añade o quita de repente al sistema, el manejador debe estar preparado para aceptar esta información y actuar en concordancia 4.-Permitir la administración de consumo eléctrico, en su caso. Si el sistema cambia a modo de hibernación con bajo consumo, los dispositivos capaces de efectuar el cambio deberán hacerlo para ahorrar energía, así como despertar cuando se les indique 5.-Ser configurables desde el punto de vista del uso de los recursos, e.d., no incluir valores fijos de IRQ’s o puertos de E/S 6.-Ser reentrantes para usarse en multiprocesadores. El manejador debe funcionar de forma correcta aunque esté siendo ejecutado al mismo tiempo por 2 o más CPU’s. Por tanto, el acceso a las estructuras de datos delicadas debe hacerse de forma restringida
  • 30.  Windows detecta de forma automática los dispositivos e invoca al administrador de Plug and Play  El administrador de Plug and Play sondea el dispositivo para averiguar el fabricante y el número de modelo. Con estos datos comprueba si tiene un manejador para ese dispositivo  Si encuentra el manejador lo carga en memoria  Si no lo encuentra, pide al usuario que le indique dónde (disquete o CD-ROM) puede encontrarlo Entre los procedimientos que debe soportar un manejador de dispositivo están:  DriverEntry: asigna valores iniciales al manejador y se invoca inmediatamente después de cargarlo. Podría realizar la inicialización de estructuras de datos del manejador, pero no se comunica con el dispositivo  AddDevice: se invoca una vez por cada dispositivo que va a añadirse (lo llama el administrador de Plug and Play)  A continuación se invoca al manejador con el primer paquete IRP que establece el vector de interrupción y asigna valores iniciales al hardware  Otros procedimientos son el de servicio de interrupción, procedimientos para administrar temporizadores, control de DMA, etc.  Un manejador puede realizar todo el trabajo él solo, pero también es posible apilar manejadores.  En caso de tener manejadores apilados, la solicitud podría pasar por una serie de manejadores, cada uno de los cuales realiza una parte del trabajo:  Un uso común de manejadores apilados, sería para separar el manejo del bus del dispositivo en sí  Otra posibilidad es tener la capacidad de insertar manejadores filtro, que aplicarían alguna transformación a los datos como, por ejemplo, comprimir o cifrar los datos