Sistema operativo
PROCESOS EN LINUX
Profesor Carlos Figueira
Departamento de Computación y T. I. USB
Administración de Redes: Procesos en Linux
Carlos Figueira/USB
Grandes objetivosde un Sistema de Operación (SO)
●
● ●
Intercalar ejecución de varios procesos para maximizar la utilización del CPU y proveer tiempo de respuesta razonable Asignar recursos a procesos Soportarcomunicación entre procesos (IPC) y creación de procesos por parte de los usuarios
Administración de Redes: Procesos en Linux
Carlos Figueira/USB
Procesos
●
Las tareas y programas seejecutan en un contexto llamado proceso Contexto: memoria, tablas en el kernel (archivos abiertos, sockets, PCB) Los procesos tienen un identificador PID Procesos se alternan en el uso del CPU (¡más de80 aquí!)
Carlos Figueira/USB
●
●
●
Administración de Redes: Procesos en Linux
Ejemplo de ejecución de procesos
Administración de Redes: Procesos en Linux
Carlos Figueira/USBCreación de procesos
●
Para ejecutar comandos y aplicaciones Para proporcionar servicios, por ejemplo, impresión, WWW, etc. Creados por otros procesos por clonación: copia casi exacta (excepto PID)Un proceso especial (init), con PID=1, es la raíz del árbol de procesos (¡Adán!)
●
●
●
Administración de Redes: Procesos en Linux
Carlos Figueira/USB
Atributos de procesos
●Identificador propio (PID) y de su padre (PPID) Dueño (User ID o UID) y UID efectivo (EUID): usado para control de acceso de recursos. EUID ≠ UID si aplicación tiene bit suid en 1 GID y EGID Terminal decontrol (puede ser nulo)
Carlos Figueira/USB
●
●
●
Administración de Redes: Procesos en Linux
fork-exec
PidHijo = fork(); /* se clona */ /* de aquí en adelante hay dos procesos */if ( PidHijo != 0) { printf(“Soy el papa %d, mi hijo es %d”, getpid(), PidHijo); wait(&status); /* espera que termine hijo */ } else { printf (“Soy el hijo %d, mi papa es %d”, getpid(), getppid());...
Regístrate para leer el documento completo.