SIstemas operativos Unidad 4

22
SISTEMAS OPERATIVOS 4. ADMINISTRACIÓN DE MEMORIA 4.1 DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS: DEVICE DRIVERS 4.2 MECANISMOS Y FUNCIONES DE LOS MANJADORES DE DISPOSITIVOS 4.3 ESTRUTURAS DE DATOS PARA MANEJO 4.4 OPEARCIONES ENTRADA SALIDA 3° “B” CARRERA: ISC Integrantes: Andry Eliel H. Velasco Hernández No. Control: 14700231 Albert Alexis Ramos Constantino No. Control: 14700 Leonardo Jose Pedro No. Control: 14700

description

SISTEMAS OPERATIVOS4. ADMINISTRACIÓN DE MEMORIA4.1 DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS: DEVICE DRIVERS4.2 MECANISMOS Y FUNCIONES DE LOS MANJADORES DE DISPOSITIVOS4.3 ESTRUTURAS DE DATOS PARA MANEJO4.4 OPEARCIONES ENTRADA SALIDA

Transcript of SIstemas operativos Unidad 4

Page 1: SIstemas operativos Unidad 4

SISTEMAS OPERATIVOS

4. ADMINISTRACIÓN DE MEMORIA 4.1 DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS: DEVICE DRIVERS

4.2 MECANISMOS Y FUNCIONES DE LOS MANJADORES DE DISPOSITIVOS 4.3 ESTRUTURAS DE DATOS PARA MANEJO

4.4 OPEARCIONES ENTRADA SALIDA

3° “B” CARRERA: ISC

Integrantes:

Andry Eliel H. Velasco Hernández No. Control: 14700231

Albert Alexis Ramos Constantino No. Control: 14700

Leonardo Jose Pedro No. Control: 14700

Page 2: SIstemas operativos Unidad 4

1

Índice

Pág.

Introducción………………………………………………………………………………………1

Contenido………………………………………………………………………………………….2

4.1 Dispositivos y manejadores de dispositivos: Device Drivers………….3

4.2 Mecanismos y funciones de los manejadores de dispositivos:

Device Drivers…………………………………………………………………………………...9

4.3 Estructura de datos para manejo…………………………………………………..11

4.4 Operaciones Entrada/Salida…………………………………………………………..14

Conclusión…………………………………………………………………………………………..21

Bibliografía………………………………………………………………………………………….21

Page 3: SIstemas operativos Unidad 4

2

Introducción:

En un tema tan importante como este, veremos cómo es el funcionamiento y la

administración de entrada y salida, y es importante porque sabremos cómo es la conexión

entre el hardware y el software, como es que se puede controlar un elemento físico de la

computadora mediante un programa o una aplicación dentro de la computadora.

Veremos las distintas funciones en el que el sistema operativo realiza respecto a este tema,

como son los siguientes.

Facilitar el manejo de los dispositivos de E/S. Para ello debe ofrecer una interfaz

entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar.

Optimizar la E/S del sistema, proporcionando mecanismos de incremento de

prestaciones donde sea necesario.

Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de

dispositivo físico sin que sea necesario remodelar el sistema de E/S del sistema

operativo.

Permitir la conexión de dispositivos nuevos de E/S, solventando de forma

automática su instalación usando mecanismos del tipo plug&play.

Conexión de un dispositivo de E/S a una computadora. En el modelo de un periférico

se distinguen dos elementos:

o Periféricos o dispositivos de E/S. Elementos que se conectan a la

unidad central de proceso a través de las unidades de

entrada/salida. Son el componente mecánico que se conecta a la

computadora.

o Controladores de dispositivos o unidades de E/S. Se encargan de

hacer la transferencia de información entre la memoria principal

y los periféricos. Son el componente electrónico a través del cual

se conecta el dispositivo de E/S. Tienen una conexión al bus de la

computadora y otra para el dispositivo (generalmente mediante

cables internos o externos).

Page 4: SIstemas operativos Unidad 4

3

Por lo tanto en este tema veremos un funcionamiento básico del sistema operativo, pero a

veces no sabemos ni cómo es que se logra hacer.

4.1 Dispositivos y manejadores de dispositivos: Device

Drivers

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 que almacenan la información en bloques de

tamaño fijo (discos)

Dispositivos de caracteres: maneja la información mediante un flujo de caracteres

sin estructurarlos en bloques (mouse, teclado, impresora)

Las principales características de los dispositivos de bloque son:

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.

Las principales características de los dispositivos de carácter son:

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 carácter son las impresoras de línea, terminales,

interfaces de una red, ratones, etc.

Page 5: SIstemas operativos Unidad 4

4

Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos:

Dispositivos de interfaz de usuario. Se llama así a los dispositivos que 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 (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.).

Existen periféricos menos habituales, pero más sofisticados, tales como un escáner,

lectores de huella digital, lectores de cinta magnética, instrumentos musicales

digitales (MIDI), etc.

Dispositivos de almacenamiento. 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 (discos y disquetes) y

terciario (cintas).

Dispositivos de comunicaciones. 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.

En cualquier caso, y sea como sea el controlador, su misión es convertir los datos del

formato interno del dispositivo a uno externo que se ofrezca a través de una interfaz de

programación bien definida. Los controladores de dispositivo se suelen agrupar en alguna

de las siguientes categorías o clases:

Adaptadores de audio (tarjetas de sonido).

Dispositivos de comunicación (infrarrojos, módems, etc).

Dispositivos de visualización; pantallas (displays).

Teclados.

Ratón (“mouse” y otros señaladores gráficos).

Dispositivos multimedia.

Dispositivos de Red.

Impresoras.

Almacenamiento

Page 6: SIstemas operativos Unidad 4

5

Algunos dispositivos de entrada y salida:

Entrada:

Teclado

Ratón

Joystick

Lápiz óptico

Micrófono

Webcam

Escáner

Escáner de código de barras

Salida:

Monitor

Altavoz

Auriculares

Impresora

Plotter

Proyector

Entrada/salida (mixtos):

Unidades de almacenamiento: CD, DVD, Blu-ray, Memory cards, Disco

Duro Externo, Disco duro, Pendrive USB.

Módem

Router

Pantalla táctil

Tarjeta de red

Controladores de dispositivos

Un controlador (instaladores) de dispositivos, normalmente llamado controlador en inglés

(device driver) es un programa que informático que permite al sistema operativo

interactuar con un periférico, haciendo una abstracción del hardware del dispositivo y

proporcionando una interfaz - posiblemente estandarizada - para usarlo. Se puede

esquematizar como un manual de instrucciones que se indica al sistema operativo, cómo

Page 7: SIstemas operativos Unidad 4

6

debe controlar y comunicarse con un dispositivo en particular. Por lo tanto es una pieza

esencial, sin el cual, no se podría usar el hardware. Los controladores de dispositivos son

programas añadidos al núcleo del sistema para gestionar periféricos y dispositivos oficiales.

Existen tantos tipos de controladores como tipos de periféricos y es común más de un tipo

de controlador posible para el mismo dispositivo, cada uno ofreciendo un nivel distinto

de funcionalidades. Por ejemplo, aparte de los oficiales (normalmente disponibles en la

página web del fabricante se pueden encontrar también los proporcionados por el sistema

operativo o también versiones no oficiales hechas por terceros.

Las unidades de e / s generalmente constan de:

Un componente mecánico.

Un componente electrónico, el controlador del dispositivo o adaptador.

Muchos controladores pueden manejar más de un dispositivo. El S. O. generalmente trabaja

con el controlador y no con el dispositivo.

La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:

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

o Comienza con un preámbulo.

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

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

El preámbulo:

o Se escribe al dar formato al disco.

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

similares.

El controlador debe:

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

Efectuar cualquier corrección de errores necesaria.

Copiar el bloque en la memoria principal.

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

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

memoria.

Page 8: SIstemas operativos Unidad 4

7

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.

Manejadores de dispositivos

Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado en el

sistema operativo.

Dicho manejador incluye: código independiente del dispositivo para proporcionar al nivel

superior del sistema operativo una interfaz de alto nivel y el código dependiente del

dispositivo necesario para programar el controlador del dispositivo a través de sus registros

y datos. La tarea de un manejador de dispositivo es aceptar peticiones en formato

abstracto, de la parte del código de E/S independiente del dispositivo, traducir dichas

peticiones a términos que entienda el controlador, enviar al mismo las órdenes adecuadas

en la secuencia correcta y esperar a que se cumplan.

Todos los manejadores tienen una lista de peticiones pendientes por dispositivo donde se

encolan las peticiones que llegan de niveles superiores.

El manejador explora la lista de peticiones, extrae una petición pendiente y ordena

su ejecución.

La política de extracción de peticiones de la lista es dependiente de manejador y

puede ser FIFO.

Una vez enviada la petición al controlador, el manejador se bloquea o no,

dependiendo de la velocidad del dispositivo. Para los lentos (discos) se bloquea

esperando una interrupción. Para los rápidos (pantalla, discos RAM, etcétera)

responde inmediatamente.

Después de recibir el fin de operación, controla la existencia de errores y devuelve

al nivel superior el estado de terminación de la operación. Si tiene operaciones

pendientes en la cola de peticiones, atiende a la siguiente, en caso de que le toque

ejecutar después de la operación de E/S. En caso contrario se bloquea.

Page 9: SIstemas operativos Unidad 4

8

Cada controlador posee uno o más registros de dispositivos:

Se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos y verifican su

ejecución adecuada.

La labor de un manejador de dispositivos es la de:

Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo.

Verificar la ejecución de dichas solicitudes.

Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes. La solicitud de e / s, por ej. Para un disco, se debe traducir de términos abstractos a términos concretos:

Estimar el lugar donde se encuentra en realidad el bloque solicitado. Verificar si el motor de la unidad funciona. Verificar si el brazo está colocado en el cilindro adecuado, etc.

Page 10: SIstemas operativos Unidad 4

9

Resumiendo: debe decidir cuáles son las operaciones necesarias del controlador y su orden.

Envía los comandos al controlador al escribir en los registros de dispositivo del mismo.

Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupción lo libera de este bloqueo.

Al finalizar la operación debe verificar los errores. Si todo está bien transferirá los datos al software independiente del

dispositivo. Regresa información de estado sobre los errores a quien lo llamo. Inicia otra solicitud pendiente o queda en espera.

4.2 Mecanismos y funciones de los manejadores de

dispositivos: Device Drivers

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

operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el

Page 11: SIstemas operativos Unidad 4

10

componente que se ve desde la CPU. El Sistema Operativo generalmente trabaja con el

controlador y no con el dispositivo.

Técnicas de E/S

E/S programada: El procesador emite una orden de E/S de parte de un proceso a un módulo

de E/S; el proceso espera entonces a que termine la operación, antes de seguir.

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 módulo de E/S lo

interrumpe cuan do completa su trabajo. Las instrucciones siguientes pueden ser del mismo

proceso, si no es necesario para este esperar la terminación de E/S. en otro caso, el proceso

se suspende a la espera de la interrupción, mientras se realiza otro trabajo.

Acceso Directo a la Memoria (DMA): un módulo de DMA controla el intercambio de datos

entre la memoria principal y un módulo de E/S. El procesador envía una petición de

transferencia de un bloque de datos al módulo DMA y se interrumpe solo cuando se ha

transferido el bloque entero.

En la mayoría de los sistemas informáticos, el DMA es la forma dominante de transferencia

ofrecida por el sistema operativo.

Sin interrupciones Con interrupciones

Transferencia de E/S

a memoria a través del procesador

E/S programada E/S dirigida por

interrupciones

Transferencia de E/S directa a memoria

Acceso directo a memoria (DMA)

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.

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.

Page 12: SIstemas operativos Unidad 4

11

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.

El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos

con el nombre adecuado.

Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:

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.

4.3 Mecanismos y funciones de los manejadores de

dispositivos: Device Drivers

Estructura simple o sistema monolítico

El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras.

Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. Los

programas de aplicación pueden acceder a operaciones básicas de entrada / salida para

escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea

vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido

por alguna falla. Además este sistema, también está limitado al hardware sobre el que

corre.

Otra estructura simple es la utilizada por la versión original de UNIX, esta consiste de

dos partes separadas, el kernel y los programas de sistemas. El kernel fue posteriormente

Page 13: SIstemas operativos Unidad 4

12

separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel

provee el sistema de archivos, la programación de CPU,

el administrador de memoria y otras funciones del

sistema operativo que responden a las llamadas del

sistema enunciadas anteriormente.

Es una forma de relación entre el kernel y el software los

sistemas operativos que usaron este sistema fueron

freedbsd, unix y linux.

Estructura por capas (layers)

Las nuevas versiones de UNIX se diseñaron para hardware más avanzado. Para dar

mayor soporte al hardware, los sistemas operativos se dividieron en pequeñas partes.

Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones

que se ejecutan sobre este.

La modularizacion de un sistema se puede presentar de varias formas, la más utilizada

es la de capas, la cual consiste en dividir al sistema operativo en un número de capas. La

capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario.

La principal ventaja es que cada capa

cumple con una serie de funciones y

servicios que brinda a las otras capas,

esto permite una mejor organización

del sistema operativo y una depuración

más fácil de este.

Es una estructura organizada

jerárquicamente cada una construidas

de menor a mayor.

Page 14: SIstemas operativos Unidad 4

13

Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inferior. Una capa no necesita saber cómo se implementan estas funciones, solo necesita saber que operaciones puede realizar. Los procesos de usuario emiten peticiones de E/S 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 (uso de memoria interna) 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 introducido para iniciar inmediatamente la siguiente lectura. La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este 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 iniciara la lectura de los datos siguientes. SPOOLING Esta forma de procesamiento de denomina spooling, utiliza el disco como un buffer muy grade 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. Manejadores de interrupción Los manejadores de interrupción se encargan de tratar las interrupciones que generan los controladores de dispositivos una vez que éstos están listos para la transferencia de datos

Page 15: SIstemas operativos Unidad 4

14

o bien han leído o escrito los datos de memoria principal en caso de acceso directo a memoria. Para tratar dicha interrupción se ejecuta el correspondiente manejador de interrupción cuyo efecto es el de salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene por qué ser el interrumpido).

4.4 Operaciones de entrada y salida

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,

liberando de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la

operación completa de E/S. Esta técnica se denomina acceso directo a memoria (DMA,

Direct Memory Access).

Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga

directamente de transferir los datos entre el periférico y la memoria principal, sin requerir

intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera:

cuando el procesador desea que se imprima un bloque de datos, envía una orden al

controlador indicándole la siguiente información:

Tipo de operación: lectura o escritura. Periférico involucrado en la operación. La dirección de memoria desde la que se va a leer o a la que va a escribir

directamente con el controlador de dispositivo (dirección). El número de bytes a transferir (contador).

Donde el campo Operación corresponde al código de operación de las instrucciones

máquina normal. Especifica la operación que debe realizar la CCW. La unidad de control

decodifica este campo y envía las señales adecuadas de control al dispositivo. 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º 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.

Page 16: SIstemas operativos Unidad 4

15

Bifurcación: cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar.

Los pasos a seguir en una operación de E/S con DMA son los siguientes:

1. Programación de la operación de E/S. Se indica al controlador la operación, los

datos a transferir y la dirección de memoria sobre la que se efectuará la operación.

2. El controlador contesta aceptando la petición de E/S.

3. El controlador le ordena al dispositivo que lea (para operación de lectura) una

cierta cantidad de datos desde una posición determinada del dispositivo a su

memoria interna.

4. Cuando los datos están listos, el controlador los copia a la posición de memoria

que tiene en sus registros, incrementa dicha posición de memoria y decremento el

contador de datos pendientes de transferir.

5. Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.

6. Cuando el registro de contador está a cero, el controlador interrumpe a la UCP

para in dicar que la operación de DMA ha terminado.

Inicio y control de los programas de canal

Hemos visto cómo se utilizan los programas de canal para realizar operaciones de E/S.

Estos programas residen en la memoria principal del computador y se ejecutan en el

canal. Vamos a examinar ahora la forma en que la CPU inicia y supervisa las operaciones

de E/S, es decir, el programa de canal. En el IBM S/370 existen cuatro instrucciones

máquina que la CPU puede utilizar para estos fines. Son las siguientes:

START I/O Inicia una operación de E/S. El campo de dirección de la instrucción se emplea para especificar el canal y el dispositivo de E/S que participa en la operación.

HALT I/O Finaliza la operación del canal.

TEST CHANNEL Prueba el estado del canal.

TEST I/O Prueba el estado del canal, el subcanal y el dispositivo de E/S.

Page 17: SIstemas operativos Unidad 4

16

Una operación de E/S se inicia con la instrucción START I/O. La ubicación del programa de

canal en la memoria principal viene definida en la palabra de dirección de canal (CAW:

Channel Address word), que siempre está almacenada en la posición 72 de la memoria

principal.

Funciones implicadas en las operaciones de entrada/salida

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.

Page 18: SIstemas operativos Unidad 4

17

Los dispositivos de transporte

y presentación de datos

representan una carga muy

baja de trabajo para el

procesador comparados con

los dispositivos de

almacenamiento. La siguiente

tabla muestra las velocidades

de transferencia típicas para

diferentes dispositivos.

Aunque la velocidad de transferencia

de los dispositivos de presentación de

datos ha sido tradicionalmente lenta

comparada con la de los dispositivos de

almacenamiento, en los últimos

tiempos la situación está cambiando.

Cada vez más, los computadores se utilizan para manejar documentos multimedia que

constan de gráficos, vídeos y voz. La siguiente tabla presenta algunos parámetros de

transferencia para los dispositivos modernos de E/S multimedia.

Los gráficos requieren una gran capacidad de procesamiento de datos, hasta el punto que se han diseñado procesadores de propósito especial para manejar de forma eficiente las representaciones gráficas (GPU: Graphic Processor Unit).

Page 19: SIstemas operativos Unidad 4

18

El problema del vídeo es simplemente la animación de los problemas gráficos, ya que debe crearse una nueva imagen cada 1/30 de segundo (33 milisegundos).

El procesamiento de la voz es también elevado porque exige la creación o el reconocimiento de varios fonemas en tiempo real. De hecho es el medio que más capacidad de procesamiento requiere debido a que presenta el mayor grado de intolerancia por retrasos en el usuario.

Los dispositivos periféricos que pueden conectarse a un computador para realizar entrada

y salida de información presentan, pues, las siguientes características:

Tienen formas de funcionamiento muy diferentes entre sí, debido a las diferentes funciones que realizan y a los principios físicos en los que se basan.

La velocidad de transferencia de datos es también diferente entre sí y diferente de la presentada por la CPU y la memoria.

Suelen utilizar datos con formatos y longitudes de palabra diferentes

No obstante estas diferencias, existen una serie de funciones básicas comunes a todo

dispositivo de E/S:

Identificación única del dispositivo por parte de la CPU

Capacidad de envío y recepción de datos

Sincronización de la transmisión, exigida por la diferencia de velocidad de los dispositivos de E/S con la CPU

La identificación del dispositivo se realiza con un decodificador de direcciones. El envío y

la recepción de datos tienen lugar a través de registros de entrada y salida de datos. Los

circuitos de sincronización se manipulan por medio de registros de estado y control. El

siguiente esquema representa gráficamente estas funciones:

Page 20: SIstemas operativos Unidad 4

19

Las tres funciones básicas se pueden realizar a través del bus del sistema que conecta

la memoria y la CPU, o bien se puede utilizar un bus específico para las operaciones de E/S.

Estas alternativas se traducen en dos formas de organización de los espacios de direcciones:

Espacios de direcciones unificados

Las unidades de E/S se ubican en el espacio único de direcciones como si fuesen

elementos de Memoria.

A cada unidad de E/S se le asigna un conjunto de direcciones (suficiente para

diferenciar todos sus registros internos).

La interacción entre CPU y unidad de E/S se realiza a través de instrucciones de

referencia a memoria. El bus del sistema es único.

Espacios de direcciones independientes (Memoria y E/S)

Las unidades de E/S se ubican en un espacio de direcciones diferente al de memoria.

La interacción entre CPU y unidad de E/S se realiza a través de instrucciones

específicas de E/S. La separación de espacios de direcciones puede soportarse con

un bus único de uso compartido entre Memoria y E/S en función del estado de una

línea de control MEM/IO:

Page 21: SIstemas operativos Unidad 4

20

Pero el desdoblamiento de espacios de direcciones puede responder a la existencia de dos

buses independientes, uno para memoria (bus del sistema) y otro para E/S:

Funcionalmente son equivalentes, pero desde el punto de vista de la codificación de

programas difieren en el uso de las instrucciones. En el caso de E/S asignada en memoria se

utilizan instrucciones de referencia a memoria, mientras que para E/S aislada existe un

grupo particular de instrucciones para realizar esta función.

Page 22: SIstemas operativos Unidad 4

21

Conclusión: En este tema pudimos ver algo que conocemos, que usamos a diario pero que tal vez no sabíamos completamente su funcionamiento como lo son los controladores, como funciona, en que sirven, e indiferentemente de eso, como es que funciona la comunicación de estos artefactos, como se logra comunicar una computadora con el ratón o con el teclado, y como es que realmente hace eso. También pudimos ver cómo es que actúan los softwares, que caminos usan, cuales son los diferentes métodos y procesos que utiliza para hacer que funciones. Pareciera no ser un tema extenso pero lo es, ya que conlleva un sinfín de métodos, orden, y formas en lograr comunicarse los diferentes periféricos.

Bibliografía:

http://sistemas.itlp.edu.mx/tutoriales/sistemasoperativos/t41.htm

http://sistemasoperativos.angelfire.com/html/4.3.html

http://sistemasoperativosdelardm.blogspot.mx/2009/11/44-operaciones-de-entrada-salida.html

http://sistemasoperativos.angelfire.com/html/4.3.html

https://sites.google.com/site/materiasisoperativo/unidad-4-administracion-de-entrada-salida