Está en la página 1de 6

Gestin de procesos GNU/LINUX

Entre las funciones bsicas o principales que posee todo sistema operativo se encuentra la gestin de procesos, es decir la capacidad que tiene un sistema operativo para administrar el uso del tiempo de CPU, espacio en memoria RAM y ficheros utilizados por cada tarea o procesos. A razn de estos una de las principales caractersticas de los sistemas operativos es brindar al usuario la capacidad de creacin de procesos o tareas sin incurrir a un alto nivel de conocimiento por parte de los usuarios finales, por tal motivo muchas distribuciones o versiones de los sistemas operativos Windows, Mac OS X, Gnu/Linux plantea mecanismos o formas para la administracin y creacin de procesos. A razn de estos surge la siguiente inquietud: Mediante que mecanismo o mecanismos un sistema operativo Gnu/Linux gestiona sus procesos? Los sistemas operativos Gnu/Linux gestionan sus procesos basados en el uso de los llamados archivos virtuales. Ahora que es un Archivo Virtual., para entender esto es necesario saber que es un archivo, un archivo se define como una secuencia de bits que ocupan un lugar dentro de un medio de almacenamiento fijo cuyo tamao aumenta en relacin a la informacin que este incluya, por ejemplo un archivo de plano aumenta su tamao en relacin a la cantidad de caracteres que ha este se le incluyan , sin embargo cuando nos referimos ha archivos virtuales hablamos de archivos que almacena informacin de forma voltil y no ocupan un espacio fijo en disco, es decir que este tipo de archivo es almacenado en memoria ram y no en un espacio de almacenamiento fijo.

Dentro de los sistemas operativos Gnu/Linux, la manipulacin de la informacin concerniente a configuraciones, dispositivos, aplicaciones y usuarios es definida mediante el manejo de ficheros ubicados dentro de directorios especficos los cuales hacen parte o constituyen la estructura de todo sistema de archivo para un sistema operativo Gnu/Linux. Por lo cual las distintas distribuciones o distros disponen de directorios para categorizar cada informacin, la siguiente tabla menciona y describe algunos directorios:

Nombre /dev

Descripcin Directorio para dispositivos de hardware

/home /etc

Directorio para usuarios del sistema Directorio para el manejo de

configuraciones /opt Directorio por defecto para instalacion de paquetes /bin Directorio ficheros binarios del sistema operativo

Entre otros. Ahora, as como existen distintos directorios para la manipulacin de informacin para dispositivos y usuarios, aparece el directorio /proc cuyo objetivo concierne a mantener la informacin de cada uno de los procesos generado por el propio sistema operativo y usuarios del sistema. Sin embargo es necesario dejar claro que el directorio /proc se categora como un directorio virtual, a razn de que la informacin que este almacena nicamente se mantiene o existe cuando el sistema operativo se encuentra en ejecucin. Los sistemas operativos Gnu/Linux, definen atributos o caractersticas relacionadas con cada uno de los procesos, entre estas encontramos: PID (identificador nico de proceso) PPID (identificador del proceso padre) NICE NUMBER (Prioridad asignada) TTY( Terminal Asociada de ejecucin) RUID (identificador usuario que ejecuta el proceso) RGID (identificador del grupo que pertenece el usuario ejecuto el proceso)

Entre otros. La identificacin de cada proceso se realiza mediante la asignacin de un nmero de identificacin llamado PID (Identificador nico de proceso) por parte del kernel, el cual es utilizado por el sistema operativo para realizar operaciones de manipulacin, tales como eliminacin de proceso, conocer informacin sobre el estado del proceso , uso de CPU, uso de memoria entre otros aspectos. Uno de las principales labores del kernel de un sistema operativo GNU/LINUX en relacin hacia la gestin de procesos consiste en saber el estado

actual en el cual se encuentra un determinado proceso, con el objetivo de poder asignar o quitar recursos (memoria ram, cpu, entre otros) al mismo. Para ello cada proceso dentro de un sistema GNU/LINUX mantiene un estado. La siguiente tabla describe cada estado de un proceso : Nombre Ejecucin Dormido Sigla R S Descripcin Indica que el proceso se encuentra actualmente en ejecucin Indica que el proceso se encuentra actualmente dormido o interrumpido, esperando turno para ejecucin Detenido T Indica que el proceso se encuentra actualmente detenido, pero puede ser reiniciado Zombie Z Indica que el proceso ha terminado, pero sigue dentro de la tabla de procesos Espera D Indica que el proceso se encuentra actualmente en espera de finalizacin de alguna operacin de entrada/salida Terminado X Proceso muerto

Estructura interna del directorio /proc dentro de un sistema GNU/LINUX


Dentro de un sistema operativo GNU/LINUX existe diferentes directorios enfocados a tareas bsicas, uno de ellos es el llamado directorio de procesos /proc, encargado de almacenar directorios de informacin para cada proceso generado dentro del mismo sistema operativo. La siguiente tabla muestra la informacin almacenada dentro del directorio /proc.

Permisos dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x 0 0 0 0 0 0 0 0 0 0 0 0

Tamao 0 0 0 0 0 0 0 0 0 0 0 0

Fecha 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09 12/09/09

Hora 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00 01:29:00

Nombre directorio 1 1158 1160 1175 1179 127 131 173 1884 1885 1951 1953

dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x dr-xr-xr-x

0 0 0 0

0 0 0 0

12/09/09 12/09/09 12/09/09 12/09/09

01:29:00 01:29:00 01:29:00 01:29:00

2 2076 213 2250 se indica el nombre del

Como observamos en la columna Nombre del directorio

directorio segn el PID asignado por el sistema operativo para el proceso. Ahora, cabe anotar que la creacin de un proceso no implica nicamente la aparicin del directorio dentro /proc, internamente de cada proceso se mantiene una estructura de ficheros que define informacin pertinente al proceso tales como nombre del proceso, estado del proceso, porcentaje de uso de la cpu entre otros. La siguiente informacin ilustra los ficheros contenidos dentro de los procesos cuyo PID son 1 y 4252 respectivamente:

Estructura interna del directorio de un proceso dentro de un sistema GNU/LINUX Informacin del directorio 1 :
margo@ubuntu:/proc/1$ sudo ls [sudo] password for margo: attr auxv cgroup coredump_filter fd cpuset cwd fdinfo io loginuid maps mem mountstats root stat net oom_adj sched statm

schedstat status

clear_refs environ cmdline exe

latency mountinfo oom_score sessionid task limits mounts pagemap smaps wchan

Informacin del directorio 4252:


margo@ubuntu:/proc/4252$ sudo ls [sudo] password for margo: attr auxv cgroup coredump_filter fd cpuset cwd fdinfo io loginuid maps mem mountstats root stat net oom_adj sched statm

schedstat status

clear_refs environ cmdline exe

latency mountinfo oom_score sessionid task limits mounts pagemap smaps wchan

Como observamos para cada proceso creado dentro del sistema visualizamos la misma estructura de ficheros.

Algoritmo de Planificacin de Procesos Planificacin de Procesos: Se define como la capacidad de todo sistema operativo para gestionar y manipular cada uno de los procesos generados por los usuarios o el mismo sistema operativo. La planificacin de procesos permite definir mecanismos para la asignacin de recursos de hardware tales como: tiempo CPU, disponibilidad de memoria, manejo de espera por E/S entre otros aspectos. Dentro del mbito de los sistemas operativos existe el concepto de Planificador o Scheduler el cual se define como un componente de los sistemas operativos multitarea y multiproceso el cual tiene como objetivo la distribucin y asignacin del tiempo de uso de CPU por parte de un proceso. Funcionamiento de un planificador de procesos: uno de los puntos ms importante de un sistema operativo es brindar al usuario la sensacin de poder ejecutar varios procesos al mismo tiempo y no esperar que termine una para poder comenzar con el otro, por tal motivo la misin de un planificador es poder determinar o saber en qu momento expulsar un proceso y dar funcionalidad a otro. Ahora por tal razn surge la siguiente inquietud Cmo un planificador de procesos selecciona los procesos a ejecutar? La seleccin de un proceso para ejecucin se establece a travs de las polticas de planificacin, se entiende como polticas de planificacin la forma o mecanismo que existen o se aplica para poder definir el tiempo de uso CPU por parte de un proceso, entre estas polticas de planificacin encontramos los llamados algoritmos de planificacin de procesos tales: Round-robin (turno rotativo) FIFO (primero en entrar primero en salir) SJF (prioridad al ms corto)

Entre los ms conocidos de igual forma es necesario aclara que existen dos tipos o categoras de polticas de planificacin con base a la forma de cmo ejecutan los procesos. Expropiativos: Son aquellos algoritmos que permiten que un proceso se ejecute hasta que acabe su trabajo. No Expropiativos: Son aquellos algoritmos que permiten asignar un tiempo a cada proceso.

Links de inters

http://www.alejandrox.com/2007/09/gestion-de-procesos-en-linux/ http://usuarios.lycos.es/nanoelduende/linux/charla-kernelv1-0-html.html http://www.gulic.org/node/61 www.dirinfo.unsl.edu.ar/~sonet/teorias/SO-clase3-pagina.pdf


http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/6Algoritmo sdePlanificacionI.htm

También podría gustarte