lunes, 15 de abril de 2013

Llamada al sistema

Es cuando el proceso solcita algun servicio al sistema operativo

Debido a que para poder acceder a cierto tipos de recuros se necesita acceder en modo privilegiado, el sistema operativo ofrece una serie de funciones que el proceso puede emplear para acceder a dicho recuso. En palabras simples el sistema operativo actuá como intermediario entre el proceso y dicho recurso con el fin de que el proceso pueda acceder a el cada vez que lo solicite

Algunas llamadas al sistema son:

read: Perimte leer la información proveniente de algún dispositivo de entrada tal como el teclado o Disco duro

write: Permite escribir un dato y enviarlo a algun dispositivo de salida tal como el monitor o el Disco duro

time: permite obtener hora y fecha del sistema

Toda llamada al sistema se identifica por un numero único e irrepetible el cúal no debe ser modificado a lo largo de la vida de llamada, con el proprósito de que no rompa la compatibilidad hacia atrás

En los sistemas operativo UNIX y de tipo UNIX ( Linux, Mac) una llamada al sistema muy común es la llamada kill() que por defecto envia la señal de terminación (SIGTERM) limpiando el estado del proceso y salir a los procesos indetificandolos con su PID (identificador de proceso). Tambien pueden enviarse tipo de señales (SIGKILL) finaliza el proceso, y (SIGSTOP) lo pone en pausa hasta que se reciba una señal (SIGCONT). Todas estas instrucciones se deben llevar a cabo bajo un perfil de usuario con privilegios, super usuario o en modo ROOT. En caso de que se envien señales entre procesos solo basta con que ambos procesos sean dueños de un mismo usuario.

Las señales disponibles tienen distintos nombres, asignados a determinados números. El número de las señales puede cambiar entre distintas implementaciones de Unix. (SIGKILL) suele tener el número 9 y (SIGTERM) el 15. 


Ejemplo

kill -9 5645 Utiliza (SIGKILL) en donde -9 corresponde a la señal y 5654 corresponde al PID del proceso. También se puede utilizar como kill -KILL

La llamada kill() NO HACE referencia a  MATAR EL PROCESO 

Otras señales pueden ser HUP, TRAP, INT y ALRM







 

No hay comentarios:

Publicar un comentario