¿Para qué sirven las llamadas al sistema (system calls)?

 
Imagen de Domingo Pérez
¿Para qué sirven las llamadas al sistema (system calls)?
de Domingo Pérez - martes, 10 de mayo de 2016, 16:15
 

¿Para qué sirven las llamadas al sistema (system calls)?

Imagen de Bruno Cuozzi
Re: ¿Para qué sirven las llamadas al sistema (system calls)?
de Bruno Cuozzi - martes, 10 de mayo de 2016, 16:24
 

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.

 

Imagen de Agustina Collazo Long
Re: ¿Para qué sirven las llamadas al sistema (system calls)?
de Agustina Collazo Long - martes, 10 de mayo de 2016, 16:45
 

Son una interfaz, provista por el núcleo, para que los procesos de usuarios puedan acceder a los servicios que brinda el sistema operativo.

La llamada a un system call incluye las siguientes tareas:

– Cargar los parámetros en el lugar adecuado (stack o registros).

– Cargar el número de system call en algún registro específico (Ej: eax en Intel).

– Invocar a la interrupción por software (trap) adecuada (system call handler).

– El hardware cambia el bit de modo a monitor e invoca al manejador de la interrupción que controla que el número de system call pasado en el registro sea menor que el mayor del sistema y, finalmente, invoca al system call correspondiente.

– El valor retornado por el system call es puesto en un registro específico (Ej.: eax en Intel).

Imagen de Rafael Mourglia
Re: ¿Para qué sirven las llamadas al sistema (system calls)?
de Rafael Mourglia - miércoles, 11 de mayo de 2016, 13:06
 

Los llamados al sistema (system calls) son una interfaz, provista por el núcleo, para que los procesos de usuarios accedan a los diferentes servicios que brinda el sistema operativo.

Cuando un proceso necesita un determinado servicio, hace una llamada el SO para que le brinde ese servicio y lo pueda utilizar. El SO habilita al proceso a ejecutarse en modo kernel por ese determinado tiempo y luego continúa en modo usuario.

Imagen de Diego Esquibel
Re: ¿Para qué sirven las llamadas al sistema (system calls)?
de Diego Esquibel - martes, 17 de mayo de 2016, 13:09
 

Son la forma en la que un proceso solicita recursos al sistema kernel, sean estos de hardware o la apertura de otros procesos. https://en.wikipedia.org/wiki/System_call