Rodolfo Pilas
bloger podcaster devops sysadmin profesor father
Un puente hacia hilos...
Un conjunto de instrucciones almacenadas.
Un programa en ejecucion, con estado, recursos e identidad propia.
Pausar un proceso no es guardar "el programa".
Es guardar su contexto de ejecucion.
Estado del proceso: Nuevo, Listo, En ejecución, Bloqueado o Terminado.
Contador de programa (PC): Dirección de la siguiente instrucción
Registros de la CPU: Contenido de los registros de trabajo cuando el proceso se interrumpe
Información de planificación de CPU: Prioridad del proceso
Información de gestión de memoria: Espacio de direcciones asignado al proceso.
Información de contabilidad (Accounting): Tiempo de CPU utilizado, límites de tiempo, etc.
Información de estado de E/S: Dispositivos de E/S asignados y archivos abiertos.
ps/proc/<pid>/.../proc/<pid>/status muestra estado e identidad/proc/<pid>/cmdline muestra como fue invocado/proc/<pid>/fd/ deja ver archivos o descriptores asociados/proc/<pid>/stat concentra muchos datos del procesoListo
Listo
Nuevo
Nuevo
Terminado
En ejecución
Bloqueado
Listo
Listo
Listo
Nuevo
Nuevo
Terminado
En ejecución
Bloqueado
Listo
Detenido
Listo
Listo
Listo
Nuevo
Nuevo
Terminado
En ejecución
Bloqueado
Listo
Detenido
Listo
Espera evento
Detenido desde fuera
Iniciado desde fuera
SIGTERM: pedir terminacionSIGKILL: forzar terminacionSIGSTOP: detener el procesoSIGCONT: reanudar un proceso detenidoPreguntas:
1. ¿Qué dato te permitió identificar claramente al proceso?
2. ¿Qué cambio observaste cuando enviaste SIGSTOP?
3. ¿Qué cambio observaste cuando enviaste SIGCONT?
4. ¿Qué diferencia hay entre detener un proceso y terminarlo?
5. ¿Qué muestra este ejercicio sobre la información que el sistema operativo guarda sobre un proceso?
By Rodolfo Pilas