34
Universidad Veracruzana Procesos Ricardo Carrera Hernández

4. procesos

Embed Size (px)

DESCRIPTION

Procesos en un sistema operativo.

Citation preview

Page 1: 4. procesos

UniversidadVeracruzanaProcesos

Ricardo Carrera Hernández

Page 2: 4. procesos

UniversidadVeracruzana

2

Conceptualmente, cada proceso tiene su propia CPU

En la realidad, la CPU conmuta de un proceso a otro

Este modelo se le conoce como multiprogramación

Page 3: 4. procesos

UniversidadVeracruzana

3

A

B

C

D

Conmutación de proceso

Un contador de programa

A B C D

Cuatro contadores de programa

A

B

CD

Tiempo

(a) (b) (c)

(a) Multiprogramación de cuatro programas. (b) Modelo conceptual de cuatro procesos secuenciales independientes. (c) Sólo hay un programa activo a la vez

Page 4: 4. procesos

UniversidadVeracruzana

4

Proceso

EstadoEntrada SalidaPrograma

Page 5: 4. procesos

UniversidadVeracruzana

5

Creación de un proceso

1. El arranque del sistema

2. La ejecución, desde un proceso, de una llamada

al sistema para creación de procesos

3. Una petición de usuario para crear un proceso

4. El inicio de un trabajo por lotes

¡Feliz cumpleaños

proceso!

Page 6: 4. procesos

UniversidadVeracruzana

6

Terminación de un proceso

1. Salida normal (voluntaria)

2. Salida por error (voluntaria)

3. Error fatal (involuntaria)

4. Eliminado por otro proceso (involuntaria)

¡Goodbye!

Page 7: 4. procesos

UniversidadVeracruzana

7

Estados de un proceso

En ejecución

Listo Bloqueado

DespacharBloqueado

Despertar

Expiración de tiempo

DormidoDespierto

Despierto

eeeh… mamá está

en estado…

Page 8: 4. procesos

UniversidadVeracruzana

8

Transiciones de estado de los procesos

Paso de un proceso de un estado a otro

Despacho es la asignación del CPU al primer proceso de la lista de listo, actividad realizada por el Despachador

despachar(nombre_del_proceso): listo en_ejecución

Page 9: 4. procesos

UniversidadVeracruzana

9

Para evitar que un proceso monopolice al CPU, el Sistema Operativo utiliza un

reloj de interrupción

Establece el tiempo de uso del CPU, si se agota, se le retira al proceso devolviendo el control al Sistema Operativo

El Sistema Operativo asignará la CPU al proceso que se en encuentre al principio

de la lista de Listos

Page 10: 4. procesos

UniversidadVeracruzana

10

despachar(nombre_del_proceso): listo en_ejecución

Tiempo_expirado(nombre_del_proceso): en_ejecución listo

Transiciones de estado presentes

¡yo si me lo despacho!

Page 11: 4. procesos

UniversidadVeracruzana

11

Si un proceso inicia una operación de E/S, libera voluntariamente al CPU, el proceso se bloquea a si mismo

bloquear(nombre_del_proceso): en_ejecución bloqueado

Cuando se completa la operación de E/S, el proceso pasa de bloqueado a listo

despertar(nombre_del_proceso): bloqueado listo

Page 12: 4. procesos

UniversidadVeracruzana

12

despachar(nombre_del_proceso): listo en_ejecución

tiempo_expirado(nombre_del_proceso): en_ejecución listo

bloquear(nombre_del_proceso): en_ejecución bloqueado

despertar(nombre_del_proceso): bloqueado listo

Cuatro posibles transiciones

Page 13: 4. procesos

UniversidadVeracruzana

13

Investigación por parejas

Imprimir o fotocopiar las hojas correspondientes a los estados de los procesos de los libros de:1. Stallings2. Silbertschatz3. Carretero4. Tanenbaum

Subraya las palabras clave y escribe un artículo de al menos 10 cuartillas dónde describas con tus palabras los modelos de los cuatro autores. Debes incluir los diagramas necesarios para tus explicaciones. Se expondrá en clase el artículo escrito.

Page 14: 4. procesos

UniversidadVeracruzana

14

El PCB. Process Control Block

Estado actual del proceso

Identificador único de proceso

Apuntador al padre del proceso

Apuntadores a los hijos del proceso

Prioridad del proceso

Apuntadores a zonas de memoria

del procesoApuntadores a

recursos asignados al proceso

Área de salvaguarda de los

registros

El procesador en que se está ejecutando

el proceso

… es que a veces soy olvidadizo…

Page 15: 4. procesos

UniversidadVeracruzana

15

Investigación por parejas

¿Cuál es el papel del Núcleo (Kernel) en un Sistema Operativo referente a los

procesos?

Escribir el artículo de al menos 3 cuartillas y entregarlo impreso. Se presentará en

clase en un tiempo máximo de diez minutos.

Page 16: 4. procesos

UniversidadVeracruzana

16

Procesos ligeros

A los procesos ligeros se les conoce como hilos o threads.

Son objetos dinámicos dónde se ejecutan secuencias de instrucciones y

comparten entre sí recursos del proceso como el espacio de direcciones.

Herramienta para trabajar en una arquitectura multiprocesador.

El proceso se convierte en una entidad compuesta por recursos y

por hilos.

Page 17: 4. procesos

UniversidadVeracruzana

17

Investigación

¿Qué son los hilos del núcleo?

Individual. Al menos una cuartilla.

Page 18: 4. procesos

UniversidadVeracruzana

18

Procesos ligeros

Un proceso ligero es un hilo del usuario sostenido por el núcleo.

Un proceso se compone de varios procesos ligeros, cada

uno apoyado en un hilo del núcleo.

Son visibles para el núcleo y éste se encarga de despacharlos y

alojarlos en procesadores libres.

De esta forma, se traduce la concurrencia de una aplicación en paralelismo

real.

Page 19: 4. procesos

UniversidadVeracruzana

19

Hilos

Proceso dentro de proceso

¿Razón para tener estos miniprocesos?

En muchas aplicaciones se desarrollan varias actividades a la vez

En vez de pensar en interrupciones, temporizadores y

conmutaciones de contexto, pensemos en procesos

paralelos

No es greña…

son finos

hilos…

Los hilos son útiles en sistemas con varios CPU, donde es

posible el verdadero paralelismo

Page 20: 4. procesos

UniversidadVeracruzana

20

Investigación

Qué es la concurrencia Qué es el paralelismo Diferencias entre concurrencia y paralelismo

o Individual.o Al menos una cuartilla.

Page 21: 4. procesos

UniversidadVeracruzana

21

Tipos de procesos

Procesos largos

Aquellos que por mucho tiempo han estado listos o en ejecución.

Procesos cortos

Aquellos que, ya sea que en este momento estén en una ráfaga limitada por E/S y requieran atención ocasional del procesador, o tienden a estar bloqueados esperando a eventos.

Page 22: 4. procesos

UniversidadVeracruzana

22

Nuevo

ejecución

Terminado

Bloqueado

Listo

Admitir

Activar ejecución

Tiempo terminado

Ocurrió evento

Esperar evento

Page 23: 4. procesos

UniversidadVeracruzana

23

Planificación

Page 24: 4. procesos

UniversidadVeracruzana

24

Planificación de procesos

Es la manera en que el Sistema Operativo determina el orden de asignación de uso del procesador a los procesos que lo vayan solicitando.

Aplica políticas de uso para que el tiempo de asignación no sea excesivo respecto al uso esperado del sistema.

Page 25: 4. procesos

UniversidadVeracruzana

25

Page 26: 4. procesos

UniversidadVeracruzana

26

Tareas pendientes

T1 T2 T3 … Tn

Procesos activos

P1

P2

P3

Pn…

Planificador a largo plazo

Page 27: 4. procesos

UniversidadVeracruzana

27

Procesos en intercambio (swap)

Cola de procesos listos

Cola de entrada/salida

CPU

E/S

Planificador a mediano plazo, o agendador

Regreso de intercambio

Envío a intercambio

Solicitud de E/S

E/S completada

Inicio

Fin

Page 28: 4. procesos

UniversidadVeracruzana

28

Cola de procesos listos

P5 P4 P3 P2 P1

Despachador

CPU

Planificador a corto plazo, o despachador

Page 29: 4. procesos

UniversidadVeracruzana

29

Planificador a largo plazo

Se encarga de admitir un nuevo proceso: transición de Nuevo a Listo.

Planificador a mediano plazo

Maneja la activación y bloqueo de un proceso relacionado con eventos. Transiciones entre En ejecución y bloqueado y entre Bloqueado a Listo.

Planificador a corto plazo

Decide entre los procesos que están listos para ejecutarse y determina cuál de ellos activar. Detiene aquellos que exceden su tiempo de procesador.

Page 30: 4. procesos

UniversidadVeracruzana

30Objetivos de la planificación

Ser justo Debe tratarse de igual manera a todos los procesos que compartan características y nunca postergar indefinidamente a uno de ellos.

Maximizar el

rendimiento

Dar servicio a la mayor parte de procesos por unidad de tiempo.

Ser predecible

Un mismo trabajo debe tomar aproximadamente la misma cantidad de tiempo en completarse independientemente de la carga del sistema.

Minimizar la

sobrecarga

El tiempo que el algoritmo pierda en burocracia debe mantenerse al mínimo, dado que éste es tiempo de procesamiento útil perdido.

Equilibrar el uso de recursos

Favorecer a los procesos que empleen recursos subutilizados, penalizar a los que peleen por un recurso sobreutilizado causando contención en el sistema.

Page 31: 4. procesos

UniversidadVeracruzana

31Objetivos de la planificación

Evitar la postergación

indefinida

Aumentar la prioridad de los procesos más viejos, para favorecer que alcancen a obtener algún recurso por el cual estén esperando.

Favorecer el uso

esperado del sistema

En un sistema con usuarios interactivos, maximizar la prioridad de los procesos que sirvan a solicitudes iniciadas por éste (aún a cambio de penalizar a los procesos de sistema).

Dar preferencia a los procesos que podrían

causar bloqueo

Si un proceso de baja prioridad está empleando un recurso del sistema por el cual más procesos están esperando, favorecer que éste termine de emplearlo más rápido.

Favorecer a los procesos con un comportamiento

estable

Si un proceso causa muchas demoras, se le puede penalizar porque degrada el rendimiento global del sistema.

Degradarse suavemente

Si bien el nivel ideal de utilización del procesador es al 100%, es imposible mantenerse siempre a este nivel. Un algoritmo puede buscar responder con la menor penalización a los procesos preexistentes al momento de exceder este umbral.

Page 32: 4. procesos

UniversidadVeracruzana

32

Investigación

jajajajajajajajajajajajajajajajajajajaja

Page 33: 4. procesos

UniversidadVeracruzana

33

1. Medida de la respuesta de procesos.

2. Algoritmos de planificación de procesos

1. Primero en llegar, primero en ser

atendido (FCFS)

2. Ronda (Round Robin)

3. El proceso más corto a continuación

(SPN)

4. Ronda egoísta (SRR)

5. Retroalimentación multinivel (FB)

6. Lotería

Page 34: 4. procesos

UniversidadVeracruzana

34

Adios!!