Ogranizacion de es en linux
En Linux los dispositivos hardware suelen abstraerse sobre el sistema de ficheros, de modo que los procesos interactúen con ellos como si lo hiciesencon un archivo en el que leen y escriben. Los ficheros de dispositivos suelen encontrarse en el directorio del sistema.
Como parece lógico la misión de un módulo será actuar de intermediario entrelos procesos del sistema y los dispositivos físicos hardware.
En los sistemas operativos Linux los dispositivos se suelen englobar en tres tipos distintos, a saber: dispositivos de caracteres, debloque y de red. Los procesos acceden de modo diferente a cada uno de éstos dispositivos.
Puertos de entrada-salida.
En algunos sentidos, los puertos de entrada-salida son como posiciones de memoria; sepueden leer y escribir por medio de la misma señal eléctrica que la que reciben los chips de memoria. Pero no son exactamente lo mismo: las operaciones del puerto se usan en dispositivos periféricos,que suelen ser menos flexibles que la RAM. En particular hay puertos de 8 16 y 32 bits, pudiendo ser mezclados.
Existen diferentes funciones para acceder a puertos, según su tamaño. Las cabeceras delkernel de Linux definen las siguientes funciones para puertos de 1 byte:
unsigned inb(unsigned port);
void outb(unsigned char byte, unsigned port); donde el argumento port es definido como unsignedlong para algunas plataformas y como unsigned short para otras. El tipo devuelto por la función también es diferente dependiendo de la plataforma.
Las funciones
unsigned inw(unsigned port);void outw(unsigned short word, unsigned port); acceden a puertos de 16 bits, y por último
unsigned inl(unsigned port); void outl(unsigned longword, unsigned port); se usan para puertos de 32 bits.Longword es declarado como unsigned long o como unsigned int, dependiendo de la plataforma.
Las funciones out, de salida, permiten escribir datos en un puerto, y reciben como argumento el dato a...
Regístrate para leer el documento completo.