3 entrada salida

Download 3 Entrada Salida

Post on 06-Dec-2015

212 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

completo

TRANSCRIPT

  • Sistemas OperativosENTRADA / SALIDA

  • Principios de Hardware E/SPara los Ing. Electrnicos la E/S son chips, cables, fuentes de poder, motores y todo lo fsico.

    Los programadores lo ven como los comandos que acepta el software, las funciones que lleva acabo y los errores que pueden soportar.

    La programacin del Hardware es importante porque permite a trabajar con los dispositivos conectados a la computadora.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS2

  • Dispositivos de E/SDispositivos de bloque: Almacenan informacin en bloques de tamao fijo. Los tamaos de bloque varan desde 512 bytes hasta 32,768 bytes.

    Es posible leer o escribir cada bloque de forma independiente.

    Los discos duros, CD-ROM y memoria USB son los ms comunes.

    Las unidades de disco y las de cinta magntica van desapareciendo para dar paso a otras tecnologas.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS3

  • Dispositivos de E/SDispositivos de caracter: Enva o acepta un flujo de caracteres, sin importar la estructura de bloque. Las impresoras, las interfases de red y los ratones, son ejemplos de

    dispositivos de caracter.

    Las pantallas (monitores) cumplen con algunas caractersticas pero comnmente reciben seales que se convierten en imgenes.

    El S.O. tiene que manejar y controlar un sinfn de dispositivos, algunos de estos funcionan independientemente.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS4

  • Dispositivos de E/S

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS5

  • Controladores de dispositivosLas unidades de E/S regularmente cuentan con un componente mecnico y uno electrnico.

    El componente electrnico se llama controlador de dispositivo o adaptador.

    Puede ser un chip en la tarjeta principal o una tarjeta de circuito integrado conectado a una ranura de expansin (PCI).

    La tarjeta controladora contiene un conector que puede tener un cable al dispositivo.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS6

  • Controladores de dispositivosMuchos controladores manejan 2, 4 u 8 dispositivos idnticos.

    La interfase entre el controlador y el dispositivo puede ser un estndar ANSI, IEEE o ISO.

    Los fabricantes producen dispositivos que coinciden con interfase IDE, SATA, SCSI, USB o FireWire.

    La interfase entre el controlador y el dispositivo es de muy bajo nivel.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS7

  • Controladores de dispositivosCon el controlador el S.O. maneja los dispositivos usando caracteres o pixeles por lnea, lneas por pantalla, etc. Un disco duro lee y escribe un flujo serial

    de bits.

    Cada bloque de bytes, bit por bit, es guardado en un bfer dentro del controlador para armarlo como un bloque mayor que puede ser copiado a la memoria principal.

    En un monitor, los bits se juntan en bytes que se convierten en seales de luz para la pantalla.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS8

  • E/S asignacin de memoriaCada controlador tiene registros que usa para comunicarse con el CPU, el S.O. puede hacer que enve o acepte datos, que encienda, se apague o cualquier otra accin.

    Muchos dispositivos tienen un bfer de datos donde el S.O. puede leer o escribir.

    A cada registro de control se le asigna un puerto E/S de 8 a 16 bits, el conjunto de todos es el espacio de puertos de E/S y est protegido para programas de usuario.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS9

  • E/S asignacin de memoriaEjemplos de instrucciones de IBM/360:

    IN REG, PUERTO

    OUT PUERTO,REG

    Una vez ledo, se pasa a la memoria:

    IN R0, 4

    MOV R0, 4

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS10

  • E/S asignacin de memoria

    Otro mtodo llamado E/S con asignacin de memoria (mapped-memory) es asignar todos los registros de control al espacio de memoria.

    A cada registro se le asigna una direccin de memoria nica.

    Las computadoras PDP/11 usan este mtodo.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS11

  • E/S asignacin de memoria

    En las computadoras IBM PC se usan direcciones de 640 K a 1 Mb para bferes de datos, y de 0 a 64 K para puertos de E/S.

    Estas reas estn reservadas y si no se usan, se desperdician.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS12

  • E/S asignacin de memoriaPara ambos mtodos, cuando la CPU desea leer un dato, en memoria o en un puerto de E/S, coloca la direccin en el bus y manda una seal READ.

    Otra seal se manda para requerir espacio de E/S o de memoria.

    Si la memoria est disponible, se responde a la peticin, con las siguientes implicaciones:

    1. Hay sobrecarga para controlar la E/S.

    2. No se requiere proteccin de procesos de usuario.

    3. Puede leerse la memoria o el registro de control.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS13

  • E/S asignacin de memoriaAl usar E/S se debe deshabilitar la memoria cach para evitar conflictos.

    El tener solo un bus para datos como para dispositivos de E/S, puede hacerlo lento.

    Una solucin es tener un bus dedicado.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS14

  • Acceso Directo a Memoria (DMA)La CPU solicita datos de un controlador de E/S un bit a la vez, pero se desperdicia tiempo, por eso se utiliza DirectMemory Access (DMA).

    Regularmente existe un DMA en la tarjeta principal para regular las transferencias de varios dispositivos en forma concurrente.

    El DMA tiene acceso al bus del sistema de forma independiente al CPU.

    Contiene varios registros que pueden leerse o escribirse.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS15

  • Acceso Directo a Memoria (DMA)El controlador del disco lee un bloque, bit por bit, hasta que coloca todo el bloque completo en un bfer interno.

    Despus, calcula la suma de comprobacin para verificar errores de lectura.

    Luego, se produce una interrupcin.

    El S.O. puede leer el bloque del bfer del controlador, byte por byte, para almacenarlo en la memoria principal.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS16

  • Acceso Directo a Memoria (DMA)El DMA programa al controlador definiendo que debe transferir y a donde.

    Tambin se emite un comando al controlador del disco para indicarle que debe leer datos.

    El DMA inicia la transferencia enviando una peticin de lectura al controlador del disco mediante el bus.

    Los datos se transfieren y se escriben en memoria, el DMA incrementa la direccin de memoria y disminuye la cuenta de bytes.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS17

  • Acceso Directo a Memoria (DMA)

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS18

  • Acceso Directo a Memoria (DMA)Una vez que termina de transferir datos de un dispositivo, el DMA utiliza el algoritmo por turno rotatorio (round-robin) para acceder a otro dispositivo.

    El bus de datos puede operar con una palabra a la vez o con un bloque de palabras.

    En el primero el DMA interrumpe al CPU para leer palabras en modo robo de ciclo.

    Con los bloques, la interrupcin se hace para transferir las palabras de un bloque y se llama modo de rfaga.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS19

  • Acceso Directo a Memoria (DMA)A esta forma de trabajar, donde el DMA transfiere datos de los dispositivos de E/S a la memoria, se le llama fly by.

    El DMA trabaja junto con el CPU para obtener y convertir los nmeros de memoria fsica que va a usar para almacenar los datos.

    El bfer interno del controlador se usa para verificar lo que se va a leer antes de hacerlo.

    No todas las computadoras usan DMA, el argumento es que la CPU puede hacer sus funciones ms rpido, pero se bloquea.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS20

  • Repaso de las interrupcionesCuando un dispositivo de E/S ha terminado el trabajo asignado, produce una interrupcin.

    La seal pasa al bus y detectada luego por el chip controlador de interrupciones.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS21

  • Repaso de las interrupcionesSi no hay interrupciones pendientes, el controlador procesa la siguiente de inmediato.

    Si se atiende otra peticin anterior o si hay prioridad, al dispositivo que la emite se le ignora, pero este sigue mandando la seal hasta que la CPU lo atiende.

    El vector de interrupciones se usa para apuntar al programa correspondiente que utiliza el dispositivo de E/S.

    PROF. LUIS H. CRUZ A.

    SISTEMAS OPERATIVOS22

  • Repaso de las interrupcionesLa ubicacin del vector de interrupcin puede estar de manera esttica en la mquina (hardwired) o en la memoria.

    Se debe guardar el contador del programa para reiniciar el proceso interrumpido.

    Si se guarda el vector en los registros internos del S.O. existe el riesgo de sobre escribirlos