Gestión de E/S
Introducción El corazón de una computadora lo constituye la CPU  Pero n o serviría de nada sin :   -D ispositivos de almacenamiento secundario (discos, cintas, etc.).  D ispositivos periféricos,  que le permitan interactuar con el usuario: G eneralmente están fuera de la computadora y se conectan a ella mediante cables . S on los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora.
 
Dispositivos de E/S Los dispositivos que tienen que hacer E/S con los computadores se clasifican en 3 categorías: 1) Dispositivos legibles por el humano: teclado, pantalla, impresora, mouse 2) Dispositivos legibles por la máquina: discos, unid. De cinta, controlador, etc. 3) Dispositivos de comunicaciones: módem, Tarjeta de Red, etc.
... Otra manera de ver los tipos de dispositivos de E/S es: –  Dispositivos de bloques •  Almacenan la información en bloques de tamaño fijo •  Cada bloque tiene su propia dirección (nº de bloque) •  Es posible leer/escribir cada bloque independientemente •  Ejemplo: discos. –  Dispositivos de caracteres •  Aceptan o envían flujos de caracteres •  No son direccionables •  Ejemplo: impresoras.
El problema a) Los procesos hacen un uso extensivo de E/S b) Cada dispositivo de E/S tiene su propia idiosincrasia c) Los dispositivos necesitan ayuda del núcleo d) Diferentes velocidades CPU ejecuta operaciones a 1 GHz o más (nanosegundos) RAM: acceso de nanosegundos. Dispositivos de E/S: acceso de milisegundos o más.  Esta diferencia y el deseo de aplicaciones interactivas hace que la E/S sea el cuello de botella. Los sistemas operativos se esfuerzan para optimizar la E/S.
... Velocidades de datos de dispositivos
Funciones del SO para la gestión de dispositivos –  Enviar comandos a los dispositivos. –  Capturar interrupciones. –  Tratar errores. –  Proporcionar un interfaz entre los dispositivos y el resto del sistema operativo: •  Simple. •  Fácil de utilizar. •  Idéntico para todos los dispositivos.
A pesar de la inmensa variedad de dispositivos de entrada/salida, tan solo se requieren  unos cuantos conceptos  para entender como están conectados y como se pueden controlar mediante programas. Puerto:  Es el punto físico de conexión de un dispositivo al sistema. Bus:  Conjunto de cables que son compartidos por un conjunto de ports para transmitir información. El manejo de este bus esta definido de forma  estricta  mediante un protocolo. Controlador:  Conjunto de circuitos que operan sobre un bus, un puerto o un dispositivo.
Estructura de un PC
Präsentation Conexión entre periféricos y CPU Inicialmente el procesador controlaba directamente los dispositivos de E/S. Para aislar al procesador de los detalles específicos del dispositivo se realiza una conexión indirecta a través de: Controladoras Canales
Controladoras Las unidades de E/S suelen constar de un componente mecánico (el propio del dispositivo) y uno electrónico (controladora ó adaptador de dispositivo). La CPU se conecta a través de esta controladora al dispositivo. Una controladora puede servir para varios dispositivos del mismo tipo. La interfaz entre la controladora y el dispositivo es estándar como: IDE (Integrated Device Electronics), SCSI( Small Computer System Interface),  USB (Universal Serial Bus) y otros. Funciones: Almacenar el estado del dispositivo. Controlar el dispositivo. Convertir el flujo de bits en una serie de bloques de bytes y realizar la corrección de errores necesaria.
Canales Otra forma de conexión es a través de canales de E/S, que consiste en un Procesador especifico para operaciones de E/S. La evolución de estos procesadores han llevado a que tengan su propia memoria, Se habla ahora de procesadores de E/S (Ej: Familia IOP de Intel). El canal pretende tratar el dispositivo como abstracto ó virtual. Se maneja mediante ordenes especializadas. Una vez terminada la acción el Canal devuelve el estado del dispositivo a la vez que interrumpe el procesador  Central.
Los canales pueden ser: Selectores: Permiten manejar varios dispositivos pero solo uno en cada momento, Generalmente es usado con dispositivos rápidos.
Multiplexores: Trabajan con varios dispositivos pudiendo transferir datos de todos simultáneamente. Esta relacionado con dispositivos lentos como el teclado o la impresora.
Control de E/S ¿Cómo conoce el HW y el SO que una operación de E/S ha acabado? Existen tres técnicas para realizar la E/S: E/S programada E/S dirigida por interrupciones E/S por acceso directo a la memoria (DMA)
E/S programada:  Inicialmente el procesador controlaba directamente los dispositivos periféricos. Luego se añade una controladora del dispositivo de E/S. La CPU utiliza E/S programada. El dispositivo E/S realiza la acción (no la CPU) colocando los bits necesarios en sus registros de status. La CPU chequea los bits de status continuamente.  Este comportamiento se conoce como sondeo (polling) ó espera activa (la CPU esta ocupada hasta que acaba La operación de E/S). No hay interrupciones.
E/S dirigida por interrupciones: Son un mecanismo asistido por HW para Sincronizar el procesador con los procesos Asincronos. La CPU es interrumpida cuando el dispositivo E/S está listo para intercambiar datos. La CPU está libre entre la solicitud de datos e interrupción. No hay necesidad de esperar. Consume mucha CPU ya que cada byte leído/escrito pasa por la CPU desde/hacia la memoria.
Una interrupción ó petición IRQ (Interrupt Request) es una señal que se origina en un dispositivo HW para indicar al procesador que algo requiere  su asistencia.
E/S con acceso directo a memoria (DMA): Transfiere un bloque de datos directamente hacia/desde la memoria sin usar CPU Se envía una interrupción cuando los datos fueron transferidos La CPU sólo participa al inicio y al final de la acción
DMA ( Direct Memory Access ): Para evitar que la CPU sea la encargada de transferir datos entre la memoria y el periférico se usa el DMA. La técnica de Acceso Directo a Memoria (DMA) requiere un módulo adicional conectado al bus del sistema: El controlador de DMA que es capaz de hacer las funciones asignadas a la CPU y asumir el control del sistema El controlador de DMA contiene: ◆  Registro de Datos ◆  Registro de Direcciones ◆  Registro contador de palabras ◆  Unidad de control del DMA
Estos registros permiten al controlador de DMA transferir datos desde (o hacia) una zona contigua de memoria: El registro de dirección ◆  Almacena la dirección de la siguiente palabra a transmitir ◆  Se incrementa de forma automática después de cada transferencia El registro contador de palabras ◆  Almacena el número de palabras que quedan por enviar ◆  Se decrementa automáticamente después de cada transferencia
La unidad de control del DMA ◆  Comprueba si el contenido del registro contador es 0 ◆  Cuando alcanza este valor para la transferencia, envía una señal de interrupción a la CPU para indicarle que la transferencia a finalizado Cuando la CPU desea leer o escribir un bloque de datos emite una orden al controlador de DMA enviándole la siguiente información: ◆  Si la operación es de lectura o escritura ◆  La dirección del periférico ◆  La posición de comienzo de memoria de donde hay que leer o donde hay que escribir ◆  El número de palabras que se tienen que leer o escribir
A partir de este momento la CPU continúa realizando otra tarea. La CPU ha delegado esta operación de E/S en el controlador de DMA y es este módulo quien se encargará de ella. El controlador de DMA transfiere directamente, palabra a palabra, el bloque completo de datos entre el periférico y la memoria, sin pasar par la CPU. Cuando la transferencia finaliza el controlador de DMA envía una señal de interrupción a la CPU. De esta forma la CPU únicamente participa al comienzo y al final de la transferencia
El controlador de DMA necesita tener el control del bus para poder transferir datos hacia (o desde) la memoria: ◆  Por ráfagas ◆  Por robo de ciclos ◆  DMA transparente ◆  Por demanda ◆  Dato a dato Cuando el controlador de DMA está preparado para transmitir o recibir datos, activa la línea de petición de DMA a la CPU. La CPU espera en el siguiente punto de ruptura del DMA, renuncia al control de los buses de datos y direcciones y activa la línea de reconocimiento de DMA
ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO OBJETIVOS del diseño de la E/S: 1) Eficiencia:   Reducir al máximo el tiempo de las operaciones de E /S, y evitar cuello de botella. Solución   principal : Paralelización de las operaciones de E /S  con las operaciones de la CPU (multiproceso)
... 2) Generalidad:   Uniformidad en el trato de dispositivos distintos: a) en la interfaz entre el proceso y los dispositivos  b) en la gestión entre el Sistema Operativo y los dispositivos.  Solución principal : Enfoque Modular y jerárquico en el diseño de funciones de E/S. Modularidad . Distribuir las funciones en capas organizadas jer árquicamente (niveles). Los niveles coinciden con los requisitos de tiempos de respuesta requeridos. Niveles bajos atienden a eventos rápidos (hardware), mientras los niveles altos atienden a eventos o solicitudes menos críticas (comunicación con el usuario).
... Hay tres configuraciones principales, que corresponden a: 1. Comunicación con un dispositivo periférico local 2. Dispositivo de comunicaciones 3. Dispositivo de almacenamiento secundario
Procesos de Usuario E /S l ógica E /S con dispositivos Planificación y Control Hardware 1) Comunicación con un dispositivo periférico local, Los niveles son: Trata al dispositivo como un recurso lógico, sin preocuparse de los detalles de control del dispositivo particular. Se ocupa de la gestión de funciones generales de E/S pedidas por los procesos de usuario, proporciona identificadores y operaciones de: lectura, escritura, apertura y cierre. Convierte las operaciones pedidas y datos en secuencias de instrucciones de E /S , comandos  para el canal y ordenes al controlador. Este nivel maneja  la planificación, encolado  y control de las operaciones de E /S; además del m anejo de interrupciones. Se encarga de realizar la comunicación con el hardware.
Procesos de Usuario Arquitectura de Comunicaciones E /S con dispositivos Planificación y Control Hardware 2) Dispositivo de comunicaciones Es muy parecida a la anterior. La diferencia  principal es que el nivel de E/S lógica se reemplaza  por una arquitectura de comunicaciones, que a su vez puede constar de varios niveles.  Ej. OSI, arquitectura de interconexión de sistemas abiertos (7 niveles)
Procesos de Usuario Gestión de directorios Sistema de Archivos Organización Física E /S con dispositivos Planificación y Control Hardware 3) Sistema de Almacenamiento secundario Traducción de nombres de los archivos a identificadores que referencian al file. Operaciones que tienen que ver con la gestión de directorios: Añadir, Borrar, Reorganizar Estructura lógica de los archivos. Operaciones especificadas por el usuario: Abrir, Cerrar, Leer, Escribir. Gestión de derechos de acceso Conversión de  “direcciones” l ógicas a direcciones físicas del almacenamiento secundario. Asignación de espacio en el almacenamiento secundario (disco) y principal (buffers)
Almacenamiento Intermedio de E/S Para evitar carga a veces es conveniente llevar a cabo las transferencias de Entrada por adelantado a las peticiones y realizar transferencias de Salida un tiempo después de hacer la petición. Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering).
Buffer sencillo Cuando un proceso de usuario realiza una petición de E/S, el SO le asigna a la operación un buffer en la parte del sistema de la MP. Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema
...
Buffer doble Se puede realizar una mejora del buffer sencillo asignando dos (2) buffers del sistema a cada operación. DE esta forma, un proceso puede transferir datos hacia (o desde) un buffer mientras que el SO vacía (o rellena) el otro.
Buffer circular El esquema del buffer doble debería  solucionar  el flujo de datos entre un dispositivo de E/S y un proceso. Si preocupa el rendimiento de un proceso determinado, sería deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso. El buffer doble es inapropiado para ráfagas rápidas de E/S. Pero ello se mitiga usando más de 2 buffers.
...

Gestion de Entrada y Salida

  • 1.
  • 2.
    Introducción El corazónde una computadora lo constituye la CPU Pero n o serviría de nada sin : -D ispositivos de almacenamiento secundario (discos, cintas, etc.). D ispositivos periféricos, que le permitan interactuar con el usuario: G eneralmente están fuera de la computadora y se conectan a ella mediante cables . S on los teclados, ratones, micrófonos, cámaras y cualquier otro dispositivo de E/S que se le ocurra conectar a una computadora.
  • 3.
  • 4.
    Dispositivos de E/SLos dispositivos que tienen que hacer E/S con los computadores se clasifican en 3 categorías: 1) Dispositivos legibles por el humano: teclado, pantalla, impresora, mouse 2) Dispositivos legibles por la máquina: discos, unid. De cinta, controlador, etc. 3) Dispositivos de comunicaciones: módem, Tarjeta de Red, etc.
  • 5.
    ... Otra manerade ver los tipos de dispositivos de E/S es: – Dispositivos de bloques • Almacenan la información en bloques de tamaño fijo • Cada bloque tiene su propia dirección (nº de bloque) • Es posible leer/escribir cada bloque independientemente • Ejemplo: discos. – Dispositivos de caracteres • Aceptan o envían flujos de caracteres • No son direccionables • Ejemplo: impresoras.
  • 6.
    El problema a)Los procesos hacen un uso extensivo de E/S b) Cada dispositivo de E/S tiene su propia idiosincrasia c) Los dispositivos necesitan ayuda del núcleo d) Diferentes velocidades CPU ejecuta operaciones a 1 GHz o más (nanosegundos) RAM: acceso de nanosegundos. Dispositivos de E/S: acceso de milisegundos o más. Esta diferencia y el deseo de aplicaciones interactivas hace que la E/S sea el cuello de botella. Los sistemas operativos se esfuerzan para optimizar la E/S.
  • 7.
    ... Velocidades dedatos de dispositivos
  • 8.
    Funciones del SOpara la gestión de dispositivos – Enviar comandos a los dispositivos. – Capturar interrupciones. – Tratar errores. – Proporcionar un interfaz entre los dispositivos y el resto del sistema operativo: • Simple. • Fácil de utilizar. • Idéntico para todos los dispositivos.
  • 9.
    A pesar dela inmensa variedad de dispositivos de entrada/salida, tan solo se requieren unos cuantos conceptos para entender como están conectados y como se pueden controlar mediante programas. Puerto: Es el punto físico de conexión de un dispositivo al sistema. Bus: Conjunto de cables que son compartidos por un conjunto de ports para transmitir información. El manejo de este bus esta definido de forma estricta mediante un protocolo. Controlador: Conjunto de circuitos que operan sobre un bus, un puerto o un dispositivo.
  • 10.
  • 11.
    Präsentation Conexión entreperiféricos y CPU Inicialmente el procesador controlaba directamente los dispositivos de E/S. Para aislar al procesador de los detalles específicos del dispositivo se realiza una conexión indirecta a través de: Controladoras Canales
  • 12.
    Controladoras Las unidadesde E/S suelen constar de un componente mecánico (el propio del dispositivo) y uno electrónico (controladora ó adaptador de dispositivo). La CPU se conecta a través de esta controladora al dispositivo. Una controladora puede servir para varios dispositivos del mismo tipo. La interfaz entre la controladora y el dispositivo es estándar como: IDE (Integrated Device Electronics), SCSI( Small Computer System Interface), USB (Universal Serial Bus) y otros. Funciones: Almacenar el estado del dispositivo. Controlar el dispositivo. Convertir el flujo de bits en una serie de bloques de bytes y realizar la corrección de errores necesaria.
  • 13.
    Canales Otra formade conexión es a través de canales de E/S, que consiste en un Procesador especifico para operaciones de E/S. La evolución de estos procesadores han llevado a que tengan su propia memoria, Se habla ahora de procesadores de E/S (Ej: Familia IOP de Intel). El canal pretende tratar el dispositivo como abstracto ó virtual. Se maneja mediante ordenes especializadas. Una vez terminada la acción el Canal devuelve el estado del dispositivo a la vez que interrumpe el procesador Central.
  • 14.
    Los canales puedenser: Selectores: Permiten manejar varios dispositivos pero solo uno en cada momento, Generalmente es usado con dispositivos rápidos.
  • 15.
    Multiplexores: Trabajan convarios dispositivos pudiendo transferir datos de todos simultáneamente. Esta relacionado con dispositivos lentos como el teclado o la impresora.
  • 16.
    Control de E/S¿Cómo conoce el HW y el SO que una operación de E/S ha acabado? Existen tres técnicas para realizar la E/S: E/S programada E/S dirigida por interrupciones E/S por acceso directo a la memoria (DMA)
  • 17.
    E/S programada: Inicialmente el procesador controlaba directamente los dispositivos periféricos. Luego se añade una controladora del dispositivo de E/S. La CPU utiliza E/S programada. El dispositivo E/S realiza la acción (no la CPU) colocando los bits necesarios en sus registros de status. La CPU chequea los bits de status continuamente. Este comportamiento se conoce como sondeo (polling) ó espera activa (la CPU esta ocupada hasta que acaba La operación de E/S). No hay interrupciones.
  • 18.
    E/S dirigida porinterrupciones: Son un mecanismo asistido por HW para Sincronizar el procesador con los procesos Asincronos. La CPU es interrumpida cuando el dispositivo E/S está listo para intercambiar datos. La CPU está libre entre la solicitud de datos e interrupción. No hay necesidad de esperar. Consume mucha CPU ya que cada byte leído/escrito pasa por la CPU desde/hacia la memoria.
  • 19.
    Una interrupción ópetición IRQ (Interrupt Request) es una señal que se origina en un dispositivo HW para indicar al procesador que algo requiere su asistencia.
  • 20.
    E/S con accesodirecto a memoria (DMA): Transfiere un bloque de datos directamente hacia/desde la memoria sin usar CPU Se envía una interrupción cuando los datos fueron transferidos La CPU sólo participa al inicio y al final de la acción
  • 21.
    DMA ( DirectMemory Access ): Para evitar que la CPU sea la encargada de transferir datos entre la memoria y el periférico se usa el DMA. La técnica de Acceso Directo a Memoria (DMA) requiere un módulo adicional conectado al bus del sistema: El controlador de DMA que es capaz de hacer las funciones asignadas a la CPU y asumir el control del sistema El controlador de DMA contiene: ◆ Registro de Datos ◆ Registro de Direcciones ◆ Registro contador de palabras ◆ Unidad de control del DMA
  • 22.
    Estos registros permitenal controlador de DMA transferir datos desde (o hacia) una zona contigua de memoria: El registro de dirección ◆ Almacena la dirección de la siguiente palabra a transmitir ◆ Se incrementa de forma automática después de cada transferencia El registro contador de palabras ◆ Almacena el número de palabras que quedan por enviar ◆ Se decrementa automáticamente después de cada transferencia
  • 23.
    La unidad decontrol del DMA ◆ Comprueba si el contenido del registro contador es 0 ◆ Cuando alcanza este valor para la transferencia, envía una señal de interrupción a la CPU para indicarle que la transferencia a finalizado Cuando la CPU desea leer o escribir un bloque de datos emite una orden al controlador de DMA enviándole la siguiente información: ◆ Si la operación es de lectura o escritura ◆ La dirección del periférico ◆ La posición de comienzo de memoria de donde hay que leer o donde hay que escribir ◆ El número de palabras que se tienen que leer o escribir
  • 24.
    A partir deeste momento la CPU continúa realizando otra tarea. La CPU ha delegado esta operación de E/S en el controlador de DMA y es este módulo quien se encargará de ella. El controlador de DMA transfiere directamente, palabra a palabra, el bloque completo de datos entre el periférico y la memoria, sin pasar par la CPU. Cuando la transferencia finaliza el controlador de DMA envía una señal de interrupción a la CPU. De esta forma la CPU únicamente participa al comienzo y al final de la transferencia
  • 25.
    El controlador deDMA necesita tener el control del bus para poder transferir datos hacia (o desde) la memoria: ◆ Por ráfagas ◆ Por robo de ciclos ◆ DMA transparente ◆ Por demanda ◆ Dato a dato Cuando el controlador de DMA está preparado para transmitir o recibir datos, activa la línea de petición de DMA a la CPU. La CPU espera en el siguiente punto de ruptura del DMA, renuncia al control de los buses de datos y direcciones y activa la línea de reconocimiento de DMA
  • 26.
    ASPECTOS DE DISEÑODEL SISTEMA OPERATIVO OBJETIVOS del diseño de la E/S: 1) Eficiencia: Reducir al máximo el tiempo de las operaciones de E /S, y evitar cuello de botella. Solución principal : Paralelización de las operaciones de E /S con las operaciones de la CPU (multiproceso)
  • 27.
    ... 2) Generalidad: Uniformidad en el trato de dispositivos distintos: a) en la interfaz entre el proceso y los dispositivos b) en la gestión entre el Sistema Operativo y los dispositivos. Solución principal : Enfoque Modular y jerárquico en el diseño de funciones de E/S. Modularidad . Distribuir las funciones en capas organizadas jer árquicamente (niveles). Los niveles coinciden con los requisitos de tiempos de respuesta requeridos. Niveles bajos atienden a eventos rápidos (hardware), mientras los niveles altos atienden a eventos o solicitudes menos críticas (comunicación con el usuario).
  • 28.
    ... Hay tresconfiguraciones principales, que corresponden a: 1. Comunicación con un dispositivo periférico local 2. Dispositivo de comunicaciones 3. Dispositivo de almacenamiento secundario
  • 29.
    Procesos de UsuarioE /S l ógica E /S con dispositivos Planificación y Control Hardware 1) Comunicación con un dispositivo periférico local, Los niveles son: Trata al dispositivo como un recurso lógico, sin preocuparse de los detalles de control del dispositivo particular. Se ocupa de la gestión de funciones generales de E/S pedidas por los procesos de usuario, proporciona identificadores y operaciones de: lectura, escritura, apertura y cierre. Convierte las operaciones pedidas y datos en secuencias de instrucciones de E /S , comandos para el canal y ordenes al controlador. Este nivel maneja la planificación, encolado y control de las operaciones de E /S; además del m anejo de interrupciones. Se encarga de realizar la comunicación con el hardware.
  • 30.
    Procesos de UsuarioArquitectura de Comunicaciones E /S con dispositivos Planificación y Control Hardware 2) Dispositivo de comunicaciones Es muy parecida a la anterior. La diferencia principal es que el nivel de E/S lógica se reemplaza por una arquitectura de comunicaciones, que a su vez puede constar de varios niveles. Ej. OSI, arquitectura de interconexión de sistemas abiertos (7 niveles)
  • 31.
    Procesos de UsuarioGestión de directorios Sistema de Archivos Organización Física E /S con dispositivos Planificación y Control Hardware 3) Sistema de Almacenamiento secundario Traducción de nombres de los archivos a identificadores que referencian al file. Operaciones que tienen que ver con la gestión de directorios: Añadir, Borrar, Reorganizar Estructura lógica de los archivos. Operaciones especificadas por el usuario: Abrir, Cerrar, Leer, Escribir. Gestión de derechos de acceso Conversión de “direcciones” l ógicas a direcciones físicas del almacenamiento secundario. Asignación de espacio en el almacenamiento secundario (disco) y principal (buffers)
  • 32.
    Almacenamiento Intermedio deE/S Para evitar carga a veces es conveniente llevar a cabo las transferencias de Entrada por adelantado a las peticiones y realizar transferencias de Salida un tiempo después de hacer la petición. Esta técnica se conoce con el nombre de almacenamiento intermedio (buffering).
  • 33.
    Buffer sencillo Cuandoun proceso de usuario realiza una petición de E/S, el SO le asigna a la operación un buffer en la parte del sistema de la MP. Este método proporciona una mayor velocidad en comparación con la ausencia de almacenamiento intermedio en el sistema
  • 34.
  • 35.
    Buffer doble Sepuede realizar una mejora del buffer sencillo asignando dos (2) buffers del sistema a cada operación. DE esta forma, un proceso puede transferir datos hacia (o desde) un buffer mientras que el SO vacía (o rellena) el otro.
  • 36.
    Buffer circular Elesquema del buffer doble debería solucionar el flujo de datos entre un dispositivo de E/S y un proceso. Si preocupa el rendimiento de un proceso determinado, sería deseable que las operaciones de E/S fueran capaces de ir al ritmo del proceso. El buffer doble es inapropiado para ráfagas rápidas de E/S. Pero ello se mitiga usando más de 2 buffers.
  • 37.

Notas del editor

  • #2 Los procesos, durante su ejecución intercalan períodos de calculo con operaciones de Entrada/Salida . El sistema operativo es el encargado de controlar, dialogar e intercambiar información directamente con los dispositivos de entrada/salida.
  • #4 Objetivo: Crear un subsistema capaz de controlar los dispositivos de forma homogénea y al mismo tiempo dar cabida a todo tipo de dispositivos.
  • #11 Un sistema suele tener varios buses . La arquitectura de un PC tiene dos buses . PCI : El principal que conecta el procesador, la memoria y los dispositivos mas rápidos. Bus de Expansión : Conecta el resto de dispositivos con velocidad de transferencia mas baja. SCSI : Bus opcional que esta conectado al bus PCI. Requiere su propio controlador así como sus propios dispositivos. Suele contener su propio procesador. Cada dispositivo de entrada/salida dispone de su propio controlador que se conecta a un tipo de bus específico .
  • #21 Petición de transferencia de disco 2. Controlador programa el disco 3. Controlador de disco inicia transferencia por DMA 4. Controlador envía datos a DMA 5. DMA transfiere dato a memoria 6. DMA interrumpe a la CPU.
  • #22 Estas operaciones son tan frecuentes que el rendimiento del procesador puede ser sensiblemente mejorado mediante la introducción de un procesador adicional especializado en estas operaciones . Este procesador se denomina DMA (Direct Memory Access) y su única capacidad es la de transferir datos entre memoria y los dispositivo de entrada/salida. El DMA ejecuta únicamente peticiones de transferencia. Para ello recibe dos direcciones de memoria (origen y destino) y el numero de bytes a transferir . El DMA se comporta como un dispositivo, y se controla a través de interrupciones .