Está en la página 1de 6

GESTION DE PROCESOS

Puntos a Recordar
 Un Proceso es un programa en ejecución o de forma más precisa una unidad de procesamiento gestionada por el
sistema operativo
 El entorno del proceso consiste en un conjunto de variables que se le pasan al proceso en el momento de su creación.
 La multitarea se basa en tres características: paralelismo entre la E/S y de procesamiento, y memoria principal capaz
de almacenar varios procesos
 El planificador es el elemento del sistema operativo que se encarga seleccionar el proceso que ha de ejecutar a
continuación.
 El activador es el elemento del sistema operativo que se encarga de poner en ejecución el proceso seleccionado por el
planificador.
 Se denomina grado de multiprogramación al número de procesos activos que mantiene el sistema.
 Se denomina hiperpaginación a la situación de alta paginación que ocurre en sistemas con memoria virtual cuando los
conjuntos residentes de los procesos son demasiado pequeños.
 Los elementos de información asociados a un proceso son: el estado del procesador, la imagen de memoria y las
tablas del sistema operativo.
 El estado del procesador esta formado por el contenido de todos sus registros.
 La imagen de memoria del proceso esta formada por los espacios de memoria que esta autorizado a utilizar.
 En el modelo típico de imagen de memoria de un proceso, este tiene un numero fijo de segmentos de tamaño variable
que son: el texto o código, los datos y la pila.
 Los sistemas operativos actuales permiten que un proceso tenga un numero variable de segmentos de tamaño
variable.
 El bloque de control de proceso o BCP contiene la información básica del proceso. Esta incluye información de
identificación, el estado del procesador e información de control.
 Un proceso durante su ejecución pasa por una serie de estados: ejecución, bloqueado y listo para ejecutar.
 Además de los estados básicos anteriores, los procesos pueden estar en los estados de espera y de suspendido. Un
proceso en espera todavía no ha entrado en el sistema y esta a ala espera de hacerlo. Un proceso suspendido es
aquel que no tiene ninguna pagina en memoria principal (esta en la zona de intercambio)
 Se denomina cambio de contexto al conjunto de las dos operaciones siguientes: salvar el estado del procesador en el.
BCP correspondiente y pasar a ejecutar otro programa, bien de otro proceso, bien del sistema operativo
 Un proceso ligero es un flujo de ejecución que comparte la imagen de memoria y otras informaciones con otros
procesos ligeros.
 La información propia de cada proceso ligero es: contador de programa, pila, registros y estado del proceso ligero
(ejecutado, bloqueado o listo)
 El uso de procesos ligeros presenta varias ventajas: permite la separación de tareas que pueden ejecutarse de forma
independiente, facilita la modularidad y aumenta la velocidad de ejecución de un trabajo, ya que se pueden aprovechar
los tiempos de bloqueo de unos procesos ligeros para ejecutar otros.
 El objetivo de la planificación es el reparto del procesador entre los procesos o procesos ligeros que deseen y puedan
ejecutar.
 La planificación a largo plazo tiene por objetivo añadir al sistema nuevos procesos, tomándolos de la lista de espera.
 La planificación a medio plazo decide que procesos pasan a estar suspendidos y cuales dejan de estarlo. Por tanto,
cambia el grado de multiprogramación del sistema.
 La planificación a corto plazo se encarga de seleccionar el proceso en estado de listo que pasa a estado de ejecución.
Es la que se encarga de asignar al procesador.
 En una planificación sin expulsión un proceso conserva el procesador mientras no acabe o mientras no solicite un
servicio al sistema operativo que lo bloquee.
 En una planificación con expulsión, el sistema operativo puede quitar a un proceso del estado de ejecución aunque
este no lo solicite.
 El algoritmo de planificación cíclico realiza un reparto equitativo del procesador, dejando que los procesos
ejecuten durante una desde tiempo denominadas rodajas.
 Un algoritmo de Planificación FIFO ejecuta procesos según una política FIFO. Un proceso pasa al final de la cola
cuando hace una llamad al sistema que lo bloquea. Si esto no ocurre, el proceso se ejecutara de forma
indefinida hasta que acabe.
 En un Algoritmo con prioridades se selecciona para ejecutar el proceso en estado de listo con mayor prioridad.
Este tipo de algoritmos suele ser con expulsión, ya que un proceso abandona el procesador cuando pasa a listo
un proceso de mayor prioridad.
 En una planificación basada en el algoritmo primero el trabajo mas corto se elige para ejecutar el proceso con
tiempo de ejecución mas corto, lo que exige conocer a priori el tiempo de ejecución de los procesos.
 Windows Nt realiza una Planificación cíclica con prioridades y con expulsión.
 Las señales y excepciones permiten a los sistemas operativos notificar a los procesos de la ocurrencia de
determinados eventos que ocurren durante la ejecución de los mismos.
 Un servidor es un proceso que esta pendiente de recibir órdenes de trabajo provenientes de otros procesos
denominados clientes.
 Win 32 ofrece servicios para gestionar procesos, procesos ligeros y su planificación. También presenta servicios
para trabajar con excepciones y con temporizadores.

Preguntas Tipo:

1. ¿Puede producirse un cambio de contexto en un sistema con un planificador basado en el algoritmo


primero el trabajo más corto además de cuando se bloquea o se termina el proceso?
No, ya que si no tenemos en cuenta las posibilidades de bloqueo y terminación del proceso, sólo nos quedaría la
posibilidad de la expulsión, pero en esta política de planificación, esa operación queda descartada.

2. ¿Qué algoritmo de planificación será más conveniente para optimizar el rendimiento de la UCP en un
sistema que sólo tiene procesos en los cuales no hay entrada/salida?
El algoritmo mas adecuado para optimizar el rendimiento de la CPU es el FIFO, porque en este no tenemos que
cambiar los procesos que se ejecutan, el proceso se queda hasta que termina su ejecución, a no ser que los
procesos se bloqueen de forma voluntaria.

3. ¿Cuál de las siguientes políticas de planificación es más adecuada para un sistema de tiempo
compartido?
A.- Primero el trabajo más corto.
B.- Round-Robin.
C.- Prioridades.
D.- FIFO.

Un sistema de tiempo compartido permite ejecutar varios procesos de distintos usuarios en el computador de
forma concurrente, con lo que los usuarios tienen la sensación de que tienen todo el computador para cada uno
de ellos. Para poder implementar estos sistemas de forma eficiente es imprescindible tener un sistema
multiproceso y un planificador que permita cambiar de un proceso a otro según los criterios de la política exigida.
Ahora bien, los criterios de la política de planificación influyen mucho sobre el comportamiento del computador de
cada a los usuarios, por lo que es importante decidir que política se debe usar en cada caso.

La política del Primero Trabajo Mas Corto consiste en seleccionar para ejecución el proceso listo con tiempo
de ejecución mas corto, por lo que exige conocer a priori el tiempo de ejecución de los procesos. Este algoritmo
no plantea expulsión: el proceso sigue ejecutándose mientras lo desee. Además tiene puede tener problemas de
inanición de procesos. No es adecuado para tiempo compartido.

Un algoritmo de planificación FIFO ejecuta procesos según una política “primero en entrar primero en salir”: un
proceso pasa al final de la cola cuando hace una llamada al sistema que lo bloquea y si esto no ocurre el proceso
se ejecutará de forma indefinida hasta que acabe. No se plantea la expulsión del proceso: el proceso ejecuta
hasta que realiza una llamada bloqueante al Sistema Operativo o hasta que termina. Este algoritmo es
inadecuado para tiempo compartido porque no hay ninguna seguridad en cuanto al tiempo de respuesta a los
usuarios, que puede ser muy lento.

La política de Round Robin realiza un reparto equitativo del procesador dejando que los procesos ejecuten
durante las mismas unidades de tiempo (rodaja). Con este mecanismo se encarga de repartir el tiempo de UCP
entre los distintos procesos, asignando de forma rotatoria intervalos de tiempo de la UCP (slot) a cada uno de
ellos. Esto algoritmo es especialmente adecuado para los sistemas de tiempo compartido por que se basa en el
concepto de rodaja de tiempo (slot) y reparte su atención entre todos los procesos, lo que al final viene a
significar entre todos los usuarios. Los procesos están organizados en forma de cola circular y cuando han
consumido su rodaja de tiempo son expulsados y pasan a ocupar el último lugar en la cola, con lo que se
ejecutan otro proceso. Con este mecanismo, los usuarios tienen la sensación de avance global y continuado, lo
que no está garantizado con los otros algoritmos descritos.

Con la política de Prioridades se selecciona para ejecutar el proceso en estado listo con mayor prioridad. Se
suele asociar a mecanismos de expulsión para que un proceso abandone el procesador cuando pasa a listo un
proceso de mayor prioridad. Con esta política es necesario utilizar otros algoritmos para decidir que proceso de
cada cola de prioridad se elige: Round Robin en el sistema interactivo y FIFO en el sistema batch. Además tiene
puede tener problemas de inanición de procesos. No es adecuado para tiempo compartido si no se asocian
políticas de rodaja de tiempo a las colas de prioridad y no se evitan los posibles problemas de inanición. Sin
embargo, en la mayoría de los sistemas operativos convencionales se usan planificadores basados en colas de
prioridad con políticas de rodaja de tiempo y mecanismos de envejecimiento de procesos, lo que permite resolver
los problemas citados. En este caso, si es adecuado para sistemas de tiempo compartido.

4. ¿Cuál es el criterio de planificación más relevante en un sistema de tiempo compartido, el tiempo de


respuesta o la optimización en el uso del procesador?
Un sistema de planificación en un sistema de tiempo compartido, o multiusuario, debe ofrecer el mayor
rendimiento a todos los usuarios, para hacer “pensar” a cada uno de ellos que está trabajando directamente
sobre la máquina, y no sobre un Terminal. Para ello el tiempo de respuesta de los procesos que ejecuten cada
uno de los usuarios, debe ser lo suficientemente rápido para evitar esperas por parte de los usuarios. Por tanto,
es más relevante un criterio de planificación orientado al tiempo de respuesta.

5. ¿Cuál de las siguientes transiciones entre los estados de un proceso no se puede producir en un sistema
con un algoritmo de planificación no expulsivo?
A.- Bloqueado a listo.
B.- Ejecutando a listo.
C.- Ejecutando a bloqueado.
D.- Listo a ejecutando.

En un proceso en un sistema con un algoritmo de planificación no expulsivo se puede producir todas las
transiciones entre estados exceptuando de ejecutando a listo ya que dicho sistema conserva el procesador
mientras no solicite el sistema operativo un servicio que lo bloquee, luego no podrá pararse la ejecución sin pasar
antes por bloqueado, que será solicitado por el sistema operativo. Por ejemplo no habría problema alguno de
bloqueado a listo, de ejecutando a bloqueado(donde será el sistema operativo quien solicite ese bloqueo),o de
listo a ejecutando.

6. Sea un sistema que usa un algoritmo de planificación de procesos round-robin con una rodaja de tiempo
de 100 ms. En este sistema ejecutan dos procesos. El primero no realiza operaciones de E/S y el segundo
solicita una operación de E/S cada 50 ms. ¿Cuál será el porcentaje de uso de la UCP?

En un algoritmo de planificación de procesos round-robin los procesos están organizados en forma de cola
circular. El primer proceso a ejecutar es el primero de la cola y se estará ejecutando hasta que se bloquee, bien
porque solicite un servicio al sistema operativo o bien porque se acabe su tiempo máximo de ejecución (rodaja
de tiempo). Si ocurre lo segundo el proceso pasará al final de la cola.

En el ejercicio, el proceso 1 comienza a ejecutar hasta que se acaba su rodaja de tiempo y se coloca al
final de la cola. Seguidamente el proceso 2 pasa a ejecutarse hasta que solicita una operación de E/S a
los 50 ms. Al solicitar un servicio al sistema operativo este proceso finaliza y se vuelve a colocar al final
de la cola. Así se produce un bucle que durará hasta que acaben los procesos.
En el gráfico de a continuación observamos el comportamiento de los dos procesos:
Con esto podemos concluir que el porcentaje de uso de la UCP será el 100% ya que cuando no se está
ejecutando uno de los procesos se está ejecutando el otro.

7. En un sistema que usa un algoritmo de planificación de procesos round-robin, ¿cuántos procesos como
máximo pueden cambiar de estado cuando se produce una interrupción del disco que indica que se ha
terminado una operación sobre el mismo?

El hecho de que el sistema use un algoritmo de planificación de procesos Round-Robin implica que va a haber
un reparto equitativo del tiempo del procesador para la ejecución de los procesos.
Los procesos listos para ser ejecutados se almacenan en una cola. El proceso cabecera de la cola es el único
estado en ejecución. El algoritmo de Round-Robin controla el tiempo que los procesos pueden estar en estado
de ejecución. Si un proceso consume su rodaja de tiempo, este es expulsado al último lugar de la cola y pasa a
ejecutarse el proceso siguiente en la cola.
Si un proceso está bloqueado esperando una interrupción de disco, al recibirla, pasa de bloqueado a listo,
incluyéndose en la lista de control de procesos.
Así pues, si en un sistema que usa un algoritmo de planificación de procesos Round-Robin, se produce una
interrupción de disco que indica que se ha terminado una operación sobre el mismo, puede ocurrir que un
proceso que estaba bloqueado, al recibir la señal causada por la interrupción pase a listo, colocándose en la
última posición de la cola de control de procesos (También podría pasar a la primera, pero suponemos que se
incluye en la última). Si además suponemos que en el instante en que ese proceso pasa de bloqueado a listo el
que está en la cabecera ha consumido su rodaja de tiempo y pasa a ejecutarse el que estaba a continuación,
obtenemos que han cambiado de estado 3 procesos, siendo este el número máximo de procesos que pueden
cambiar de estado cuando se produce una interrupción de disco que indica que se ha terminado una operación
sobre el mismo bajo un algoritmo de planificación Round-Robin.

8. ¿Qué sucede cuando un proceso recibe una señal? ¿y cuando recibe una excepción?
Se puede decir que una señal es una interrupción al proceso. El proceso se comporta de la siguiente forma
cuando recibe una señal:
1. El proceso detiene su ejecución que está ejecutando en la instrucción máquina.
2. Ejecuta una rutina de tratamiento de la señal (el código forma parte del proceso).
3. Cuando acaba la rutina de tratamiento, continua con la ejecución del proceso de la instrucción máquina.
Estas señales pueden proceder de un proceso o del sistema operativo.

Cuando ocurre una excepción, el sistema operativo toma el control e indica la excepción al proceso. Si el proceso
había capturado la excepción. La ejecución salta al código de la rutina de tratamiento de excepción. Si no
existiere, aborta la ejecución del proceso. Habitualmente, las excepciones sólo se pueden tratar al final del
código fuente de una función y dicha función termina después de tratar dicha excepción. Las excepciones se
entienden mejor como tratamiento de un error o situación anómala.

9. Considere el siguiente conjunto de procesos planificados con un algoritmo round-robin con 1 u.t. de rodaja,
¿Cuánto tardan en acabar todos ellos?
Proceso. Llegada. Duración
P1 2 8
P2 0 5
P3 1 4
P4 3 3

Orden de llegada: P2, P3, P1, P4. Llegadas separadas por una unidad de tiempo. Estructura de planificación de
procesos: FIFO (cola) circular con rodaja de tiempo de una unidad de tiempo para cada proceso.

Supondré que al final de cada unidad de tiempo, primero se encola el proceso que ha acabado de ejecutar y después se
encola el proceso que llegue en ese instante.
u(t) transcurridas--------------------------> 0 1 2 3
P2 (5 ut) P3 (4 ut) P1 (8 ut) P4 (3 ut) P2 ejecuta
P3 llega, P2 ejecuta
P1 llega, P3 ejecuta
P4 llega, P2 ejecuta

COLA-------------------------------> P2 P2P3 P3P2P1 P2P1P3P4


u(t) restantes------------------------> 5 4--4 4--3--8 3--8--3--3

u(t) transcurridas--------------------------> 4 5 6 7
P1 ejecuta P3 ejecuta P4 ejecuta P2 ejecuta

COLA-------------------------------> P1P3P4P2 P3P4P2P1 P4P2P1P3 P2P1P3P4


u(t) restantes------------------------> 8--3--3—2 3--3--2—7 3--2--7—2 2--7--2--2

u(t) transcurridas--------------------------> 8 9 10 11
P1 ejecuta P3 ejecuta P4 ejecuta P2 ejecuta

COLA-------------------------------> P1P3P4P2 P3P4P2P1 P4P2P1P3 P2P1P3P4


u(t) restantes------------------------> 7--2--2--1 2--2--1--6 2--1--6--1 1--6--1--1

u(t) transcurridas--------------------------> 12 13 14 15
P1 ejecuta P3 ejecuta P4 ejecuta P1 ejecuta

COLA-----------------------------------------> P1P3P4 P3P4P1 P4P1 P1


u(t) restantes--------------------------------> 6--1--1 1--1--5 1--5 5

Tienen que transcurrir 12 unidades de tiempo para que el proceso P2 finalice. Tienen que transcurrir 14 unidades de
tiempo para que P3 finalice. Tienen que transcurrir 15 unidades de tiempo para que P3 finalice. Para que finalice P1
tienen que transcurrir 15+5 unidades de tiempo.
10. Se tienen los siguientes trabajos a ejecutar:
trabajos Unidades de tiempo Prioridad
1 8 2
2 5 4
3 2 2
4 7 3

Los trabajos llegan en el orden 1, 2, 3 y 4 y la prioridad más alta es la de valor 1, se pide:


a) Escribir un diagrama que ilustre la ejecución de estos trabajos usando:
1. Planificación de prioridades no expulsiva
2. Planificación cíclica con una rodaja de tiempo de 2
3. FIFO
b) Indicar cuál es el algoritmo de planificación con menor tiempo medio de espera

a) 1.

2.
3.

b)

De cara al usuario, el algoritmo de planificación con menor tiempo medio de espera por proceso es el cíclico, ya que un
proceso no tiene que esperar a que termine de ejecutar el anterior. El lado negativo de este algoritmo sería la
ralentización global de todos los procesos.

BIBLIOGRAFIA
Carretero, 2001, J. Carretero López, Sistemas operativos una visión aplicada, Ed Mc Graw Hill, 20

También podría gustarte