Sistemas operativos

Solo disponible en BuenasTareas
  • Páginas : 18 (4373 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de enero de 2011
Leer documento completo
Vista previa del texto
Una de las principales funciones de un sistema operativo es la de controlar todos los
dispositivos de E/S (Entrada/Salida). El sistema operativo debe enviar comandos a los
dispositivos, atender las interrupciones y gestionar los errores. También debe proporcionar una
interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar. Hasta
donde sea posible, lainterfaz debe ser la misma para todos los dispositivos (independencia del
dispositivo). El código de E/S representa una fracción significativamente grande del sistema
operativo completo.

Dispositivos de E/S
En términos generales, los dispositivos de E/S pueden clasificarse en dos categorías:
dispositivos de bloques y dispositivos de caracteres. Un dispositivo de bloques es uno que
almacena lainformación en bloques de tamaño fijo, cada uno con su propia dirección. El
tamaño de los bloques varía desde 512 bytes a 32768 bytes. La propiedad esencial de un
dispositivo de bloques es que es posible leer o escribir cada bloque independientemente de
todos los demás. Los discos son los dispositivos de bloques más comunes.

dispositivos de caracteres. Un dispositivo de caracteres proporcionao acepta un flujo de caracteres, sin tener en cuenta ninguna estructura
de bloque. No es un dispositivo direccionable y no cuenta con ninguna operación de
posicionamiento. Las impresoras, los interfaces de red, los ratones (para señalar en la pantalla),
las ratas (para experimentar en el laboratorio de psicología) y la mayoría de los otros
dispositivos que no son similares a los discos, puedenser vistos como dispositivos de
caracteres.
Este esquema de clasificación no es perfecto. Algunos dispositivos simplemente no
encajan en la clasificación.

Controladores de dispositivos
La tarea del controlador consiste en convertir ese flujo de bits en serie en un bloque de
bytes y realizar cualquier corrección de errores que sea necesaria. Normalmente primero se
ensambla el bloque debytes, bit a bit, en un búfer que está dentro del controlador. Una vez
comprobado su checksum y declarado el bloque libre de errores, puede procederse a copiarlo en
la memoria principal.

E/S mapeada en memoria
Primera ventaja, si
se necesitan instrucciones de E/S especiales para leer y escribir en los registros de control del
dispositivo, el acceso a ellos requerirá el uso de código enensamblador, porque no hay manera
de ejecutar una instrucción IN o OUT en C o C++.
Segunda ventaja, con E/S mapeada en memoria no se requiere ningún mecanismo de
protección especial para evitar que los procesos de usuario realicen directamente la E/S. Lo
único que necesita hacer el sistema operativo es cuidar de que la porción del espacio de
direcciones que contiene los registros de control nuncase incluya en el espacio de direcciones
virtual de ningún usuario. Mejor aún, si cada dispositivo tiene sus registros de control en una
página distinta del espacio de direcciones, el sistema operativo podrá dar control a un usuario
sobre algunos dispositivos específicos y no sobre otros con sólo incluir las páginas deseadas en
su tabla de páginas. Tal esquema permite colocar diferentes driversde dispositivo en diferentes
espacios de direccionamiento, con lo cual no sólo se reduce el tamaño del núcleo sino que
también se evita que un controlador interfiera con otros.
Tercera ventaja, con E/S mapeada en memoria cualquier instrucción que pueda hacer
referencia a la memoria puede también referenciar registros de control.

Acceso directo a memoria
Independientemente de que tenga ono E/S mapeada en memoria, la CPU necesita
direccionar los controladores de dispositivo para intercambiar datos con ellos. La CPU puede
solicitar datos del controlador de E/S byte a byte, pero haciéndolo así estaría desperdiciándose
mucho tiempo de CPU. Por ese motivo normalmente se utiliza un esquema diferente,
denominado acceso directo a memoria (DMA; Direct Memory Access). El sistema...
tracking img