viernes, 14 de febrero de 2014

Llamadas al Sistema en Linux

Un proceso se ejecuta normalmente en modo usuario, cuando éste necesita algún recurso debe utilizar llamadas al sistema. En GNU/Linux, estas funciones tienen un nombre y número único de identificación. Este número puede encontrarse en la dirección /usr/include/asm/unistd.h.

Fragmento del archivo unistd_32.h:

#define __NR_restart_syscall      0
#define __NR_exit  1
#define __NR_fork  2
#define __NR_read  3
#define __NR_write  4
#define __NR_open  5
#define __NR_close  6
#define __NR_waitpid  7
#define __NR_creat  8
#define __NR_link  9
#define __NR_unlink 10

Cuando un proceso ejecuta una llamada al sistema, llama a la función correspondiente de la biblioteca C. Esta función trata los parámetros y pasa al núcleo.

El número de llamadas al sistema puede variar un poco en relación a la versión del kernel o a la distribución (Debian, red Hat, Slackware, etc), pero oscilan sobre las 300 llamadas.

Si te gustó esta publicación no olvides compartirlo. Espero sus comentarios.



No hay comentarios:

Publicar un comentario