FUNDAMENTOS DE SISTEMAS OPERATIVOS

Si buscas hosting web, dominios web, correos empresariales o crear páginas web gratis, ingresa a PaginaMX
Por otro lado, si buscas crear códigos qr online ingresa al Creador de Códigos QR más potente que existe


ESTADOS DE UN PROCESO Y TRANSICIONES DE ESTADO DE LOS PROCESOS

Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:

En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.

Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.

Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.

Hay otros estados de los procesos, pero en la presente exposición se tratarán estos tres. Por sencillez, se considera un sistema con una sola CPU, aunque no es difícil la extensión a múltiples procesadores. Solamente puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. Así pues, se forman una lista de procesos listos y otra de procesos bloqueados. La lista de procesos listos se ordena por prioridad, de manera que el siguiente proceso que reciba la CPU será el primero de la lista. La lista de procesos bloqueados normalmente no está ordenada; los procesos no se desbloquean (es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo hacen en el orden de ocurrencia de los eventos que están esperando. Como se verá más adelante, hay situaciones en las cuales varios procesos pueden bloquearse esperando la ocurrencia del mismo evento; en tales casos es común asignar prioridades a los procesos que esperan.

Transiciones de estado de los procesos

A continuación se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estados (ver figura 2.1). La mayoría de estos eventos se discutirán con profundidad a lo largo del curso:

De ejecución á Bloqueado: al iniciar una operación de E/S, al realizar una operación WAIT sobre un semáforo a cero (en el tema de procesos concurrentes se estudiarán los semáforos).

De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.

De Listo á en ejecución: cuando lo requiere el planificador de la CPU (veremos el planificador de la CPU en el tema de planificación de procesos).

De Bloqueado á Listo: se dispone del recurso por el que se había bloqueado el proceso. Por ejemplo, termina la operación de E/S, o se produce una operación SIGNAL sobre el semáforo en que se bloqueó el proceso, no habiendo otros procesos bloqueados en el semáforo.

Obsérvese que de las cuatro transiciones de estado posibles, la única iniciada por el proceso de usuario es el bloqueo, las otras tres son iniciadas por entidades externas al proceso.

ESTADOS DE PROCESOS Los cinco estados de este diagrama son los siguientes: Ejecución: el proceso está actualmente en ejecución. Listo: el proceso está listo para ser ejecutado, sólo está esperando que el PLANIFICADOR así lo disponga. En Espera : el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida. Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal. Terminado: El proceso fue expulsado del grupoo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc. 

CARACTERISTICAS DE LOS ESTADOS DE PROCESOS Los nuevos estados Nuevo y Terminado son útiles para la gestión de procesos. Los estados Bloqueado y Listo tienen ambos una cola de espera. Cuando un nuevo proceso es admitido por el sistema operativo, se sitúa en la cola de listos. falta de un esquema de prioridades ésta puede ser una cola FIFO FIRST IN FIRST OUT Los procesos suspendidos son mantenidos en una cola de bloqueados o en espera.

 NIVELES DE PRIORIDAD DE PROCESOS Es conveniente mantener varias colas de procesos listos. Una para cada nivel de prioridad Determinar cuál es el proceso que más conviene ejecutar.

PROCESOS BLOQUEADOS Una de las razones para implementar el estado Bloqueado es:  Poder hacer que los procesos se puedan mantener esperando algún suceso.  Al ser mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados todos los procesos en memoria estén esperando en el estado Bloqueado y que no haya más memoria disponible

 INTERCAMBIO El intercambio se lleva a cabo moviendo una parte de un proceso o un proceso completo desde la memoria principal al disco Después del intercambio, se puede aceptar un nuevo proceso o traer a memoria un proceso suspendido anteriormente

PROBLEMAS DEL INTERCAMBIO El problema que se presenta ahora es que puede ser que si se decide traer a memoria un proceso que está en el estado Suspendido, el mismo todavía se encuentre bloqueado. Sólo convendría traerlo cuando ya está listo para ejecutar. Esto implica que ya aconteció el suceso que estaba esperando cuando se bloqueó.

DIFERENCIACION DE ESTADOS Para tener esta diferenciación entre procesos suspendidos, ya sean listos como bloqueados, se utilizan cuatro estados: Listo, Bloqueado, Bloqueado y suspendido y Listo y suspendido.
Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar. Se usa una variable llamada semáforo para intercambiar señales. Si un proceso esta esperando una señal, se suspende (WAIT) hasta que la señal se envíe (SIGNAL). Se mantiene una cola de procesos en ESPERA en el semáforo. La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO.
© 2024 FUNDAMENTOS DE SISTEMAS OPERATIVOS

18001