Você está na página 1de 2

Llamada al sistema

Ir a la navegaci�nIr a la b�squeda

La biblioteca de C de GNU provee funcionalidad que a�sla a las aplicaciones del


n�cleo (Linux en esta imagen). Para utilizar funcionalidad espec�fica de Linux se
emplea la rutina syscall() de la biblioteca de C de GNU. O bien una implementaci�n
propia de la llamada a sistema en ensamblador. Si una aplicaci�n utiliza la
interfaz de llamadas a sistema de Linux con implementaciones propias en exclusiva,
entonces dicha aplicaci�n se considera monol�tica.
En inform�tica, llamada al sistema (en ingl�s system call) es el mecanismo usado
por una aplicaci�n para solicitar un servicio al sistema operativo.

�ndice
1 Mecanismo
2 Las bibliotecas como intermediarias
3 Ejemplos y herramientas
4 Implementaciones t�picas
5 V�ase tambi�n
6 Enlaces externos
Mecanismo
Las llamadas al sistema com�nmente usan una instrucci�n especial de la CPU que
causa que el procesador transfiera el control a un c�digo privilegiado
(generalmente es el n�cleo), previamente especificado. Esto permite al c�digo
privilegiado especificar donde va a ser conectado as� como el estado del
procesador.

Cuando una llamada al sistema es invocada, la ejecuci�n del programa que invoca es
interrumpida y sus datos son guardados, normalmente en su PCB (Bloque de Control de
Proceso del ingl�s Process Control Block), para poder continuar ejecut�ndose luego.
El procesador entonces comienza a ejecutar las instrucciones de c�digo de bajo
nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se
retorna al proceso original, y contin�a su ejecuci�n. El retorno al proceso
demandante no obligatoriamente es inmediato, depende del tiempo de ejecuci�n de la
llamada al sistema y del algoritmo de planificaci�n de CPU.

Las bibliotecas como intermediarias


Generalmente, los sistemas operativos proveen bibliotecas que relacionan los
programas de usuario y el resto del sistema operativo, usualmente una biblioteca de
tiempo de ejecuci�n (runtime) de C como la glibc de GNU o la biblioteca de C de
Microsoft. Esta biblioteca maneja, entre otras cosas, los detalles de bajo nivel
para transferir informaci�n al kernel y conmutar a modo supervisor, as� como
cualquier procesamiento de datos o tareas que deba ser realizada en modo
supervisor. Idealmente, esto reduce la dependencia entre el sistema operativo y la
aplicaci�n y el software, e incrementa su portabilidad.

Ejemplos y herramientas
En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al
sistema muy usadas son open, Read (system call), write, close, wait, exec, fork,
exit y kill. Los sistemas operativos actuales tienen cientos de llamadas, por
ejemplo Linux 2.x y FreeBSD tienen m�s de 300.

Implementaciones t�picas
La implementaci�n de las llamadas al sistema requiere un control de transferencia
que involucra caracter�sticas espec�ficas de la arquitectura del procesador. Una
forma t�pica de implementar es usar una interrupci�n por software. Linux usa esta
implementaci�n en la arquitectura x86.

Para los procesadores con arquitectura RISC, esta es la �nica forma, pero
arquitecturas CISC como x86 soportan otras t�cnicas adicionales. Un ejemplo es
SYSCALL/SYSRE.

Você também pode gostar