Publicidad

martes, 18 de noviembre de 2008

Llamadas al sistema

En Computación, llamada al sistema o System Call, en inglés, es el mecanismo usado por un programa aplicativo para solicitar un servicio al Sistema Operativo.
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, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde el 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, para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto 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.
Generalmente, los sistemas operativos proveen librerías que relacionan los programas de usuario y el resto del sistema operativo, usualmente una librería C como glibc o el runtime de Microsoft C. Esta librería maneja 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, e incrementa su portabilidad.

1 comentario:

Yrvin Ossiel dijo...

Que onda compañero angel, pues estuve leyendo tu información y se me hizo interesante ya que en algunas ocasiones escuchamos sobre llamadas al sistema y no sabemos que scede internamente con el procesador...saludos