Está en la página 1de 4

Modelos de estado de un proceso

Heredia Ariel1
Universidad Técnica del Norte
Facultad de Ingenierı́a y Ciencias Aplicadas
1
asherediaa@utn.edu.ec
6 de enero de 2021

Abstract— El presente trabajo es producto de una con- B. Modelos de estado de un proceso


sulta bibliográfica acerca de cada uno de los modelos de
estados de proceso implı́citos en los sistemas operativos. Cada vez que se ejecuta un proceso, éste va cam-
De acuerdo con el número de estados de un proceso,
biando de estado. Por lo que la información del estado
los modelos son: de dos estados, que el más sencillo; de
tres estados, que consta de cuatro transiciones; de cinco de un proceso se basa en la actividad actual de éste [2].
estados, el cual añade dos estados al modelo anterior; Se definen algunos modelos, cada uno con un número
y el modelo de siete estados, que es un agregado de 2 determinado de estados que son acorde a la estructura
estados y reestructuración de su similar de cinco estados. de un sistema operativo dado.
Respecto de la gestión de procesos, se menciona en este
1) Modelo de dos estados: Es el modelo más sen-
escrito sobre algunas pautas que rigen ésta gestión tanto
en los sistemas Windows como los UNIX, de los cuales
cillo de todos, consta de un par de estados que de
derivan sistemas como Linux o MacOS. acuerdo con [1] son:
• Ejecutando: Indica que un proceso se encuentra
I. I NTRODUCCI ÓN
actualmente en ejecución.
Los procesos dentro un sistema operativo son de gran • No Ejecutando: Indica lo contrario. Esto ocurre
importancia, dado que estos constituyen un componente cuando un proceso recién se encuentra creado,
esencial que deriva en el adecuado funcionamiento del y cuando un proceso en estado Ejecutando ha
sistema y que éste a su vez le otorgue una experiencia finalizado o ha sido interrumpido.
agradable al usuario. Es por ello que surge la necesidad
de implementar modelos que le sirvan de base al
sistema operativo para la gestión de los procesos tanto
los propios como los del usuario. Los modelos de
estados de un proceso responden a un conjunto de
estados y transiciones que permiten el estudio de las
diferentes situaciones por las que pasa un proceso en
determinados instantes dentro de un sistema operativo. Fig. 1. Modelo de dos estados

II. E STADO DEL A RTE


A. Proceso 2) Modelo de tres estados: Según [3], los estados
que constituyen este modelo son:
De acuerdo con [1], un proceso se define como
un programa o la instancia de éste que se encuentra • En ejecución: El proceso está utilizando la CPU
en ejecución en un procesador. A esto, [2] agrega en ese instante.
que un proceso es una entidad activa que contiene un • Listo: El proceso está listo para ejecutarse, pero se
valor de actividad, una pila de proceso, una sección de encuentra detenido temporalmente para dar paso a
datos y un cúmulo de memoria. Asimismo, éste último otro proceso.
autor aclara que un programa no es un proceso por sı́ • Bloqueado: No se puede ejecutar debido a que
mismo, sino que se convierte en uno cuando se carga ocurrió algún evento externo, por ejemplo: la falta
en memoria un archivo ejecutable. de datos.
• Listo-Ejecutando: Por medio del planificador, el
sistema operativo selecciona un proceso del estado
Listo para ejecutarlo.
• Ejecutando-Saliente: Se da cuando finaliza el
proceso en actual ejecución.
• Ejecutando-Bloqueado: Ocurre cuando un pro-
Fig. 2. Modelo de tres estados ceso solicita algo por lo cual debe esperar.
• Ejecutando-Listo: Esta transición se da cuando
Con base en el gráfico anterior, existen cuatro transi- el proceso en ejecución ha alcanzado el tiempo
ciones entre los tres estados del modelo: máximo de ejecución ininterrumpida que el sis-
tema operativo le permite.
• 1. El proceso se bloquea a la espera de datos
• Bloqueado-Listo: Un proceso realiza este cam-
(Bloqueo).
bio cuando sucede el evento por el cual estqaba
• 2. El planificador elige otro proceso (Tiempo ex-
esperando.
cedido).
• Listo-Saliente: En ciertos sistemas, un proceso
• 3. El planificador elige este proceso (Despacho).
padre puede finalizar la ejecución de un proceso
• 4. Los datos se encuentran disponibles (Despertar
hijo en cualquier momento. Si el proceso padre
proceso).
finaliza, también lo harán los procesos hijos.
3) Modelo de cinco estados: Se trata de la extensión 4) Modelo de siete estados: Se concibe como el
del modelo anterior, al cual se agregan dos estados más, modelo más extendido de todos, ya que es el resultado
de modo que se pueda gestionar de mejor manera un de añadir dos nuevos estados (relacionados al estado
proceso. Haciendo énfasis en [1], se muestran los cinco de Suspensión) al modelo previo de 5, ası́ como una
estados de este modelo, incluyendo los ya vistos en el reestructuración del mismo. Estos nuevos estados re-
apartado anterior. sponden a la necesidad de caracterizar mejor a un
proceso suspendido, indicando si aquel proceso en
suspensión se encuentra a su vez listo o está bloqueado
esperando un evento. En este sentido, [1] define respec-
tivamente que estos nuevos estados son:
• Listo-Suspendido
• Bloqueado-Suspendido

Fig. 3. Modelo de cinco estados

• Ejecutando: Proceso actualmente en ejecución.


• Listo: Proceso preparado para ejecutarse cuando
exista la oportunidad de hacerlo.
• Bloqueado: El proceso no se ejcuta hasta que
ocurra algún evento o se complete una operación
de E/S.
• Nuevo: Proceso recién creado pero aún sin ser Fig. 4. Modelo de siete estados
admitido en el grupo de procesos ejecutables.
• Saliente: Proceso que se libera del grupo de
Entre las transiciones más importantes que inter-
procesos ejecutables, ya sea por haberse detenido
vienen en este modelo constan:
o abortado por alguna circunstancia.
• Bloqueado/Suspendido a Listo/Suspendido: Un
De igual manera, existen posibles transiciones en el proceso pasa a Listo/Supendido cuando sucede el
modelo que dan cierto rumbo a determinado proceso: evento esperado.
• Nuevo-Listo: Se produce cuando el sistema oper- • Listo/Suspendido a Listo: Ocurre cuando ya no
ativo está listo para ejecutar un nuevo proceso. hay más procesos listos, por lo que el sistema
operativo deberá seleccionar algún otro para con- B. UNIX
tinuar con la ejecución. La creación y destrucción de procesos en estos
• Bloqueado a Bloqueado/Suspendido: Cuando sistemas se ajustan de la manera más sencilla posible,
no hay procesos listos, algunos de los procesos de modo que tienen un número mı́nimo de parámetros
bloqueados se almacenan en el disco para hacer es- [4] De acuerdo con [4] y [5], para la creación de
pacio a algún otro proceso que no esté bloqueado. procesos, se hace uso de la llamada fork. Esta llamada
• Ejecutando a Listo/Suspendido: Por lo general, crea un proceso hijo (clon) del proceso que hace la
sucede cuando un proceso en ejecución finaliza su llamada (proceso padre), fork copia la información
tiempo de uso de procesador. del proceso incluido el espacio de direcciones. Para
III. G ESTI ÓN DE PROCESOS EN LOS SISTEMAS poder distinguir a ambos procesos, la llamada devuelve
OPERATIVOS distintos valores, el hijo recibe un valor de 0 y el padre
el PID (identificador de proceso) del hijo.
En esta sección se manifiestan algunas caracterı́sticas
La llamada exit finaliza un proceso. Cuando finaliza
sobre la gestión de procesos en los sistemas de Mi-
el proceso hijo, se envı́a la llamada wait para que se
crosoft Windows, Linux y Mac OS. Estos dos últimos,
bloquee el padre esperando la finalización del hijo.
dado que están basados en UNIX [4], se hace énfasis
Para eliminar un proceso, debido a alguna razón como
sólo en este sistema.
un gran consumo de recursos o al ser algún proceso
A. Windows no necesario, etc; UNIX utiliza la llamada kill la cual
La creación de procesos en Windows se realiza necesita del identificador del proceso que se desea
por medio de la llamada CreateProcess, la cual crea eliminar (PID).
y carga el programa en el nuevo proceso [4]. Esta A continuación se presenta una tabla acerca de algu-
llamada consta de 10 parámetros, entre los que están: nas llamadas implementadas en sistemas UNIX que
prgorama a ejecutar, atributos de seguridad, prioridad, son necesarias para la gestión de procesos y algunas
especificación de ventana a crear, y bits de control de funcionalidades adicionales.
archivos abiertos. TABLE II
En Windows se crea un nuevo proceso hijo a partir del LL AMADAS PARA LA GESTI ÓN DE PROCESOS Y OTRAS
proceso padre, éste proceso es idéntico al padre, pero UTILIDADES EN UNIX
cuenta con un espacio de direcciones completamente
diferente [4]. Llamada Descripción
Fork Crea un proceso nuevo
En lo referente a la destrucción de procesos, Windows
Waitpid Espera terminación de un proceso
hace uso de la llamada ExitProcess y para eliminarlo Exit Termina la ejecución
utiliza TerminateProcess. La siguiente tabla muestra Open Crea archivo o abre existente
algunas de las llamadas referentes a la gestión de los Close Cierra un archivo
procesos en los sistemas de Windows. Read Lee dtos de un archivo
Write Escribe datos en un archivo
TABLE I Lseek Mueve el apuntador de archivo
Stat Obtiene atributos de archivo
LL AMADAS PARA LA GESTI ÓN DE PROCESOS EN W INDOWS
Mkdir Crea un nueevo directorio
Rmdir Elimina directorio vacı́o
Llamada Descripción
Chdir Cambia el directorio de trabajo actual
CreateProcess Crea un proceso nuevo
Kill Elimina un proceso
WaitForSingleObject Espera terminación de un proceso
Time Obtiene la hora actual
ExitProcess Termina la ejecución
Execve Ejecuta proceso según filename
CreateFile Crea archivo o abre existente
Link Maneja enlaces
CloseHandle Cierra un archivo
Mount Manejo de montajes
ReadFile Lee dtos de un archivo
Unmout Manejo de desmontajes
WriteFile Escribe datos en un archivo
SetFilePointer Mueve el apuntador de archivo
GetFileAttributesEx Obtiene atributos de archivo
CreateDirectory Crea un nueevo directorio
RemoveDirectory Elimina directorio vacı́o
SetCurrentDirectory Cambia el directorio de trabajo actual
TerminateProcess Elimina un proceso
GetLocalTime Obtiene la hora actual
IV. C ONCLUSIONES
• Son varias las maneras de representar los estados
de un proceso, las cuales van desde modelos
sencillos hacia unos modelos más especı́ficos.
• En la medida en que se va aumentando el número
de estados que se plasman en un modelo, se
genera un aumento de las posibles transiciones
entre estados, las cuales definen el ciclo que sigue
un determinado proceso.
• El modelo de siete estados es un modelo muy
conciso que añade dos estados de Suspendido a su
similar de cinco estados. Los agregados son útiles
ya que permiten conocer si un proceso suspendido
se encuentra a su vez listo o bloqueado.
• La gestión de procesos en Windows y UNIX
guardan gran similitud en cuanto a funcioanlidad.
Un aspecto en el que difieren es en el espacio de
direcciones entre procesos padre-hijo: en UNIX
son iguales y en Windows son completamente
diferentes.
V. R ECOMENDACIONES
• Se recomienda analizar de mejor manera cada una
de las transiciones entre estados que se puedan
presentar en los diferentes modelos.
• Es recomandable para complemento de estudio,
realizar la verificación de los estados de pro-
cesos en los sistemas operativos de Windows,
Linux, MacOS o incluso en los sistemas operativos
móviles. Esto haciendo uso de los administradores
de tareas o mediante comandos de shell.
• Es recomendable tener claro cómo funcionan los
modelos de 5 y de 7 estados, dado que son más
especificos y permiten entender como se realiza la
gestión de procesos.
• Se recomienda tener en cuenta las llamadas que se
realizan en los sistemas operativos para la gestión
de procesos, y como conocimiento previo sobre la
planificación de estos procesos.
R EFERENCES
[1] William Stallings. Sistemas Operativos: Aspectos internos y
principios de diseño. Pearson Educación de México, SA de
CV, 2011. OCLC: 1027206483.
[2] Abraham Silberschatz, Peter B. Galvin, and Greg Gagne.
Operating system concepts. J. Wiley & Sons, Hoboken, NJ,
7th ed edition, 2005.
[3] David La Red. Sistemas Operativos. El Cid Editor, 2004.
[4] Francisco Javier Serrano Castaño. Gestión de Procesos en los
Sistemas Operativos. page 72.
[5] Pedro Cabalar. Sistemas Operativos. page 42, 2016.

También podría gustarte