UT04 Procesos
UT04 Procesos
UT04 Procesos
INTRODUCCIÓN
Gestionar varios usuarios y llevar a cabo la multitarea son trabajos del sistema operativo.
La mayoría de los sistemas sólo disponen de una C.P.U., una M.P. RAM, uno o varios discos
duros y varios dispositivos de E/S. Todos ellos han de ser gestionados y compartidos por
varios usuarios. En este caso el Sistema Operativo "Crea la ilusión de que cada usuario
Tal y como se comentó antes, cuando un usuario realiza una petición, linux le hace creer que
En realidad, el sistema puede manejar cientos de peticiones, desde el instante en que alguien
Linux supervisa una lista de tareas, conocida también como cola, ,pendientes de ser
realizadas, incluyendo tareas de usuario, tareas del sistema operativo, tareas en segundo
plano…
Linux planifica espacios de tiempo del sistema para cada una de ellas.
Linux trabaja durante un tiempo con una tarea de la cola, la abandona para comenzar otra y
así sucesivamente, después vuelve a retomar otra tarea que abandonó… y continúa con estos
Puesto que linux es un sistema operativo multitarea existen varias formas de ejecutar
pip@linux:~>man ls &
El comando pasa a ejecutarse en segundo plano dejando libre el prompt para que pip pueda
PROCESOS, comando ps
ps sin parámetros (Solo nos ofrece un pequeño informe de los procesos asociados a nuestro
terminal)
mike@linux:~> ps
pip@linux:~> ps –f
Queremos ver los procesos de un usuario determinado, estando como root, o con cualquier
otro usuario:
ps --user anamar –f
ps -aux | grep usuario
COMANDO top
Ejemplo:
pip@linux...$top
Luego seleccionamos el usuario que queramos con <u>
La información es sobre los procesos del sistema cuyo usuario es root, también se refleja el
mismo proceso top, cuyo propietario puede ser pip, anamar…
PID USER PRI NI VIRT RES SHARE STAT %CPU %MEM TIME CMD
….
NICE: Prioridad de Tiempo compartido. Valor más positivo indica menos tiempo de CPU y
RES: Tamaño de la parte del proceso que actualmente reside en memoria. Da una
S: (SLEEP) Proceso dormido a la espera de algún evento, espera de E/S por ejemplo.
padre.
%CPU : Porcentaje de CPU utilizada, por el proceso desde la última actualización, de la tabla
TIME: Tiempo total de CPU utilizada desde el inicio. Cuanto tiempo e CPU ha consumido el
VALOR NICE
El valor nice de un proceso indica lo “agradable” que dicho proceso resulta para los demás
procesos. Cuanto más agradable (alto, valor +) sea nice, menos intenso será el uso que dicho
proceso haga de los recursos del sistema. Cuanto menos agradable (bajo) sea nice, más
intenso será el uso que dicho proceso haga de los recursos del sistema.
Solo un usuario propietario puede aumentar el valor nice, de sus procesos, nunca disminuir
(lógicamente afecta a los demás, negativamente). Solo root puede disminuir el valor nice.
Ejemplo:
Ahora vamos a comprobar que aumentando un valor NICE de un proceso, disminuimos su valor
PRI. Para ello, abriremos una consola como root y ejecutamos el comando top en segundo
plano:
Linux:~#top &
[1] 6032
COMANDO KILL
Señales
Cuando se envía una señal a un proceso, este puede actuar de dos maneras: si el proceso
dispone de una rutina específica para esa señal, llamada manejador o handler, la utiliza , en
caso contrario, el kernel utiliza el manejador por defecto para esa señal.
Hay dos señales, KILL Y STOP. La señal de KILL hace que el proceso que la recibe sea
destruido. Un proceso que recibe la señal de STOP suspende su ejecución hasta que reciba la
El usuario puede enviar señales a los procesos mediante el comando kill, que debe su nombre,
principalmente, a que se usa para mandar la señal 15, que indica al proceso que debe terminar
Sintáxis
Existen procesos que están diseñados para ignorar la señal 15, con lo cual tendremos que
[-señal] se puede especificar por su número o por su nombre simbólico. (Las que vamos a
utilizar son aparte de la 15, la -19 (parar) y la -18 (continuar después de parar).
Kill -l
Ejemplo:
Como root vamos a parar el proceso bash de un usuario y volverlo a reanudarlo, para ello abre