Sunteți pe pagina 1din 2

Monitoreo de procesos en Linux

Yessica Chauta Insuasty, Raul Orcasitas Hernandez


Ingeniera de Sistemas y Computacion
Universidad Nacional de Colombia
Bogota, Colombia
ykchautai@unal.edu.co rrorcasitash@unal.edu.co
Abstract
Este artculo contiene el desarrollo de ciertas pruebas para el analisis y monitoreo de procesos ejecutados
en el sistema operativo Linux. La idea principal es desarrollar tecnicas o ptimas para e ste proceso e implementarlas para controlar y mejorar el funcionamiento
de los recursos en el sistema. Usando herramientas
basicas como la terminal y utilizando comandos para
e sta verificacion, obtendremos una vision mas tecnica
de las tareas que ejecutamos en el sistema operativo.

1. INTRODUCCION
La diversidad en el desarrollo de software y el
avance de los sistemas operativos modernos han hecho
que sea necesario implementar tecnicas para el control
y manejo de procesos y recursos en los computadores y
dispositivos electronicos en general. El sistema operativo Linux posee diferentes herramientas para la gestion
de e ste tipo de monitoreo y la optimizacion de los recursos con los que cuenta cada usuario. Es importante
conocer e implementar este tipo de herramientas, ya que
as se lograra obtener el maximo de capacidad de las
maquinas que se tengan y tendra un mayor control tanto
fsico como logico de las mismas.
Las tareas realizadas por un sistema operativo son
comunmente conocidas como procesos. Un proceso se
define como la instancia de un programa en ejecucion
y el contexto en el que se desarrolla. Los procesos,
ademas de la informacion propia del programa contienen la informacion necesaria para que el programa
interaccione con el sistema. El contexto en el que se desarrolla puede estar involucrado ademas con los procesos hijos que se hayan generado del principal (proceso
padre), los recursos que el sistema esta consumiendo,
sus atributos de seguridad, entre otros. De ah la importancia de hacer un monitoreo de todas las actividades

que realiza el sistema operativo para optimizar recursos


y mejorar las condiciones del sistema.
Linux, como se sabe, es un sistema operativo multitarea y multiusuario. Esto significa que multiples procesos pueden operar simultaneamente sin interferirse
unos con los otros. Durante la ejecucion el proceso
podra suponer que es el u nico proceso en el sistema
y que tiene acceso a todos los servicios del sistema operativo. Tanto los programas como los procesos son entidades diferentes, un programa en un sistema operativo
multitarea como Linux, puede ejecutar varias instancias
simultaneamente. Cada instancia es un proceso separado. Un ejemplo claro de este tipo de ejecucion se
da cuando tenemos varios usuarios en red desde diferentes equipos ejecutando el mismo programa; en ese
momento se estaran usando tantas instancias del programa como usuarios activos en el mismo.

2. SISTEMA OPERATIVO Y PROCESOS


Para empezar con un analisis sencillo de procesos,
empezamos por crear programas basicos en los que se
hace un uso basico de los recursos del sistema. En este
caso, se diseno un programa de lectura y escritura de
archivos que permite la iteracion sobre lneas intermedias de un archivo de texto inicial. Este tipo de procesos
requiere el uso de varias memorias, entre ellas el disco
duro y un buffer de almacenamiento. En esta etapa de
las pruebas se empezaron a usar herramientas tanto en
Windows como en Linux, como por ejemplo, el Administrador de tareas y la terminal.
Para comprender mejor los procesos que se estan
realizando se debe tener claro el concepto de proceso,
sus tipos y como funcionan las herramientas basicas
para monitorearlos.

2.1. Tipos de procesos


2.1.1. Child (Procesos hijos):. Los procesos hijos son
procesos creados a partir de otros. El u nico proceso que

nunca sera proceso hijo es el proceso init. Estos


son
creados mediante la instruccion fork, la cual hace que
el proceso hijo comparta con el padre los valores actuales de todas las variables, ficheros y otras estructuras
de datos.
2.1.2. Orphan (Procesos huerfanos):. Generalmente
los procesos hijos terminan su ejecucion antes que el
proceso padre, pero se puede presentar la situacion en
la que se mate al proceso padre y el hijo quede sin padre,
en este caso el proceso init lo toma como hijo y se considera huerfano.
2.1.3. Daemon (Demonios):. Son un tipo especial de
procesos que son ejecutados en segundo plano y no
estan asociados a ninguna shell (programa que provee
una interfaz de usuario para acceder a los servicios de
sistema. Ej: bash). Esto se consigue matando la shell
que crea el proceso, as el padre de e ste va a ser el init y
se vuelve huerfano. Los demonios corren con permisos
de root y se usan para proveer servicios a otros procesos.
2.1.4. Zombie:. Son los procesos que han terminado
su ejecucion pero siguen apareciendo en la tabla de procesos. Esto se debe a que el proceso no recibio una senal
de su padre informandole que su vida u til ha terminado.
Se pueden producir por errores de programacion y generalmente provocan inestabilidad en el sistema.

2.2. Herramientas para el monitoreo de procesos


Para hacer evidente la jerarqua de procesos ejecutados en un sistema operativo, se puede realizar el monitoreo con la herramienta ps y la opcion forest de Linux,
que mostrara un a rbol de procesos con padres, hijos y
nietos.
Un resultado probable con e sta herramienta podra
ser:

En este se evidencia el proceso padre gdm, su proceso


hijo, simple-slav y dos procesos nietos xorg y session
wor.
Para el analisis del programa de lneas intermedias
ademas usamos herramientas como vmstat, e sta nos informa acerca del uso de la memoria fsica y virtual, de

Table 1. An Example of a Table


One
Three

Two
Four

la actividad de intercambio entre memoria y disco y el


uso del procesador.
Otra herramienta bastante u til es el comando top,
que permite ver el listado de los procesos que se encuentran en ejecucion, con el pid del proceso, el uso de
memoria y de procesador, entre otros datos.

3. DESARROLLO
4. RESULTADOS

Figure 1. Inductance of oscillation winding


on amorphous magnetic core versus DC bias
magnetic field

5. CONCLUSIONES
6. AGRADECIMIENTOS
References
[1] Milenkovic, Milan. Sistemas operativos: conceptos y
disenos, McGraw-Hill, 1999.
[2] Stallings, William. Sistemas operativos. Prentice Hall,
1997.

S-ar putea să vă placă și