Somm - U03 - Gestion De Procesos

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Somm - U03 - Gestion De Procesos as PDF for free.

More details

  • Words: 3,255
  • Pages: 42
Sistemas operativos en entornos mono y multiusuario

Unidad 3

GESTIÓN DE  PROCESOS Andrés Rosique Hernández androsique­[email protected]

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

Licencia Esta obra está bajo una licencia Reconocimiento­No  comercial­Compartir bajo la misma licencia 3.0 España  de Creative Commons. Para ver una copia de esta licencia, visite  http://creativecommons.org/licenses/by­nc­sa/3.0/deed.es o 

envíe una carta a Creative Commons, 559 Nathan  Abbott Way, Stanford, California 94305, USA.

U03. Gestión de procesos

2

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

Índice 1.Procesos y flujos 2.Estados de los procesos 3.Control de interrupciones 4.Planificador y despachador 5.Sincronización de procesos 6.Algoritmos de planificación

U03. Gestión de procesos

3

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Procesos y flujos ●





A los procesos, dependiendo del sistema operativo,  se les llama también flujos de control. Cuando se ejecuta más de un proceso a la vez  (concurrentemente), todos necesitan que el sistema  les asigne una serie de recursos (CPU, memoria...). El sistema operativo se encarga de sincroniza y  asignar estos recursos en un orden adecuado y  atendiendo a unas prioridades. –

Ejemplo: un padre prepara un pastel a su hija, y tiene: ● ●

un libro de recetas y  los ingredientes: harina, azúcar, huevos, levadura, ralladura  de limón, aceite y leche.

U03. Gestión de procesos

4

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Procesos y flujos (2) El programa es el libro de recetas, el procesador es el  padre, los datos son los ingredientes, y el proceso  consiste en leer la receta, buscar y obtener los  ingredientes y hornear el pastel. – Mientras está haciendo el pastel, su hija se cae y llora  porque se ha caído y se ha hecho daño en la rodilla. – Entonces el padre anota en el libro donde se  quedó (salva el estado del proceso), y se va  curar a su hija (otro proceso de mayor  prioridad). Aquí el programa sería el libro de  primeros auxilios. – Cuando termina de curarla, sigue con el pastel por el  U03. Gestión de procesos 5 punto donde se quedó. –

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Procesos y flujos (3) ●

Gráficamente sería así:

U03. Gestión de procesos

6

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Procesos y flujos (5) ●





Cuando un programa se convierte en un proceso (se  ejecuta), además de ubicar en memoria las  instrucción y los datos asociados, se le asocia una  estructura de datos. Esta estructura de datos es única para cada  proceso; lo identifica y permite controlarlo. La estructura se denomina bloque de control de  proceso (PCB, Process Control Block) y para cada  proceso contiene toda la información necesaria para  poder gestionar el proceso.

U03. Gestión de procesos

7

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Procesos y flujos (6) ●

Bloque de control de proceso (PCB): –

Estado actual del proceso: un proceso puede estar en ● ● ●



– – –

Ejecución. Listo, preparado, en espera o activo. Bloqueado.

Identificador del proceso: se conoce como PID y es  único para cada proceso. Es como el DNI de un  proceso. Prioridad del proceso. Ubicación en memoria. Recursos utilizados.

U03. Gestión de procesos

8

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

1. Introducción (6) Ejercicios. 1. ¿Qué es un proceso? 2. ¿Cómo se llama la estructura de datos que tiene cada proceso? 3. ¿Qué información contiene el bloque de control de proceso? 4. ¿Qué es el PID? 5. ¿En qué estados puede estar un proceso?

U03. Gestión de procesos

9

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos ●





La principal responsabilidad del sistema operativo es  controlar la ejecución de los procesos. Sin embargo, primero hay que definir un modelo de  comportamiento para los procesos. El modelo más sencillo es de que tiene 2 estados: – –

Ejecución. No ejecución.

U03. Gestión de procesos

10

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (2) Modelo de 2 estados ●

Funcionamiento del modelo de 2 estados: – – –



Cuando se crea un nuevo proceso, entra en el  sistema en estado de “No ejecución”. Desde entonces el sistema operativo sabe de su  existencia y que está esperando para ser ejecutado. En algún momento, el proceso que se estuviera  ejecutando es interrumpido y el planificador  selecciona un nuevo proceso para que se ejecute. Por lo tanto,  ● ●

el proceso que se estaba ejecutando pasa a “No ejecución” y uno de los de “No ejecución” para a “Ejecución”.

U03. Gestión de procesos

11

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (3) Modelo de 2 estados –

El planificador se podría describir como organizador  de una cola.



Si todos los procesos estuvieran siempre listos para  ejecutarse, este modelo sería eficaz. ●



Cola organizada en primero en entrar, primero en salir  (FIFO). Algoritmo de planificación de turno rotatorio (round robin).

U03. Gestión de procesos

12

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (4) Modelo de 3 estados ●





El modelo anterior no es bueno porque algunos de  los procesos del estado “No ejecución” no están  preparados, están bloqueados esperando que  termine una operación de E/S. La forma más simple de solucionar esto es dividir el  estado de “No ejecución” en dos estados: listo y  bloqueado. Así tendríamos un modelo de 3 estados: – – –

Ejecución. Listo. Bloqueado.

U03. Gestión de procesos

  E/S = Entrada/Salida. 13

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (5) Modelo de 3 estados ●

● ●

Ejecución: proceso actualmente en ejecución. Si  tenemos sólo un procesador, sólo puede haber uno. Listo: proceso preparado para ejecutarse. Bloqueado: proceso que no se puede ejecutar hasta  que ocurra un suceso. Por ejemplo: E/S.

U03. Gestión de procesos

14

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (6) Modelo de 3 estados ●

Las transiciones son:

Listo → Ejecución: para escoger un nuevo proceso  para ejecutar, el S.O. lo selecciona del estado Listo. – Ejecución → Listo: ocurre cuando el proceso en  ejecución consume el tiempo máximo permitido de  ejecución sin interrumpir (round robin) o porque tiene  que ejecutarse un proceso de mayor prioridad. – Ejecución → Bloqueado: cuando el proceso que se  está ejecutando solicita algo por lo que debe esperar.  Por ejemplo, un archivo o una operación de E/S. – Bloqueado → Listo: cuando ocurre el suceso que  estaba esperando, pasa al estado de Listo. U03. Gestión de procesos 15 –

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (7) Modelo de 5 estados ●



Sin embargo, es conveniente añadir 2 estados más  al modelo anterior para facilitar la gestión de los  procesos. Estos estados serían: –



Nuevo: proceso recién creado pero no ha sido  admitido por el S.O. No está cargado en memoria  principal. Terminado: proceso que ha sido expulsado del S.O.  porque ha acabado o por alguna otra razón.

U03. Gestión de procesos

16

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (8) Modelo de 5 estados

U03. Gestión de procesos

17

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (9) Modelo de 6 estados ●





Se debe añadir el estado “Suspendido” para hablar  de intercambio a disco. Cuando no caben más procesos en el estado de  bloqueado, hay que pasarlos a disco. El intercambio es una operación de E/S y podría  empeorar el sistema en vez de mejorarlo.

U03. Gestión de procesos

18

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (10) Modelo de 7 estados ●

Listo y suspendido: el proceso está en memoria  secundaria pero está disponible para su ejecución  en cuanto se cargue en memoria principal

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (11) ●

Conceptos: –

Cambio de contexto: ●





Consiste en la ejecución de una rutina perteneciente al  núcleo del S.O., cuyo propósito es parar la ejecución de un  proceso para dar paso a la ejecución de otro distinto. Cuando un proceso pasa de un estado a otro (Listo →  Ejecución), se produce un cambio de contexto.

Prioridades: ●



Indican la importancia del proceso y, por lo tanto, la mayor  o menor cantidad de tiempo que el procesador empleará en  él sin interrupciones. Cada proceso tiene asignada una prioridad por el sistema  operativo o por administrador del sistema.

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

2. Estados de los procesos (12) Ejercicios. 1. Completa el siguiente modelo y explica las transiciones.

2. ¿Cuándo se produce un cambio de contexto? 3. ¿Qué son las prioridades?

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

3. Control de interrupciones ●





Para comprender el control de interrupciones  partiremos de un ejemplo. Supongamos que estamos en un equipo con el  sistema operativo cargado y en funcionamiento, y  queremos ejecutar otro programa (el Z). Hacemos doble clic sobre el icono del programa Z  y... ¿qué es lo que ocurre? – –

Se lanza el cargador. El cargador es un proceso del propio sistema  operativo.

U03. Gestión de procesos

22

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

3. Control de interrupciones (2) ●



El cargador prepara el programa Z para ser  ejecutado. La función del cargador es: – – – – –

Crea el PCB. Se le asigna un identificador (PID), una  prioridad base y todos los recursos menos la CPU. Se inserta en la tabla de procesos del sistema. Se carga en memoria virtual. Se cambia el campo de estado del PCB a preparado. Se incluye en la cola de procesos listos para hacer  uso de la CPU.

U03. Gestión de procesos

El proceso que controla  la cola de procesos se llama  planificador.

23

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

4. Planificador ●





El planificador es un componente del sistema  operativo. El planificador se encarga de asignar los recursos  del sistema de manera que se consigan los objetivos  de comportamiento esperados. Los sistemas operativos disponen generalmente de  tres planificadores: – – –

Planificador a largo plazo. Planificador a medio plazo. Planificador a corto plazo.

U03. Gestión de procesos

24

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

4. Planificador (2) ●

El planificador se encarga de decidir qué proceso  pasara a estado ejecución de entre todos los  procesos que estén en estado preparado. PROCESO A PROCESO B

Ahora le toca al proceso  B

PROCESO C

U03. Gestión de procesos

25

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

4. Planificador (3) ●



La elección de un proceso u otro la hace el  planificador siguiendo las directrices de un algoritmo.  El algoritmo se elige atendiendo a aspectos tales  como:  – – – –

La eficacia en el uso del procesador. El rendimiento o numero de procesos completados  por unidad de medida temporal. El tiempo de espera de un proceso. El tiempo de respuesta a un evento.

U03. Gestión de procesos

26

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

4. Planificador y despachador (4) Ejercicios. 1. ¿Qué es el planificador? 2. ¿Cuál es su misión? 3. ¿Cuántos tipos de planificadores tiene un sistema operativo?

U03. Gestión de procesos

27

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

5. Sincronización de procesos ●





Sincronización: mecanismo para impedir que  existan conflictos entre dos o más procesos cuando  se están ejecutando de forma concurrente y acceden  a los mismos recursos. Mediante la sincronización dos o más procesos  concurrentes no podrán utilizar los mismos recursos  en el mismo instante de tiempo. Por esta razón habrá procesos en ejecución y  procesos bloqueados.

U03. Gestión de procesos

28

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación ●



Planificación de procesos: conjunto de  mecanismos del sistema operativo que establecen el  orden en el que se van a ejecutar los procesos, y  permiten cargarlo y descargarlo de la memoria. La planificación de procesos podrá ser distinta para  cada uno de los planificadores: – – –



Planificador a largo plazo. Planificador a medio plazo. Planificador a corto plazo.

El objetivo de la planificación es optimizar el  comportamiento del sistema.

U03. Gestión de procesos

29

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (2) ●

Algunos de los objetivos que se suelen perseguir: – – – – – –



Reparto equitativo del procesador. Eficiencia (optimizar el uso del procesador). Menor tiempo de respuesta en uso interactivo. Menor tiempo de espera en lotes (batch). Mayor número de trabajos por unidad de tiempo  (batch). Cumplir los plazos de ejecución de un sistema de  tiempo real.

Sin embargo, mayoría de estos objetivos son  incompatibles entre sí.

U03. Gestión de procesos

30

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (2) ●

La planificación puede ser con expulsión o sin ella.  –

Sin expulsión (no apropiativa): un proceso conserva  el procesador mientras no solicite del sistema  operativo un servicio que lo bloquee.  ●





Ventaja: minimiza el tiempo que necesita el S.O. para planificar y  activar procesos. Inconveniente: un proceso puede monopolizar el procesador (por  ejemplo, un bucle infinito).

Con expulsión (apropiativa): el sistema operativo  puede expulsar a un proceso del estado de ejecución  aunque éste no lo solicite. ● ●

Ventaja: permite controlar el tiempo que está en ejecución un proceso. Inconveniente: requiere que el S.O. entre de forma sistemática a  ejecutar para así poder comprobar si el proceso ha superado su límite  de tiempo de ejecución.

U03. Gestión de procesos

31

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (2) FIFO o FCFS ●







FIFO (First­In, First­Out) o FCFS (First­Come, First­ Served) es el algoritmo de planificación más simple. Cuando un proceso está listo para ejecutarse, pasa  a la cola de listos. Y cuando el proceso que estaba ejecutándose  termina, se selecciona el proceso más antiguo de la  cola (el que llegó primero). Es decir, el primero que llega es el primero que será  atendido. El resto esperarán por orden de llegada en  una cola.

U03. Gestión de procesos

32

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (2) FIFO o FCFS ●

Ejemplo:

T. Espera T. Retorno

– –

T.Espera = (0+1+5+7+10)/5 = 4,6 T.Retorno = (3+7+9+12+12)/5 = 8,6

U03. Gestión de procesos

     T. retorno = T. espera + T. servicio

A

0

3

B

1

7

C

5

9

D

7

12

E

10

12

33

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (3) Cíclica o round robin ●







Diseñado para hacer un reparto equitativo del  tiempo del procesador → está especialmente  destinado a los sistemas de tiempo compartido. El algoritmo se basa en el concepto de cuanto de  tiempo (quantum) o rodaja de tiempo (slot). Los procesos están organizados en forma de cola  circular, eligiéndose para su ejecución el proceso  cabecera de la cola. Un proceso permanecerá en ejecución hasta que  ocurra una de las dos condiciones siguientes:

El proceso pasa a estado de bloqueado. – El proceso consume su quantum. U03. Gestión de procesos –

34

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (4) Cíclica o round robin ●

Ejemplo:

T. Espera T. Retorno

– –

T.Espera = (1+10+9+9+5)/5 = 6,8 T.Retorno = (4+16+13+14+7)/5 = 10,8

U03. Gestión de procesos

A

1

4

B

10

16

C

9

13

D

9

14

E

5

7

35

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (5) SPN o SJF ●







Se selecciona el proceso al que se le supone un  menor tiempo de ejecución. Los procesos cortos se ejecutan antes que los largos  aunque llegaran después a la cola. El mayor problema de diseño que plantea es  conocer (estimar) el tiempo que va a necesitar cada  proceso. A nivel de funcionamiento, se penaliza a los  procesos largos que pueden tardar mucho en  ejecutarse.

U03. Gestión de procesos

36

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (5) SPN o SJF ●

Ejemplo:

T. Espera T. Retorno

– –

T.Espera = (0+1+7+9+1)/5 = 3,6 T.Retorno = (3+7+11+14+3)/5 = 7,6

U03. Gestión de procesos

A

0

3

B

1

7

C

7

11

D

9

14

E

1

3

37

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (6) SRT ●







Consiste en seleccionar en cada momento el  proceso al que le queda menos tiempo de ejecución. Es una versión con expulsión (apropiativa) del  algoritmo SPN. Por lo tanto, cuando se añade un proceso a la cola  de Listos, si le queda un tiempo de ejecución menor  que el que se está ejecutando, lo saca del sistema  para ejecutarse él. El problema de nuevo es la estimación del tiempo de  ejecución de cada proceso.

U03. Gestión de procesos

38

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (6) SRT ●

Ejemplo:

T. Espera T. Retorno

– –

T.Espera = (0+7+0+9+0)/5 = 3,2 T.Retorno = (3+13+4+14+2)/5 = 7,2

U03. Gestión de procesos

A

0

3

B

7

13

C

0

4

D

9

14

E

0

2

39

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (6) ●

La valoración de los algoritmos de planificación se  suele realizar con los siguientes parámetros: –



El tiempo medio de espera: tiempo que espera un  proceso desde que entra al sistema hasta que se le  sirve (tiempo que espera en la cola de listos). El tiempo medio de retorno o servicio: tiempo que  transcurre desde que un proceso empieza a ser  servido hasta que termina su ejecución (es la suma  de los períodos de tiempo utilizados en la espera para  entrar en la memoria, la espera en la cola de  procesos listos, la ejecución en la CPU y la  realización de las E/S).

U03. Gestión de procesos

40

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

6. Algoritmos de planificación (7) Ejercicios. 1. ¿Cuáles son los algoritmos de planificación? 2. ¿En qué consiste cada uno? 3. ¿Cuál es el que peor comportamiento tiene para los procesos  largos? ¿Y para los cortos? 4. ¿Cuál es el que mejor comportamiento tiene para los procesos  cortos? ¿Y para los largos?

U03. Gestión de procesos

41

Andrés Rosique Hernández androsique­[email protected]

Sistemas operativos en entornos mono y multiusuario

Bibliografía ●

Libros: –





Muñoz López, F.J., Benítez Palacios, J.I., Lozano Gutiérrez, A.  Sistemas operativos en entornos monousuario y  multiusuario. McGraw­Hill, 2005. Stallings, W. Sistemas operativos. Principios de diseño e  interioridades. Cuarta edición. Pearson Education, 2001.

Enlaces: –

http://es.wikipedia.org.

U03. Gestión de procesos

42

Related Documents