• No se han encontrado resultados

Administració ó n de n de procesos

N/A
N/A
Protected

Academic year: 2022

Share "Administració ó n de n de procesos"

Copied!
29
0
0

Texto completo

(1)

Administraci

Administració ó n de n de procesos

procesos

El modelo de Procesos

Concepto

Concepto central dentro de cualquier sistemacentral 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

(2)

Estados de un Proceso

Bloqueado

Listo Corriendo

Estados de un Proceso

Corriendo

Corriendo Corriendo:

ØEl procesador lo esta ejecutando.

ØEsta haciendo uso del

procesador.

Bloqueado

Listo

(3)

Listo Listo:

ØAl terminarse su tiempo de CPU.

ØPuede ser ejecutado en cualquier momento.

Estados de un Proceso

Bloqueado

Listo Corriendo

Bloqueado Bloqueado:

ØNo se puede ejecutar.

Estados de un Proceso

Bloqueado

Listo Corriendo

(4)

Estados de un Proceso

Bloqueado

Listo Corriendo

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

Estados de un Proceso

Bloqueado

Listo Corriendo

Cuando un proceso necesita un recurso ocupado.

El scheduler ejecuta un proceso que se

encuentre Listo.

(5)

Estados de un Proceso

Bloqueado

Listo Corriendo

Se desocupa el recurso necesario.

El proceso pasa a Listo para ser ejecutado

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

El concepto de procesos

El concepto de procesos

(6)

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)

El concepto de procesos El concepto de procesos

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.

(7)

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:

(8)

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.

Este tipo de eventos se llaman

condiciones de carrera o competencia

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.

Concurrencia - Problemas

A la tabla se le llama recurso crítico

(9)

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.

(10)

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á Pr áctica de Laboratorio ctica de Laboratorio

§ Estado de procesos

(11)

Planificaci

Planificació ón de n de Procesos

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

(12)

Planificaci

Planificació ón de procesos 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

(13)

Planificaci

Planificació ón de procesos 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?

Bloqueado

Listo Corriendo

Necesaria Decision a tomar Por planificación

(14)

Planificación - Criterios

¿Cuando es necesario planificar?

Bloqueado

Listo Corriendo

El planificador puede seleccionar un proceso y ejecutarlo hasta el final o suspender los procesos

ejecutándose para darle tiempo de CPU a otros procesos Listos.

Planificación no-expropiativa

Planificación - Criterios

¿Cuando es necesario planificar?

Bloqueado

Listo Corriendo

El planificador puede seleccionar un proceso y ejecutarlo hasta el final o suspender los procesos

ejecutándose para darle tiempo de CPU a otros procesos Listos.

Planificación expropiativa

(15)

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

(16)

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.

(17)

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)

(18)

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:

(19)

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 :

(20)

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.

(21)

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

(22)

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:

A B

C D E F

G H

B C F G

G HE F A B

C D A D

E H Procesos en la memoria Principal

Procesos en Disco

(a) (b) (c)

(23)

Práctica Ejemplo

5 Procesos llegan a un Sistema de procesamiento por Lotes:

4 8 m.

E

1 4 m.

D

2 2 m.

C

5 6 m.

B

3 10 m.

A

Prioridad Prioridad TpoTpo. de CPU. de CPU

Proceso Proceso

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)

(24)

Round Robin

Para este algoritmo se debe suponer un quantum de 1 minuto de CPU.

E D C B A

10 9 8 7 6 5 4 3 2

Vuelta 1

Proceso

5 4 3 2 1

10 9 8 7 6

14 13 FF 12 11

18 17 16 15

21 F F 20 19

24 23 22

26 F F 25

28 27

F F 29 30

Round Robin

Resultados:

Ø Total Proceso A:

Ø Total Proceso B:

Ø Total Proceso C:

Ø Total Proceso D:

Ø Total Proceso E:

Promedio Total:

(25)

Round Robin

Resultados:

Ø Total Proceso A: 30 Ø Total Proceso B: 23 Ø Total Proceso C: 8 Ø Total Proceso D: 17 Ø Total Proceso E: 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)

(26)

Por Prioridad

Resultados:

Ø Total Proceso B: 6 Ø Total Proceso E: 6+ 8 14 Ø Total Proceso A:14+10 24 Ø Total Proceso C:24+ 2 26 Ø Total Proceso D:26+ 4 30 Promedio Total: 20

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

FCFS Primero en llegar primero en

ser atendido

(27)

FCFS Primero en llegar primero en ser atendido

Resultados:

Ø Total Proceso A: 10

Ø Total Proceso B: 10+6 16 Ø Total Proceso C: 16+2 18 Ø Total Proceso D: 18+4 22 Ø Total Proceso E: 22+8 30 Promedio Total: 19.2

Este algoritmo procesa primero proceso cuyo tiempo de ejecución sea menor:

1. Proceso C (2) 2. Proceso D (4) 3. Proceso B (6) 4. Proceso E (8) 5. Proceso A (10)

SJF Primero el trabajo más corto

(28)

SJF Primero el trabajo más corto

Resultados:

Ø Total Proceso C: 2

Ø Total Proceso D: 2+ 4 6 Ø Total Proceso B: 6+ 6 12 Ø Total Proceso E: 12+ 8 20 Ø Total Proceso A: 20+10 30 Promedio Total: 14

Resumen

Resultados:

Ø Round Robin: 21.2 Ø Por Prioridad: 20

Ø FCFS: 19.2

Ø SJF: 14

(29)

Preguntas Preguntas

Prá Pr áctica de Laboratorio ctica de Laboratorio

§ Planificación de procesos

Referencias

Documento similar

Un método de estudio aparte de ser una herramienta muy útil al momento de estudiar también nos ayuda a agilizar nuestra mente y tener una buena memoria para futuro?. Palabras

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

SEGUNDO.— En la demanda rectora del presente procedimiento se pretende en síntesis que se compute en la base reguladora de la prestación de jubilación los periodos consignados

95 Los derechos de la personalidad siempre han estado en la mesa de debate, por la naturaleza de éstos. A este respecto se dice que “el hecho de ser catalogados como bienes de