Procesos
Procesos
Se le llama proceso a un programa en ejecución y al objeto abstracto que crea el sistema operativo para manejar el acceso de ese programa a los recursos del sistema (memoria,CPU, dispositivos de E/S). En el sistema puede coexistir varias instancias de un mismo programa ejecutándose a la misma vez, cada uno de estos se toman como un proceso diferente. Unix es un sistema multiproceso por tiempo compartido, se dice así debido a que a los ojos de un usuario en un momento dado hay multiples programas ejecutandose, sin embargo en una maquina con un solo procesador hay en cada instante un proceso ejecutando. El encargado de hacer que parezca que se están ejecutando todos simultáneamente es el procesador, este va rotando el uso del procesador a intervalos breves entre los procesos definidos en el sistema.
Tipos
Procesos del sistema: son aquellos asociados al funcionamiento local de la máquina, kernel, o procesos (daemons) asociados a diferentes servicios (locales o de red).
Procesos del usuario administrador: en caso de actuar como tal, nuestros procesos aparecerán asociados al usuario root.
Procesos del usuario del sistema: asociados a la ejecución de sus aplicaciones.
Objetivos
- Manejar y listar procesos
- Detener procesos por linea de comando
- Cambiar prioridad de procesos
- Modificar prioridad de procesos ejecutandose.
Software
Comandos
Procedimientos
Verificación
Comandos útiles:
- ps: lista los procesos con los datos de usuario, tiempo, identificador de proceso y terminal usado. Una de las opciones más utilizadas es ps -axu (ver página man).
- top: da una lista actualizada de los procesos, monitorizando dinámicamente los cambios. Además da información de CPU, memoria y swap. Útil en situaciones de saturación de uso de recursos.
- kill: permite eliminar procesos del sistema mediante el envío de señales al proceso. Útil en programas con comportamiento inestable o programas interactivos que por alguna razón dejan de responder (ver man 7 signal).
- nice: modifica la prioridad de un proceso, esta es un número n entre -20 y 20, la máxima prioridad es -20. Si no se define se corre el proceso con prioridad 0.
- renice: igual que nice pero utiliza el número de proceso (PID).
- strace: utilitario para hacer un "debug" a un comando particular, muestra todos los pedidos que se le hace al sistema.