Estados de los procesos
Enviado por Gochi Shitposteo • 6 de Mayo de 2020 • Apuntes • 1.393 Palabras (6 Páginas) • 169 Visitas
Estado de los Procesos
Para comprender lo que es un proceso, debemos dejar en claro que el término “proceso” no tiene nada que ver con el término “programa”, puesto que un programa viene siendo una secuencia escrita en un lenguaje determinado, el cual se destaca por ser estático, destacando también que es posible que un programa sea ejecutado por varios usuarios en un sistema multiusuario, en el cual, por cada una de esas ejecuciones existirá un proceso, con su contador de programa, registros, entre otros elementos.
Por su parte, un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, su pila y datos, entre otros elementos, volviendo así al proceso dinámico. Todo proceso de un sistema operativo se caracteriza por presentar un estado que indica la situación en la que se encuentra, ya sea listo, en ejecución y/o bloqueado.
El número de posibles estados varía de acuerdo al sistema operativo que posea la CPU. Teniendo esto en cuenta todo proceso puede estar, como mínimo, en uno de los 2 estados: En estado activo o en estado inactivo.
Los estados activos se describen como aquellos que buscan competir contra el procesador. Dentro de los estados activos tenemos:
- En ejecución: Es el estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado lo ocupa la CPU actualmente, es decir, que esta siendo ejecutado en ese preciso momento.
- Listo o preparado: Son aquellos donde el proceso dispone de todos los recursos para ser ejecutado, pero no están en ejecución por alguna causa (Interrupción, haber entrado en cola estando otro proceso en ejecución, etc.).
- Bloqueado: Se destaca porque el proceso no puede seguir ejecutándose por el momento debido a que necesita algún recurso del cual no dispone. Cabe resaltar que por recurso se pueden pensar en un dispositivo, un dato, una operación de entrada/salida, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.
Por su parte, los estados inactivos son todos aquellos que no pueden competir contra el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio.
Dentro de los estados inactivos podemos encontrar:
- Suspendido y bloqueado: En el cual el proceso que fue suspendido está en espera de un evento, sin que hayan desaparecido las causas de su bloqueo.
- Suspendido programado: Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.
Las razones por las que un estado cambia de proceso es causado por las operaciones que, al ser mucho más lentas, ocasionan que el modelo de cinco estados produzca en la memoria que esté esperando en el estado bloqueado, provocando que no haya más memoria disponible para nuevos procesos.
Para crear un proceso implica requiere de ciertas operaciones tales como:
- Dar un nombre a un proceso.
- Insertarlo en la lista de procesos conocidos del sistema (o tabla de procesos)
- Determinar la prioridad inicial de proceso.
- Crear el bloque de control de proceso.
- Asignar los recursos iniciales al proceso.
Se debe señalar que un proceso puede crear un nuevo proceso, en donde el proceso creador se le denomina “Proceso Padre”, mientras que al proceso creado se le denomina “Proceso Hijo”. Sólo se necesita un padre para crear un hijo. Tal creación origina una estructura jerárquica de procesos. Además, la ventaja de esto es que no se puede destruir un proceso cuando este ha creado otros procesos.
Destruir un proceso implica eliminarlo del sistema. Se le remueve de la tabla o listas del sistema, sus recursos se devuelven al sistema y su bloque de control de proceso se borra (es decir, el espacio de memoria ocupado por su PCB se devuelve al espacio de memoria disponible).
Estado de los Hilos
En los sistemas operativos, un hilo de ejecución, hebra o subproceso es una línea de ejecución de procesamiento más pequeño que puede ser planificada por un sistema operativo, donde todo proceso parte inicialmente con un único hilo principal, aunque el sistema operativo ofrece llamadas al sistema que permiten al programador crear y destruir hilos. Por tanto, un proceso está compuesto por uno o más hilos. Los hilos en sí son solo una tarea que puede ser ejecutada al mismo tiempo que otra tarea.
...