Vous êtes sur la page 1sur 4

CAP ITULO

LLAMADOS AL SISTEMA

2.1 Llamada al sistema mmap


El kernel de Linux se compone de m odulos que agregan funcionalidad a este, estos m odulos son c odigos con una estructura denida que pueden interactuar entre si y cumplen ciertas tareas, en particular los m odulos encargados de administrar y controlar perif ericos son llamados drivers.

Los drivers abstraen o representan el perif erico que controlan en el sistema de archivos mediante un chero, uno de estos cheros es /dev/mem que es la abstracci on de los registros de el procesador que soporta el sistema operativo, es decir dicho driver puede controlar estos registros.

Los llamados al sistema son funciones que atienden tareas y procesos solicitados por el usuario, dandoles prioridad. El usuario del sistema operativo solo se puede comunicar con el kernel a trav es de los llamados al sistema,los cuales permiten el uso de los m odulos pertenecientes a este con el n de aprovechar su funcionalidad. En particular el usuario puede hacer uso de los llamados al sistema para disponer de los drivers y as controlar perif ericos determinados asociados a este, la llamada al sistema mmap es una de ellas y es capaz de proyectar el contenido de el chero /dev/mem en memoria para que se pueda tener acceso a el.
1 2 3 4 5 6 7

#i n c l u d e < s y s /mman . h> v o i d mmap( v o i d addr size t int len , , int prot int fd off t , offset ); ,

flags ,

Script 2.1: llamada al sistema mmap El llamado al sistema mmap () le solicita al kernel hacer un mapeo en la memoria de len bytes del objeto representado por el descriptor de archivo fd, comenzando a oset bytes dentro del archivo. Si se especica addr, se utiliza este valor como la direcci on inicial en la memoria. Las opciones de la llamada al sistema mmap se resumen en la siguiente tabla.

141

Llamada al sistema open OPCIONES MMAP Direcci on en la que se va a alojar la proyecci on de memoria(el mapeo).Si se coloca NULL el sistema es el que elige. Cantidad del chero a mapear, es decir la porci on del chero que se quiere mapear, esta tiene que ser m ultiplo del tama no de p agina de memoria del sistema operativo. protecci on de memoria deseada Opciones comando Descripci on PROT EXEC Se permite ejecuci on. PROT READ se permite leer. PROT WRITE se permite escribir. PROT NONE las p aginas no pueden ser accedidas. opciones de acceso. Opciones comando Descripci on. No seleccionar una direcci on diferente a la especicada. Si la direcci on especiMAP FIXED cada no puede ser utilizada, mmap fallar a. Utilizar esta opci on no es aconsejable. varios procesos tienen acceso a el mapa MAP SHARED que se quiere hacer. el mapa realizado es privado y solo un MAP PRIVATE proceso tiene acceso a el. descriptor del chero al que se le va a hacer el mapeo,este debe abrirse previamente. La parte que describe c omo se abre el chero de esta gu a FD se llama le descriptor. el oset es la direcci on en la cual se quiere que comience el archivo, este al igual que el LEN tiene que ser m ultiplo del tama no de la p agina. Tabla 2.1: Opciones MMAP.

*addr len

prot

ags

fd oset

2.2 Llamada al sistema open


El llamado al sistema open tiene como funci on abrir un chero existente y devolver un descriptor de chero el cual debe guardarse en una variable. La sintaxis del llamado al sistema open es la siguiente:
1

i n t open ( c o n s t c h a r pathname ,

int

flags )

Script 2.2: llamada al sistema open donde *pathname es la ruta donde se ubica el chero que se quiere abrir, El par ametro ags establece la forma en que se va a trabajar con el chero. Dentro de estos se tiene: Para poder usar los modos y la funci on open se debe incluir la cabecera < f cntl.h > los modos pueden combinarse, haciendo un or l ogico, como por ejemplo : O RDONLY | O WRONLY

142

Llamada al sistema open ags O RDONLY O WRONLY O SYNC O RDWR O CREAT DESCRIPCION Abre el archivo y permite leerlo. Abre el archivo y permite escribir en el. Opci on para trabajar con dispositivos I/O s ncronos. Abre el chero habilitando lectura y escritura. Primero crea el chero y luego lo crea. Tabla 2.2: Opciones parametro ags.

El par ametro acceso solo se usa cuando se incluye la opci on O CREAT,La funci on open retorna un descriptor de chero v alido si el chero se ha podido abrir, y el valor -1 en caso de error .

143

BIBLIOGRAF IA

Bibliograf a

[1] The Open Group Base Specications Issue 6, IEEE Std 1003.1, 2004 Edition. http://pubs. opengroup.org/onlinepubs/009695399/functions/mmap.html. [2] die.net, man page for reference to call systems. http://linux.die.net/man/2/syscalls.

144

Vous aimerez peut-être aussi