Principios de entrada y salida en linux

Solo disponible en BuenasTareas
  • Páginas : 7 (1583 palabras )
  • Descarga(s) : 4
  • Publicado : 22 de noviembre de 2009
Leer documento completo
Vista previa del texto
Entrada y Salida en Linux


3.1 Principios del Hardware E/S

Los dispositivos están divididos en dos tipos: los dispositivos de carácter y los dispositivos de bloque. La diferencia es que los dispositivos de bloque tienen un búfer para las peticiones, por lo tanto pueden escoger en qué orden las van a responder. Esto es importante en el caso de los dispositivos de almacenamiento, donde es másrápido leer o escribir sectores que están cerca entre sí, que aquellos que están más dispersos. Otra diferencia es que los dispositivos de bloque sólo pueden aceptar bloques de entrada y de salida (cuyo tamaño puede variar según el dispositivo), en cambio los dispositivos de carácter pueden usar muchos o unos pocos bytes como ellos quieran. La mayoría de los dispositivos del mundo son de carácter,porque no necesitan este tipo de buffering, y no operan con un tamaño de bloque fijo. Se puede saber cuándo un fichero de dispositivo es para un dispositivo de carácter o de bloque mirando el primer carácter de la salida de ls -l. Si es `b' entonces es un dispositivo de bloque, y si es `c' es un dispositivo de carácter.

La controladora o adaptador de dispositivo es una tarjeta, por lo regularprovista de un conector en el cual puede enchufarse un cable que lleva al dispositivo. Muchas controladoras pueden manejar dos, cuatro o incluso ocho dispositivos idénticos. Si la interfaz entre la controladora y el dispositivo es estándar, ya sea ANSI, IEEE o ISO oficial, o un estándar de facto, las compañías pueden fabricar controladores o dispositivos que se ajusten a esa interfaz.
La tarea de lacontroladora consiste en convertir el flujo de bits en serie en un bloque de bytes y realizar una corrección de errores que sea necesaria.

3.2 Principios del Software de E/S

El sistema de E/S de Linux es relativamente sencillo. En esencia, se hace que todos los dispositivos de E/S semejen archivos y se accede a ellos con las mismas llamadas al sistema read y write que se usan para el acceso atodos los archivos ordinarios. En algunos casos deben establecerse parámetros de dispositivos, y esto se hace con una llamada especial al sistema.

La E/S en Linux se implementa como una colección de controladores de dispositivos, uno por tipo de dispositivo. La función de los controladores es aislar el resto del sistema de las peculiaridades del hardware. Al proporcionar interfaces estándar entrelos controladores y el resto del sistema operativo, casi todo el sistema de E/S puede colocarse en la parte del Kernel que es independiente de la maquina.
Cuando el usuario tiene acceso a un archivo especial, el sistema de archivos determina los números de dispositivos principal y secundario que le pertenecen y si se trata de un archivo especial de bloques o caracteres.

Cada controlador se divideen dos partes. La mitad superior se ejecuta en el contexto de innovador y se comunica con el resto del Linux. La mitad inferior se ejecuta en el contexto de Kernel e interactúa con el dispositivo. Los controladores pueden invovar procedimientos del Kernel para asignar memoria, administrar temporizadores, controlar DMA y otras cosas.
El sistema de E/S se divide en dos componentes principales: elmanejo de archivos especiales de bloques y el manejo de archivos especiales de caracteres.

La meta de la parte del sistema que efectúa E/S con archivos especiales de bloques (por ejemplo, discos) es reducir al mínimo el numero de transferencias reales efectuadas. Para ello, los sistemas Linux tienes un cache búfer entre los controladores de disco y el sistema de archivos, como se ilustra en lafigura 1. El cache búfer es una tabla en el kernel donde se retienen miles de bloques usados de modo más reciente. Cuando se necesita un bloque de disco por cualquier motivo (nodo-i, directorio o datos), primero se verifica si esta en el cache de búfer. Si esta allí, se toma y se evita un acceso a disco. El cache del búfer mejora de manera considerable el desempeño del sistema.

Si el bloque no está...
tracking img