Diferencia entre revisiones de «Introducción a Sistemas Operativos y al Kernel 2.6 de Linux/Capítulo 4 - Llamadas del sistema»

Contenido eliminado Contenido añadido
Migueleb (discusión | contribs.)
Migueleb (discusión | contribs.)
Línea 34:
<code>pid_t fork(void);</code>
 
Crea un proceso hijo del proceso desde el que se ejecuta. Esto es debido a que todos los procesos corriendo en un sistema Linux parten de init, el primer proceso que se ejecuta en la máquina, y se van ramificando. Si todo va bien, devuelve el PID del proceso hijo. Si hay algún error, devuelve -1.
 
Entre sus usos, ejecutar un programa externo al mismo tiempo que el nuestro sin necesidad de recurrir a los hilos (threads) manualmente.
 
Ver "<code>/usr/src/linux/kernel/fork.c</code>".
 
===execve===
<code>int execve(const char *filename, const char *argv[], const char *envp[]);</code>
 
Ejecuta el fichero ''filename'', ya sea binario o script ejecutable. A ese programa se le pasan como argumentos la matriz ''argv'', y como variables de entorno la matriz ''envp'' (donde las variables de entorno tienen la sintaxis '''<clave>=<valor>''').
 
Si no hay errores, execve no regresa. En caso de error, devuelve -1.
 
===nice===
<code>int nice(int nic);</code>
 
Cambia la prioridad de ejecución del proceso que lo llama, añadiendo ''nic'' al indicador de prioridad (cuanto menor sea el indicador de prioridad, más recursos le dedicará el SO).
 
Sólo el superusuario puede aumentar la prioridad de un proceso, usando ''nic'' con un valor negativo. Esta función devuelve 0 en caso de éxito y 1 si hay algún error.
 
Ver "<code>/usr/src/linux/kernel/sys.c</code>".