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

Directorio para usuarios del sistema

/etc

Directorio

para

el

manejo

de

configuraciones
Directorio por defecto para instalacion de

/opt

paquetes
Directorio ficheros binarios del sistema

/bin

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

Sigla

Descripcin

Ejecucin

Indica que el proceso se encuentra actualmente en ejecucin

Dormido

Indica que el proceso se encuentra actualmente dormido o


interrumpido, esperando turno para ejecucin

Detenido

Indica que el proceso se encuentra actualmente detenido,


pero puede ser reiniciado

Zombie

Indica que el proceso ha terminado, pero sigue dentro de la


tabla de procesos

Espera

Indica que el proceso se encuentra actualmente en espera de


finalizacin de alguna operacin de entrada/salida

Terminado

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

Tamao

Fecha

Hora

Nombre directorio

dr-xr-xr-x

12/09/09

01:29:00

dr-xr-xr-x

12/09/09

01:29:00

1158

dr-xr-xr-x

12/09/09

01:29:00

1160

dr-xr-xr-x

12/09/09

01:29:00

1175

dr-xr-xr-x

12/09/09

01:29:00

1179

dr-xr-xr-x

12/09/09

01:29:00

127

dr-xr-xr-x

12/09/09

01:29:00

131

dr-xr-xr-x

12/09/09

01:29:00

173

dr-xr-xr-x

12/09/09

01:29:00

1884

dr-xr-xr-x

12/09/09

01:29:00

1885

dr-xr-xr-x

12/09/09

01:29:00

1951

dr-xr-xr-x

12/09/09

01:29:00

1953

dr-xr-xr-x

12/09/09

01:29:00

dr-xr-xr-x

12/09/09

01:29:00

2076

dr-xr-xr-x

12/09/09

01:29:00

213

dr-xr-xr-x

12/09/09

01:29:00

2250

Como observamos en la columna Nombre del directorio

se indica el nombre del

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

coredump_filter fd

loginuid

mountstats root stat

auxv

cpuset

fdinfo

maps

net

sched

cgroup

cwd

io

mem

oom_adj

schedstat status

statm

clear_refs environ

latency mountinfo oom_score sessionid task

cmdline

limits

exe

mounts

pagemap

smaps

wchan

Informacin del directorio 4252:


margo@ubuntu:/proc/4252$ sudo ls
[sudo] password for margo:
attr

coredump_filter fd

loginuid

mountstats root stat

auxv

cpuset

fdinfo

maps

net

sched

cgroup

cwd

io

mem

oom_adj

schedstat status

statm

clear_refs environ

latency mountinfo oom_score sessionid task

cmdline

limits

exe

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