Gestion de Procesos en Sistemas Operativos
Gestion de Procesos en Sistemas Operativos
Gestion de Procesos en Sistemas Operativos
SISTEMAS OPERATIVOS
Introduccin
Los programas que cotidianamente
se ejecutan en cualquier
computadora tienen un
funcionamiento mayor al que
podramos pensar, parecera a simple
vista que basta con darle clic al icono
y disfrutar del reproductor de
Windows media o redactar una carta
en Word; sin embargo conocer
detalladamente el funcionamiento de
los programas es de suma
importancia para cualquier
informtico. Definamos que un
proceso es igual a un programa que
est en ejecucin ya sea en primer o
segundo plano. Cada uno de estos
procesos se almacenan en una tabla
que administra el sistema operativo
(BCP) que contiene la informacin
especfica de cada proceso, como por
ejemplo el nombre del programa y el
usuario en el cual se est ejecutando
el proceso, su estado actual, prioridad
del proceso, segmentos de memoria
asignados al proceso, recursos y
puertos asignados al proceso, etc.
Entonces el entorno de un proceso es
un conjunto de variables que se le
asignan al proceso en el momento de
su creacin y definen su
comportamiento.
Desarrollo
Un proceso puede estar en diferentes
situaciones (ejecucin, listo y
bloqueado) dependiendo las
necesidades del proceso. En el
estado de ejecucin el proceso
bsicamente est siendo ejecutado
en ese instante por el procesador. Se
dice que un proceso est listo para
ejecutar cuando el planificador (su
objetivo es seleccionar el proceso
que se ha de ejecutar a continuacin)
lo asigna a la fase de procesamiento.
Por ltimo, un proceso bloqueado es
aquel que espera que un evento
suceda o termine para seguirse
ejecutando.
Un proceso ligero es un programa en
ejecucin que comparte memoria y
otra informacin con otros procesos.
Cada proceso contiene informacin
que no comparte con otros procesos
como lo son el contador del
programa, pila, registros y estados
del proceso. Ofrecen las ventajas de
divisin de trabajo as como la
separacin de tareas y aumentar la
velocidad de trabajo permitiendo
ejecutar procesos en tiempos de
bloqueo a esto se le denomina
paralelismo.
La planificacin de procesos es el
reparto del tiempo del procesador
entre los procesos que desean ser
ejecutados y los que se pueden
ejecutar. La planificacin puede
existir sinexpulsin dando al proceso
la oportunidad de conservar al
procesador mientras no exista un
servicio que lo bloquee, o con
expulsin permitiendo que el sistema
operativo quitar del estado de
ejecucin a un
proceso aunque este no lo solicite.
Para realizar las funciones de
planificacin se requiere organizar los
procesos en una serie de estructuras
de informacin como pilas de
prioridad o tipo. Su objetivo principal
es optimizar el comportamiento del
sistema basado en algoritmos
cclicos, FIFO o de prioridades.
Una seal es una interrupcin al
proceso, cuando un proceso recibe
una seal detiene su ejecucin y
ejecuta la rutina de tratamiento de la
seal para despus seguir con su
proceso una vez que fue
interrumpido. La seal-proceso es
enviada por un programa que tenga
el mismo identificador que el que se
encuentra en ejecucin, sin embargo
las seales del sistema operativo se
envan cuando ocurren determinadas
condiciones de error como SIGSEGV
o SIGBUS. Pero para que todo esto
tenga efecto la seal debe de estar
armada en el proceso para que este
puede recibirla, me refiero a que hay
que indicarle al sistema operativo el
nombre de la rutina del proceso que
ha de tratar el tipo de seal.
POSIX identifica cada proceso por
medio de in entero nico denominado
identificador de proceso de tipo pid_t.
Las variables de entorno son
accesibles a un proceso a travs de
la variable externa environdeclarada
as: externchar ** environ; la forma de
crear un proceso en un sistema
operativo que ofrezca la interfaz
POSIX es invocando el servicio
forkrealizando una clonacin del
proceso que lo solicite convirtindose
en el proceso padre del nuevo
proceso. El servicioexec de POSIX
tiene por objetivo cambiar el
programa que est ejecutando un
proceso, tambin ofrece las funciones
de terminar la ejecucin de un
proceso o esperar por la finalizacin
de un proceso hijo. Cada proceso en
POSIX tiene asociado una serie de
atributos que representan sus
propiedades almacenado en un
objeto de tipo pthread_attrt_t. Este
objeto puede crear atributos de un
proceso, destruirlos, asignar y
obtener el tamao de la pila,
establecer y obtener el tamao de
terminacin del proceso.
La implementacin de la gestin de
procesos presenta numerosos
aspectos de bajo nivel relativamente
complejos, debido a que el sistema
operativo es definido como un
software con una tasa de errores
apreciable.
Los cambios de contexto es la
operacin que cambia el proceso
asignado al procesador. El cambio de
texto voluntario se produce cuando el
proceso en ejecucin pasa al estado
de bloqueado debido a que tiene que
esperar por algn tipo de evento
dentro de una llamada de sistema y
nunca en una rutina de interrupcin.
Cuando el proceso se vuelva a
ejecutar lo har despus de la
llamada de contexto, puesto que cada
llamada puede incluir varias
condiciones de bloqueo. Una llamada
del sistema o una rutina de
interrupcin pueden desbloquear un
proceso o indicar que el proceso ha
terminado su turno de ejecucin. Para
evitar los problemas de
sincronizacin entre llamadas la
mayora de los sistemas operativos
difieren este cambio de contexto
involuntario Existe un cambio de
contexto involuntario el cual se
produce cuando el proceso en
ejecucin tiene que pasar al estado
listo ya que debe de dejar al
procesador por algn motivo, algunos
procesadores ofrecen el mecanismo
que consiste en una funcin especial
que causa una interrupcin de
mnima prioridad.
Conclusin.
Sin embargo hay que recordar que un
proceso invoca una llamada del
sistema, mientras se est ejecutando
la llamada del sistema se produce
una interrupcin que genera un
cambio de contexto involuntario
activando la interrupcin de software,
este nos avisara que cuando se
termine esta llamada se har el
cambio retardado. Puede que la
llamada no termine debido a un
cambio de contexto voluntario por
bloqueo, en este caso se continuara
ejecutando otro proceso despus de
la llamada donde se qued la ltima
vez. El proceso terminara la llamada
al sistema donde se qued bloqueado
en su ltimaejecucin y as salta la
interrupcin de software. Puesto que
todos estos procesos no son simples
a la vista de un usuario bsico es
indispensable para el informtico
saber los micro comportamientos de
los procesos de los programas, esto
quiere decir que es ms que pinchar
un botn y tener acceso al programa
deseado.
Bibliografa
Carretero, Jess. Prcticas de
Sistemas Operativos, de la Base al
Diseo, (pp 29-64) Madrid.