Escolar Documentos
Profissional Documentos
Cultura Documentos
Ir a la navegaci�nIr a la b�squeda
�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.
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.