El modelo de Procesos

Administración de procesos El modelo de Procesos Concepto central dentro de cualquier sistema operativo. operativo. Proceso vs. Programa: Programa:

22 downloads 197 Views 415KB Size

Recommend Stories


Modelo para el mejoramiento de los procesos del Sistema Integrado de Gestión
Modelo para el mejoramiento de los procesos del Sistema Integrado de Gestión Idalí Chumacero Botet Resumen. Este trabajo constituye una investigación

PROCESOS CONTAMINANTES PROCESOS CONTAMINANTES
PROCESOS CONTAMINANTES • Identificación del FOCO DE CONTAMINACIÓN • Comprensión de los procesos de MIGRACION • Programación del CONTROL • Criterios pa

Story Transcript

Administración de procesos

El modelo de Procesos Concepto central dentro de cualquier sistema operativo. operativo.

Proceso vs. Programa: Programa:

Ø Es un archivo o conjunto de archivos que contienen código ejecutable. Generalmente residen en el disco.

Proceso: Ø Es un programa cuando se encuentra en ejecución.

1

Estados de un Proceso Listo

Corriendo

Bloqueado

Estados de un Proceso Listo

Corriendo

Corriendo: Corriendo ØEl procesador lo Bloqueado esta ejecutando. ØEsta haciendo uso del procesador.

2

Estados de un Proceso Listo: Listo

Listo

Corriendo

ØAl terminarse su tiempo de CPU. Bloqueado ØPuede ser ejecutado en cualquier momento.

Estados de un Proceso Listo

Corriendo

Bloqueado

Bloqueado: Bloqueado

ØNo se puede ejecutar. ØEstá a la espera de algún recurso.

3

Estados de un Proceso Listo

Corriendo

El scheduler suspende y ejecuta los procesos de acuerdo al tiempo que llevan en ejecución o en espera. Bloqueado

Estados de un Proceso Listo

Corriendo

Cuando un proceso necesita un recurso ocupado. El scheduler ejecuta un proceso que se encuentre Listo. Bloqueado

4

Estados de un Proceso Listo

Corriendo

Se desocupa el recurso necesario. El proceso pasa a Listo para ser ejecutado

Bloqueado

El concepto de procesos

CREACIÓN DE PROCESOS: 1. Inicialización del sistema 2. Ejecución de una llamada al sistema para crear procesos (ej.: fork, CreateProcess) 3. Solicitud de un usuario para crear procesos 4. Inicio de un trabajo por lotes

5

El concepto de procesos

TERMINACIÓN DE PROCESOS: 1. Norma voluntaria (ej.: cerrar una ventana de windows) 2. Error voluntario (ej.: tratar de compilar un programa que no existe) 3. Error fatal involuntario (ej.: división por cero, llamada a memorias que no existen, etc.) 4. Terminado por otro proceso (ej.: kill, TerminateProcess)

Comunicación entre procesos Almacenamiento compartido: Ø Se designa un espacio de memoria. Ø Los procesos interesados pueden leer y escribir en él. Ø Es el método mas común de comunicación. Ø Se necesita un control muy estricto para evitar problemas de concurrencia.

6

Concurrencia Concepto fundamental en la comunicación entre procesos. Se ocupa de ordenar la forma en que se ocupan y liberan los recursos del sistema. ¿Por que es necesario? ØVeamos un ejemplo sencillo:

Concurrencia - Problemas Ø Cuando un proceso necesita imprimir un archivo, coloca el nombre del archivo en una tabla llamada spooler de impresión. Ø Otro proceso llamado demonio de impresión, lee los nombres, los imprime y los borra de la tabla. Ø Veamos que puede suceder si 2 procesos intentan imprimir simultáneamente:

7

Concurrencia - Problemas 1. El proceso A lee la tabla y ubica la posición 5 como libre. 2. El planificador decide pasar el control al proceso B. 3. El proceso B lee la tabla y ubica la posición 5 como libre. 4. Copia el nombre del archivo en la posición 5. 5. El planificador le devuelve el control a A 6. El proceso A copia su archivo en la posición 5 Este tipo de eventos se llaman sobrescribiendo el archivo de B.

condiciones de carrera o competencia

Concurrencia - Problemas 1. El proceso A lee la tabla y ubica la posición 5 como libre. 2. El planificador decide pasar el control al proceso B. 3. El proceso B lee la tabla y ubica la posición 5 como libre. 4. Copia el nombre del archivo en la posición 5. 5. El planificador le devuelve el control a A 6. El proceso A copia su archivo en la posición 5 sobrescribiendo el archivo de B.

A la tabla se le llama recurso crítico

8

Concurrencia – Definiciones Ø Un recurso crítico es cualquier recurso que puede ser alterado por dos o más procesos al mismo tiempo. Ø Una sección crítica es la porción de código de un proceso que accede a un recurso crítico. Ø El objetivo es prohibir que más de un proceso lea o escriba en un recurso crítico a la vez: buscamos la exclusión mutua.

Concurrencia – Exclusión mutua Para lograr la exclusión mutua se debe asegurar que: 1. Sólo un proceso debe estar en la sección crítica. 2. No se debe asumir nada acerca de la velocidad y el número de procesadores. 3. Un proceso fuera de su sección crítica no puede bloquear a otros procesos. 4. Los procesos no deben esperar indefinidamente para acceder a su sección crítica.

9

Concurrencia – Soluciones Existen diferentes soluciones: Ø Ø Ø Ø Ø Ø

Algoritmo de Variables de Cierre Algoritmo de Alternancia Estricta Algoritmo de Peterson Instrucción Test and Set Lock Deshabilitar interrupciones Semáforos

Práctica de Laboratorio § Estado de procesos

10

Planificación de Procesos

Planificación Cuando más de un proceso está en espera de ser procesado, se debe seleccionar cual va a ser el siguiente en ejecutarse.

Ésta es la tarea del planificador o scheduler

11

Planificación de procesos

Los procesos tienen dos tipos de comportamiento: a) Dedicados al cómputo b) Dedicados a las E/S

Planificación - Criterios Criterios que intenta buscar el planificador: Ø Equidad Ø Eficacia Ø Tiempo de respuesta Ø Rendimiento Ø Tiempo de espera

12

Planificación de procesos

Los algoritmos de planificación se dividen en dos: a) No expropiativos (sin reloj) b) Expropiativos (con reloj)

Planificación - Criterios ¿Cuando es necesario planificar? Listo

Corriendo Bloqueado

Necesaria Por planificación

Decision a tomar

13

Planificación - Criterios ¿Cuando es necesario planificar? El planificador puede Listo seleccionar un proceso y ejecutarlo hasta el final o suspender los procesos ejecutándose para darle tiempo de CPU a otros procesos Listos.

Corriendo Bloqueado

Planificación no-expropiativa

Planificación - Criterios ¿Cuando es necesario planificar? El planificador puede Listo seleccionar un proceso y ejecutarlo hasta el final o suspender los procesos ejecutándose para darle tiempo de CPU a otros procesos Listos.

Corriendo Bloqueado

Planificación expropiativa

14

Planificación - Algoritmos Hay tres categorías de algoritmos de planificación: a) Para sistemas por lotes b) Para sistemas interactivos c) Para sistemas en tiempo real.

Planificación - Algoritmos Sistemas por lotes: No hay usuarios impacientes esperando ante terminales. Por lo general no son expropiativos, o son expropiativos pero con tiempos largos. Características que deben tener: a) rendimiento alto (# trabajos/hora) b) tiempo de retorno bajo (tiempo promedio de ejecución) c) utilización de CPU alta

15

Planificación - Algoritmos FCFS (First Come First Served, primero en llegar primero en ser atendido): Ø No expropiativo Ø Atiende a los procesos por estricto orden de llegada Ø Cada proceso se ejecuta hasta que termina, o hasta que hace una llamada bloqueante (de E/S) Ventaja: Simple Desventaja: No es adecuado para los sistemas de propósito general

Planificación - Algoritmos SJF (Shortest Job First, trabajo más corto primero): Ø No expropiativo. Ø Procesa primero el trabajo que tenga el menor tiempo de CPU primero. Ø El que se ejecuta primero tiene mayor incidencia en el tiempo medio. Ø El último, tiene incidencia nula. Ventaja: El tiempo medio se minimiza. Desventaja: Hay que adivinar el futuro.

16

Planificación - Algoritmos SJF (Shortest Job First):

Planificación - Algoritmos Sistemas interactivos: Es expropiativo para atender más rápido las solicitudes de los usuarios. Características que deben tener: a) Respuesta rápida b) Buena proporcionalidad (tiempo esperado vs. tiempo de cómputo requerido)

17

Planificación - Algoritmos Round Robin: Ø Es expropiativo. Ø Se define una cantidad de tiempo (quantum). Ø Cada proceso está en CPU un quantum. Ø Luego se pasa a la cola de LISTOS. Ø Se debe escoger un quantum adecuado. Ventaja: El tiempo medio se minimiza. Desventaja: Hay que adivinar el futuro.

Planificación - Algoritmos Round Robin:

18

Planificación - Algoritmos Planificación por prioridad: Ø A cada proceso se le asigna una prioridad. Ø La CPU se asigna al proceso con mayor prioridad en la cola LISTOS. Ventaja: Los procesos se comportan de la manera deseable. Desventaja: Se deben definir las prioridades. ¿Que sucede si hay mas de un proceso con la misma prioridad?

Planificación - Algoritmos Planificación por prioridad:

19

Planificación - Algoritmos Múltiples Colas: Ø Se crean varias colas. Ø Cada cola tiene su scheduler. Ø Se necesita un scheduler entre las colas. Ventaja: Se puede calificar a los procesos de acuerdo a su prioridad. Desventaja: Aumenta la complejidad. Es necesario mantener múltiples schedulers

Planificación - Algoritmos Por loteria: Ø

Cada vez que sea necesario tomar una decision de planificacion se escoge al azar un boleto de loteria y el proceso que tiene el boleto obtiene el recurso.

Ø

El sistema puede realizar un sorteo 50 veces por segundo, otorgando al ganador 20 ms de tiempo de CPU.

Ø

Debido a que unos procesos son mas importantes que otros, se les da mas boletos para aumentar sus posibilidades.

Ventaja: Se puede calificar a los procesos de acuerdo a su importancia. Desventaja: Aumenta la complejidad por el diseño e implementación del metodo de sorteo.

20

Planificación - Algoritmos Sistemas en tiempo real: Por lo general no son expropiativos ya que son procesos pequeños diseñados para cumplir tareas específicas en tiempos cortos. Características que deben tener: a) Cumplir los plazos b) Buena predecibilidad

Planificación - Algoritmos Según el tiempo de respuesta se dividen en: ØSTR duros: Es aquel sistema en el que el incumplimiento de alguno de los requerimientos de tiempo de respuesta del sistema compromete su seguridad (el hardware del sistema) tiene que cumplir estrictamente el intervalo de control, si no lo hace entonces el sistema esta fallando. ØSTR blando: El incumplimiento de algunos de los requerimientos de tiempo de respuesta al sistema conducen al degradamiento de su funcionamiento

21

Planificación - Algoritmos Planificación en dos niveles: Ø Todos los procesos no pueden residir en memoria. Ø Algunos deben estar en algún almacenamiento secundario (el disco). Ø Se necesita seleccionar que procesos subirán a memoria y cuales bajarán al disco.

Planificación - Algoritmos Planificación en dos niveles: Procesos en la memoria Principal AB CD

EF GH

BC FG

EF GH

AB CD

AD EH

(a)

(b)

(c)

Procesos en Disco

22

Práctica Ejemplo 5 Procesos llegan a un Sistema de procesamiento por Lotes: Proceso A

Tpo. Tpo. de CPU 10 m.

Prioridad 3

B

6 m.

5

C

2 m.

2

D

4 m.

1

E

8 m.

4

Práctica Ejemplo Tarea: Se debe ejecutar la planificación completa de los procesos para los siguientes algoritmos: 1. Round Robin 2. Planificación por prioridad 3. FCFS (First Come, First Served) 4. SJF (Shortest Job First)

23

Round Robin Para este algoritmo se debe suponer un quantum de 1 minuto de CPU. Vuelta Proceso

1

2

A

1

6

B

2

7

C

3

8

D

4

9

E

5

3

4

5

6

7

8

9

10

11 15 19 22

25

27

29

30

12 16 20 23

F

28

F

F 13 17

F

10 14 18 21 24

26

Round Robin Resultados: Ø Ø Ø Ø Ø

Total Total Total Total Total

Proceso Proceso Proceso Proceso Proceso

A: B: C: D: E:

Promedio Total:

24

Round Robin Resultados: Ø Ø Ø Ø Ø

Total Total Total Total Total

Proceso Proceso Proceso Proceso Proceso

A: B: C: D: E:

30 23 8 17 28

Promedio Total: 21.2

Por Prioridad El orden de ejecución de los procesos debe seguir el orden de prioridades: 1. Proceso B (5) 2. Proceso E (4) 3. Proceso A (3) 4. Proceso C (2) 5. Proceso D (1)

25

Por Prioridad Resultados: Ø Total Proceso Ø Total Proceso Ø Total Proceso Ø Total Proceso Ø Total Proceso

B: E: 6+ 8 A:14+10 C:24+ 2 D:26+ 4

6 14 24 26 30

Promedio Total: 20

FCFS Primero en llegar primero en ser atendido Este algoritmo procesa primero al primero en llegar. El orden es entonces: 1. Proceso A 2. Proceso B 3. Proceso C 4. Proceso D 5. Proceso E

26

FCFS Primero en llegar primero en ser atendido Resultados: Ø Ø Ø Ø Ø

Total Total Total Total Total

Proceso Proceso Proceso Proceso Proceso

A: B: C: D: E:

10+6 16+2 18+4 22+8

10 16 18 22 30

Promedio Total: 19.2

SJF Primero el trabajo más corto Este algoritmo procesa primero proceso cuyo tiempo de ejecución sea menor: 1. Proceso 2. Proceso 3. Proceso 4. Proceso 5. Proceso

C (2) D (4) B (6) E (8) A (10)

27

SJF Primero el trabajo más corto Resultados: Ø Ø Ø Ø Ø

Total Total Total Total Total

Proceso Proceso Proceso Proceso Proceso

C: D: B: E: A:

2+ 4 6+ 6 12+ 8 20+10

2 6 12 20 30

Promedio Total: 14

Resumen Resultados: Ø Ø Ø Ø

Round Robin: Por Prioridad: FCFS: SJF:

21.2 20 19.2 14

28

Preguntas

Práctica de Laboratorio § Planificación de procesos

29

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.