Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

23
Capítulo I Gestión de Capítulo I Gestión de E/S E/S 1.- Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 2.- Hardware de E/S 3.- Software de E/S 3.- Software de E/S

Transcript of Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

Page 1: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

Capítulo I Gestión de E/SCapítulo I Gestión de E/S

1.- Gestión de E/S1.- Gestión de E/S

2.- Hardware de E/S2.- Hardware de E/S

3.- Software de E/S3.- Software de E/S

Page 2: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

1. Gestión de E/S1. Gestión de E/S

Una de las principales funciones del S.O. es Una de las principales funciones del S.O. es administrar los dispositivos de E/S de la administrar los dispositivos de E/S de la computadora, proporcionando una interfaz computadora, proporcionando una interfaz sencilla y fácil de usar entre los dispositivos y el sencilla y fácil de usar entre los dispositivos y el resto del sistema.resto del sistema.

En la medida de lo posible , la interfaz deberá En la medida de lo posible , la interfaz deberá ser la misma para todos los dispositivos ser la misma para todos los dispositivos (independiente del dispositivo).(independiente del dispositivo).

Page 3: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Los dispositivos de E/S pueden dividirse en dos Los dispositivos de E/S pueden dividirse en dos categorías: Dispositivos de bloques y de categorías: Dispositivos de bloques y de caracterescaracteres

Dispositivos de bloquesDispositivos de bloques: Almacena su : Almacena su información en bloques de tamaño fijo, cada información en bloques de tamaño fijo, cada uno con su propia dirección, Los tamaños uno con su propia dirección, Los tamaños varían desde 512 bytes hasta 32768 bytes. varían desde 512 bytes hasta 32768 bytes.

La propiedad fundamental consiste en que es La propiedad fundamental consiste en que es posible leer o escribir cada bloque con posible leer o escribir cada bloque con independencia de todos los demás. Los discos independencia de todos los demás. Los discos duros son los mas comunes. duros son los mas comunes.

Page 4: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Dispositivos de caracteres:Dispositivos de caracteres: Estos dispositivos Estos dispositivos suministran o aceptan un flujo de caracteres sin suministran o aceptan un flujo de caracteres sin estructurarlos en bloques, no es direccionable y estructurarlos en bloques, no es direccionable y no tiene una operación de desplazamiento.no tiene una operación de desplazamiento.

Tenemos impresoras, ratones, etc.Tenemos impresoras, ratones, etc.

Existen además otros dispositivos como los Existen además otros dispositivos como los relojes que no son direccionables por bloques relojes que no son direccionables por bloques pero tampoco aceptan o generan flujo de pero tampoco aceptan o generan flujo de caracteres y lo único que hacen es generar caracteres y lo único que hacen es generar interrupciones a intervalos de tiempo bien interrupciones a intervalos de tiempo bien definidos.definidos.

Page 5: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Los dispositivos tienen velocidades totalmente Los dispositivos tienen velocidades totalmente diferentes, lo cual obliga al software de E/S a diferentes, lo cual obliga al software de E/S a tener un buen desempeño dentro de las tasas tener un buen desempeño dentro de las tasas de datos que cubren varios ordenes de de datos que cubren varios ordenes de magnitud. Ejm:magnitud. Ejm:

Tasa de datos

Teclado 10bytes/sRatón 100bytes/sMódem de 56K 7Kb/sImpresora láser 100Kb/sUSB 1.5 Mb/sCD ROM 40X 6 Mb/sBus ISA 16.7Mb/sBus PCI 528Mb/s

Page 6: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Controladoras de dispositivosControladoras de dispositivos::

Las unidades de E/S por lo regular constan de Las unidades de E/S por lo regular constan de un dispositivo mecánico y uno electrónico, éste un dispositivo mecánico y uno electrónico, éste último se denomina controladora o adaptador último se denomina controladora o adaptador de dispositivo. En las PC´s suele adoptar la de dispositivo. En las PC´s suele adoptar la forma de una tarjeta de circuitos impresos que forma de una tarjeta de circuitos impresos que puede insertarse en una ranura de expansión.puede insertarse en una ranura de expansión.

El componente mecánico es el dispositivo El componente mecánico es el dispositivo mismo. mismo.

Page 7: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Controladoras de dispositivosControladoras de dispositivos::

CPU MemoriaControladora

deVídeo

Controladorade

Impresora

Controladorade

disquete

Controladorade

disco duro

bus

Page 8: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Controladoras de dispositivosControladoras de dispositivos::

La tarea de la controladora consiste en convertir La tarea de la controladora consiste en convertir el flujo de bits en serie en un bloque de bytes y el flujo de bits en serie en un bloque de bytes y realizar la corrección de errores que sea realizar la corrección de errores que sea necesaria.necesaria.

Lo normal es que primero se arme el bloque de Lo normal es que primero se arme el bloque de bytes, bit por bit, en un búfer dentro de la bytes, bit por bit, en un búfer dentro de la controladora, una vez que se comprueba su controladora, una vez que se comprueba su suma de verificación (código para corrección de suma de verificación (código para corrección de errores) y se le declara sin errores puede errores) y se le declara sin errores puede copiarse en la memoria principal. copiarse en la memoria principal.

Page 9: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

E/S con correspondencia en memoriaE/S con correspondencia en memoria

Cada controladora tiene algunos registros para Cada controladora tiene algunos registros para comunicarse con la CPU, al escribir en estos comunicarse con la CPU, al escribir en estos registros el S.O puede ordenar al dispositivo registros el S.O puede ordenar al dispositivo que suministre o acepte datos, se encienda o que suministre o acepte datos, se encienda o apague así mismo o realice otra acción.apague así mismo o realice otra acción.

Además de los registros de control muchos Además de los registros de control muchos dispositivos tienen un búfer de datos que el S.O dispositivos tienen un búfer de datos que el S.O puede leer y escribir. puede leer y escribir.

Page 10: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

E/S con correspondencia en memoriaE/S con correspondencia en memoria

La forma como se comunica la CPU con los La forma como se comunica la CPU con los registros de control y el búfer de datos de los registros de control y el búfer de datos de los dispositivos se realiza de la siguiente manera:dispositivos se realiza de la siguiente manera:

Con los registros de control, a cada registro se Con los registros de control, a cada registro se le asigna un número de le asigna un número de puerto de E/Spuerto de E/S que es que es número entero de 8 o 16 bits, utilizando una número entero de 8 o 16 bits, utilizando una instrucción como: instrucción como: IN REG, PUERTOIN REG, PUERTO

La CPU puede leer del registro de control La CPU puede leer del registro de control PUERTO y almacenar el resultado en su PUERTO y almacenar el resultado en su registro interno REG.registro interno REG.

Page 11: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

E/S con correspondencia en memoriaE/S con correspondencia en memoria

Dos espacios de direcciones

Un espacio de direcciones

Dos espacios de direcciones

Memoria

Puertos de E/S

0

0xFF..

Espacios de E/S yde memoria aparte

E/S con correspondenciaen memoria

Híbrido

Page 12: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Acceso Directo a Memoria (DMA)Acceso Directo a Memoria (DMA) La La CPU puede solicitar datos a una controladora CPU puede solicitar datos a una controladora de E/S, byte por byte pero ello obliga a la CPU de E/S, byte por byte pero ello obliga a la CPU a perder tiempo, por eso es común utilizar un a perder tiempo, por eso es común utilizar un esquema distinto llamado DMA. El S.O. puede esquema distinto llamado DMA. El S.O. puede usar DMA si el hardware tiene una controladora usar DMA si el hardware tiene una controladora DMA.DMA.

Cada dispositivo puede tener su controladora Cada dispositivo puede tener su controladora DMA, pero es mas común una sola DMA DMA, pero es mas común una sola DMA integrada a la placa matriz para regular las integrada a la placa matriz para regular las transferencias a múltiples dispositivos, a transferencias a múltiples dispositivos, a menudo de manera concurrente.menudo de manera concurrente.

Page 13: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

2. Hardware de E/S2. Hardware de E/S

Funcionamiento de una transferencia por DMAFuncionamiento de una transferencia por DMA

1.- La CPU Programa lacontroladora

DMACPU

ControladoraDMA

Controladorade disco

Memoriaprincipal

Dirección

Cuenta

Control

Unidadde disco

Búfer

Bus

InterrumpirAl terminar

2.-DMAsolicita

transferenciaa memoria

3.-SeTransfieren

datos

4.-Acuse(Ack)

Page 14: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Uno de los objetivos del software de E/S es Uno de los objetivos del software de E/S es mantener la independencia del dispositivo, lo mantener la independencia del dispositivo, lo cual significa que debe ser posible escribir cual significa que debe ser posible escribir programas capaces de acceder a cualquier programas capaces de acceder a cualquier dispositivo de E/S sin especificar por dispositivo de E/S sin especificar por adelantado de que dispositivo se trata.adelantado de que dispositivo se trata.

Por ejemplo un programa que lee un archivo Por ejemplo un programa que lee un archivo como entrada deberá poder leerlo de un disco como entrada deberá poder leerlo de un disco flexible, de un disco duro o de un CD-ROM. flexible, de un disco duro o de un CD-ROM.

Page 15: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Metas del software de E/SMetas del software de E/S

• Independencia del dispositivo.Independencia del dispositivo.

• Mantener el nombre de un archivo o dispositivo Mantener el nombre de un archivo o dispositivo como una cadena o un entero y no depender en como una cadena o un entero y no depender en absoluto del dispositivo. (Nombres uniformes)absoluto del dispositivo. (Nombres uniformes)

• Manejo de erroresManejo de errores

• Manejar el uso de búferesManejar el uso de búferes

Page 16: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

E/S con DMAE/S con DMA

• Existen 3 formas distintas de efectuar E/S:Existen 3 formas distintas de efectuar E/S:

a.- E/S programada: Deja que la CPU a.- E/S programada: Deja que la CPU realice todo el trabajo.realice todo el trabajo.

b.- E/S controlada por interrupciones. La b.- E/S controlada por interrupciones. La CPU imprime carácter por carácter, CPU imprime carácter por carácter, controlado por interrupciones. controlado por interrupciones.

c.- E/S con DMAc.- E/S con DMA

Page 17: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

E/S con DMAE/S con DMA

Consiste en dejar que la controladora DMA Consiste en dejar que la controladora DMA alimente los caracteres uno por uno sin alimente los caracteres uno por uno sin molestar a la CPU, dejándola libre para realizar molestar a la CPU, dejándola libre para realizar otros procesos.otros procesos.

Básicamente el DMA es E/S programada, solo Básicamente el DMA es E/S programada, solo que la controladora DMA es la que realiza todo que la controladora DMA es la que realiza todo

el trabajo y no la CPU. el trabajo y no la CPU.

Page 18: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

E/S con DMAE/S con DMA

Ejemplo:Ejemplo:

Código que se ejecuta cuando se efectúa la Código que se ejecuta cuando se efectúa la

llamada al sistema para imprimir: llamada al sistema para imprimir:

copiar_de_usuario(buffer,p,cuenta); copiar_de_usuario(buffer,p,cuenta); preparar_controladora_DMA(); preparar_controladora_DMA(); calendarizador(); calendarizador();

Page 19: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

E/S con DMAE/S con DMA

Ejemplo:Ejemplo:

Procedimiento de servicio de interrupción: Procedimiento de servicio de interrupción:

acusar_interrup(); acusar_interrup(); desbloquear_usuario(); desbloquear_usuario(); volver_de_interupción();volver_de_interupción();

Page 20: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Capas del sistema de software de E/SCapas del sistema de software de E/S

Software de E/S en el nivel de usuario

Soft. de S.O. independiente del dispositivo

Manejadores de interrupciones

Hardware

Controladores de dispositivos

Page 21: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Controladores de dispositivosControladores de dispositivos: Es el código : Es el código que necesita cada dispositivo para realizar que necesita cada dispositivo para realizar correctamente las funciones que tiene correctamente las funciones que tiene asignadas.asignadas.

Por lo general es escrito por el fabricante y se Por lo general es escrito por el fabricante y se proporciona junto con el hardware. Debido a proporciona junto con el hardware. Debido a que cada sistema operativo necesita sus que cada sistema operativo necesita sus propios controladores, los fabricantes suelen propios controladores, los fabricantes suelen proporcionar controladores para los sistemas proporcionar controladores para los sistemas operativos mas usados.operativos mas usados.

Page 22: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Para acceder al hardware del dispositivo, es Para acceder al hardware del dispositivo, es decir, a los registros de la controladora, por lo decir, a los registros de la controladora, por lo general es necesario que el controlador forme general es necesario que el controlador forme parte del kernel del sistema operativo, al menos parte del kernel del sistema operativo, al menos en los sistemas actuales. en los sistemas actuales.

Page 23: Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.

3. Software de E/S3. Software de E/S

Ubicación lógica de los controladores de Ubicación lógica de los controladores de dispositivos.dispositivos.

Programa de usuario

Resto del Sistema Operativo

Cotrolador de impresora

Cotrolador de ratón

Cotrolador de CD-ROM

Cotroladora de impresora

Cotroladora de ratón

Cotroladora de CD-ROM

Dispositivo Dispositivo Dispositivo

Espacio de usuario

Espacio de Kernel

Hardware

Proceso usuario